Documente Academic
Documente Profesional
Documente Cultură
NDICE
1. Introduccin 2. La neurona y la sinapsis 3. El modelo de McCulloch-Pitts 4. Desarrollo histrico de las redes neuronales 5. El Perceptrn: 5.1 Estructura 5.2 Funcionamiento 5.3 Mecanismo de variacin de los pesos 6. Conclusiones 7. Aplicaciones al control automtico 8. Bibliografa
1. Introduccin
De la prehistoria al futuro que tal vez Babbage nunca so. El desarrollo de mquinas que puedan imitar la capacidad de aprendizaje del hombre es actualmente un desafo en el que pone sus miras buena parte de la comunidad cientfica. Con esta amplia Introduccin a las redes neuronales, pretendemos dar a conocer los elementos bsicos de lo que comnmente se denomina Inteligencia Artificial, para as comprender de qu modo pueden llegar a pensar y aprender las mquinas. El hombre se ha caracterizado siempre por una bsqueda constante de nuevas vas para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir el trabajo en aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la construccin de mquinas calculadoras que ayuden a resolver de forma automtica y rpida determinadas operaciones que resultan tediosas cuando se realizan a mano. Uno de los primeros en acometer esta empresa fue Charles Babbage, quien trat infructuosamente de construir una mquina capaz de resolver problemas matemticos. Posteriormente otros tantos intentaron construir mquinas similares, pero no fue hasta la Segunda Guerra Mundial, cuando ya se dispona de instrumentos electrnicos, que se empezaron a recoger los primeros frutos. En 1946 se construy la primera computadora electrnica, ENIAC. Desde entonces los desarrollos en este campo han tenido un auge espectacular. Estas mquinas permiten implementar fcilmente algoritmos para resolver multitud de problemas que antes resultaban engorrosos de resolver. Sin embargo, se observa una limitacin importante: qu ocurre cuando el problema que se quiere resolver no admite un tratamiento algortmico, como es el caso, por ejemplo, de la clasificacin de objetos por rasgos comunes?. Este ejemplo demuestra que la construccin de nuevas mquinas ms verstiles requiere un enfoque del problema desde otro punto de vista. Los desarrollos actuales de los cientficos se dirigen al estudio de las capacidades humanas como una fuente de nuevas ideas para el diseo de las nuevas mquinas. As, la inteligencia artificial es un intento por descubrir y describir aspectos de la inteligencia humana que pueden ser simulados mediante mquinas. Esta disciplina se ha desarrollado fuertemente en los ltimos aos teniendo aplicacin en algunos campos como visin artificial, demostracin de teoremas, procesamiento de informacin expresada mediante lenguajes humanos... etc. Una Red Neuronal es el resultado de los intentos por reproducir mediante computadoras el funcionamiento del cerebro humano. El cerebro est compuesto por miles de millones de neuronas, interconectadas de
forma variable y compleja. Su peculiar forma de trabajo le convierte en el dispositivo ms eficaz para procesar informacin del mundo real. Cada neurona recibe impulsos procedentes de otras neuronas, que procesa individualmente dndole un peso determinado. Despus transmite la seal resultante a otras neuronas, siguiendo una configuracin variable para cada caso. Las redes neuronales tratan de simular este proceso en un equipo computacional. El papel de las neuronas es tomado por los nodos, que son pequeas unidades inteligentes con capacidad de almacenar y procesar seales. Al igual que las neuronas en el cerebro humano, cada nodo recibe unas seales que proceden del exterior de la red o de otros nodos, las procesa dando distinto peso a cada una y genera una nica seal de salida que se transmite a otros nodos. Desde el punto de vista prctico, un nodo debe poseer los medios para almacenar seales y procesarlas segn pesos o funciones. Por lo mismo, los nodos deben ser circuitos electrnicos, computadoras o fragmentos de programas. Para simplificar el diseo de las redes, los especialistas realizan topologas sencillas de distribucin de nodos, disponindolos en capas sucesivas. Una de las ms utilizadas, sita los nodos en tres niveles (entrada, intermedio, salida) en los que cada nodo acta con las seales de la misma forma. La topologa es sencilla de llevar a la prctica (mediante un programa) y produce redes neuronales que aprenden por s mismas. En los inicios de la revolucin tecnolgica, cuando se queran obtener diferentes seales de salida de un sistema, dependiendo de los tipos y niveles de estmulo presentes en su entrada, era necesario dotarle de una relacin matemtica entre dichas entradas y salidas. Con la aparicin de las redes neuronales, el sistema se autorregula, deduciendo los pesos que debe de dar a las distintas seales y la forma de conectar los nodos. Tras esta regulacin, puede trabajar en situaciones para las que an no se hayan establecido reglas de funcionamiento. Una red neuronal nueva establece las conexiones de cada nodo de forma convencional. Su proceso de aprendizaje empieza al darle una pareja de datos de entrada y salida. La red va haciendo pruebas mediante la determinacin de los pasos ms convenientes y de las conexiones entre nodos ms adecuadas. Al cabo de varios intentos, repetidos con varias parejas de datos de entrada y salida conocidos, el sistema est ya
educado, es decir, en condiciones de trabajar; la informacin que almacena una red se halla dispersa por todos sus nodos, lo que le confiere caractersticas distintas a las de una computadora convencional y le hace menos propensa a fallos. Es fcil suponer que una de las primeras aplicaciones es la simulacin del cerebro humano y sus cientos de miles de millones de neuronas. Hasta la fecha slo se ha logrado simular unas 10,000, lo que no esta mal, pero qued lejos del rgano original. En esas simulaciones se han empleado grandes computadoras, que han necesitado horas para repetir procesos que el cerebro realiza en segundos. Se sigue intentando desarrollar un modelo donde experimentar los efectos de nuevas medicinas, el comportamiento ante estmulos, etc. En el campo tecnolgico las aplicaciones se refieren, sobre todo, a situaciones donde hay que tratar datos difusos, desarrollar modelos o pronosticar situaciones complejas. Se conocen cinco aplicaciones tecnolgicas aplicadas:
Reconocimiento de textos manuscritos Reconocimiento del habla Simulacin de centrales de produccin de energa Deteccin de explosivos Identificacin de blancos de radares
Las redes neuronales son otra forma de emular otra de las caractersticas propias de los humanos: la capacidad de memorizar y asociar hechos. Si examinamos con atencin aquellos problemas que no pueden expresarse a travs de un algoritmo nos daremos cuenta de que todos ellos tienen una caracterstica comn: la experiencia. El hombre es capaz de resolver estas situaciones acudiendo a la experiencia acumulada. As, parece claro que una forma de aproximarse al problema consista en la construccin de sistemas que sean capaces de reproducir esta caracterstica humana. En definitiva, las redes neuronales no son ms que un modelo artificial y simplificado del cerebro humano, que es el ejemplo ms perfecto del que disponemos de sistema que es capaz de adquirir conocimiento a travs de la experiencia. Una red neuronal es un nuevo sistema para el tratamiento de la informacin cuya unidad bsica
de procesamiento est inspirada en la clula fundamental del sistema nervioso humano, la neurona.
2. La neurona y la sinapsis
El cerebro humano contiene aproximadamente 12 billones de clulas nerviosas o neuronas. Cada neurona tiene de 5.600 a 60.000 conexiones dendrticas provenientes de otras neuronas (figura 1). Estas conexiones transportan los impulsos enviados desde otras neuronas y estn conectadas a la membrana de la neurona. Cada neurona tiene una salida denominada axn. El contacto de cada axn con una dendrita se realiza a travs de la sinapsis. Tanto el axn como las dendritas transmiten la seal en una nica direccin. La sinapsis (figura 2) consta de un extremo presinptico de un axn conectado a un extremo postsinptico de una dendrita, existiendo normalmente entre stos un espacio denominado espacio sinptico.
Figura 1
Figura 2
Las neuronas son elctricamente activas e interactan entre ellas mediante un flujo de corrientes elctricas locales. Estas corrientes se deben a diferencias de potencial entre las membranas celulares de las neuronas. Un impulso nervioso es un cambio de voltaje que ocurre en una zona localizada de la membrana celular. El impulso se transmite a travs del axn hasta llegar a la sinapsis, produciendo la liberacin de una sustancia qumica denominada neurotransmisor que se esparce por el fluido existente en el espacio sinptico. Cuando este fluido alcanza el otro extremo transmite la seal a la dendrita. Los impulsos recibidos desde la sinapsis se suman o restan a la magnitud de las variaciones del potencial de la membrana. Si las contribuciones totales alcanzan un valor determinado (alrededor de 10 milivoltios) se disparan uno o ms impulsos que se propagarn a lo largo del axn. Aunque todava no est del todo claro, parece que este impulso se inicia en la conexin entre el axn y la membrana. Su amplitud y velocidad dependen del dimetro del axn y su frecuencia del nmero de disparos que se efecten. Las redes neuronales artificiales basan su funcionamiento en las redes neuronales reales, estando formadas por un conjunto de unidades de procesamiento conectadas entre s. Por analoga con el cerebro humano se denomina neurona a cada una de estas unidades de procesamiento. Cada neurona recibe muchas seales de entrada y enva una nica seal de salida (como ocurre en las neuronas reales).
3. El modelo de McCulloch-Pitts
Uno de los primeros modelos matemticos de una neurona fue el propuesto por McCulloch y Pitts en 1943 y es en el que se basan las redes neuronales actuales. En este modelo (figura 3) cada neurona consta de un conjunto de entradas, Si, y una sola salida Sj. Cada entrada i est afectada por un coeficiente que se denomina peso y que se representa por la letra wij (grficamente suele representarse como una media luna).
Figura 3
El subndice i refleja que el peso afecta a la entrada i, y el subndice j que se trata de la neurona j. La cantidad calculada como la suma del producto de cada entrada multiplicada por su respectivo peso se denomina activacin de la neurona, xj. La salida, Sj, de la neurona es una funcin de la activacin de sta. Es decir: xj = Sum Si wij + Qj i Sj = f(xj) donde el trmino Qj es un valor umbral, y f(xj) es una funcin de la activacin de la neurona.
Por ejemplo, en una de las primeras arquitecturas neuronales, el Perceptrn, se utiliza la siguiente funcin de salida: Sj = 0 si xj < h Sj = 1 si xj >= h donde la constante h se denomina umbral. Esta es una funcin de salida de tipo binaria, y existen otras de tipo lineal puro, lineal con umbral, y sigmoidea, entre otras. En este modelo tan sencillo puede verse que la activacin de la neurona depende del valor que tomen los pesos y las entradas, de forma que la variacin de stos origina distintas salidas para la misma entrada a la neurona. En la prctica, los pesos de las neuronas se modifican sometiendo a la red a un entrenamiento, permitiendo que la red realice una funcin determinada. Esta es la caracterstica que diferencia a una red neuronal de una mquina algortmica clsica: una red neuronal no se programa, se educa. La red es capaz de retener y asociar el conocimiento a travs de la adaptacin de los pesos de las neuronas siguiendo una regla de aprendizaje. Estas reglas son ecuaciones expresadas en funcin de las entradas y salidas de las neuronas y describen la forma de variacin de los pesos. En definitiva, son el instrumento empleado por las neuronas para adaptarse a la informacin que se le presenta. El aprendizaje de una red se puede producir de tres formas:
Una de las primeras reglas de aprendizaje fue propuesta por Donald Hebb en 1949, y se basa en un hecho biolgico constatado: cuando dos neuronas se activan simultneamente su conexin se refuerza. Esta idea se expresa matemticamente como: dwij
---- = alpha Si xj dt
La era moderna de las redes neuronales artificiales surge con la tcnica de aprendizaje de propagacin hacia atrs o Back Propagation. La estructura de las redes citadas anteriormente (Perceptrn, Adaline y Madaline) consta de dos capas: una capa primera formada por unidades que dejan pasar la entrada y que no tienen aprendizaje, y una segunda capa formada por una o varias neuronas en el caso del Madaline. La contribucin de Minsky y Papert fue la de demostrar que una red del tipo Perceptrn no es capaz de aprender todas las posibles combinaciones entre entradas y salidas. La solucin del problema consiste en aadir capas intermedias de neuronas, introduciendo de esta forma el problema de cmo ensear a estas capas intermedias. Aqu es donde tiene importancia el algoritmo de propagacin hacia atrs. En ste se compara la salida real con la salida deseada. La diferencia entre ambas constituye un error que se propaga hacia atrs desde la capa de salida hasta la de entrada permitiendo as la adaptacin de los pesos de las neuronas intermedias mediante una regla de aprendizaje Delta. Sin embargo, tambin tiene sus limitaciones. Posteriormente se han desarrollado otros modelos que permiten un aprendizaje no supervisado como el mapa auto-organizativo de Kohonen, los basados en la Teora de Resonancia Adaptativa (ART) de Grossberg y Carpenter, o los modelos de control motor de Bullock, Gaudiano y Grossberg, entre otros.
5. El Perceptrn
A continuacin se mostrar el funcionamiento de una de las redes neuronales clsicas, el Perceptrn de Rosenblatt. Su importancia es ms bien histrica puesto que las limitaciones que presenta hacen que en la actualidad no se emplee en aplicaciones prcticas. Se ver en primer lugar la estructura del Perceptrn, a continuacin se detallar su funcionamiento y por ltimo se mostrar el cdigo fuente en C de un programa que realiza una simulacin por ordenador de un Perceptrn, donde puede verse cmo es capaz de aprender funciones lgicas de tipo OR y AND.
5.1 Estructura
Un Perceptrn consta de dos niveles o capas (figura 4). El primer nivel est compuesto por un nmero de unidades de entrada, denominadas unidades sensoriales, que en nuestro ejemplo son dos. El segundo nivel est compuesto por un nmero de unidades de salida, denominadas unidades de asociacin, cuyas entradas son las salidas de las unidades de entrada ponderadas por unos pesos. En el ejemplo slo se emplear una neurona en la capa de salida. Las unidades de entrada tienen una sola entrada correspondiente a una de las entradas a la red, y
una sola salida. Estas unidades transmiten la seal que aparece en su entrada.
5.2 Funcionamiento
Figura 4
El Perceptrn se dise para trabajar con patrones de entrada y salida de tipo binario. As, la salida ser 1 cuando la activacin de la neurona alcance un valor y 0 en caso contrario. Segn lo expuesto, la activacin de la neurona del segundo nivel para un umbral 0 se calcula, en el ejemplo, como: xj = S1 w1j + S2 w2j donde S1 y S2 son las entradas, y w1j y w2j sus correspondientes pesos. La funcin de salida vendr determinada por: Sj = { 1 si xj > h ; 0 si xj <= h } donde h es el umbral. La regla de aprendizaje que se emplea para la adaptacin de los pesos est basada en el error. Durante la fase de aprendizaje se presentan a la red los patrones de entrada y la salida bj deseada para > h cada entrada. El error viene dado por la diferencia entre la salida deseada bj, y la salida real de la neurona, Sj. Es decir:
dj = bj - Sj
El mtodo requiere que cada patrn de entrada y salida se presente a la red las veces necesarias hasta que ni los pesos ni el umbral varen. Por otro lado, el cambio en el umbral y en los pesos se expresa matemticamente como: Incremento h = -dj Incremento wi = djii Esta regla de aprendizaje, que Rosenblatt denomin back coupled error correction, tiene la propiedad de converger siempre al valor correcto de los pesos siempre que este valor exista. En uno de los apartados siguientes veremos que hay determinadas combinaciones de entradas y salidas que el Perceptrn no puede aprender.
6. Conclusiones
El Perceptrn aprende bien las funciones OR y AND, sin embargo no ocurre lo mismo con la funcin XOR. Esto es debido a que a medida que se van presentando los patrones de entrada y su correspondiente salida, la red va adaptando los pesos, pudiendo ocurrir (como en el caso del XOR) que la diferencia entre las entradas y la salida sea muy grande provocando un cambio grande en el valor de los pesos y haciendo que se borre lo aprendido anteriormente. Este problema en el que la red va olvidando lo aprendido a medida que aprende nuevas cosas ya ha sido resuelto en otras redes
neuronales ms modernas. En algunos casos el problema se soluciona presentando las entradas en un orden distinto. Sin embargo, en el caso del Perceptrn se ha demostrado que no puede aprender determinadas combinaciones de entrada y salida. En este sentido, en 1969 Minsky y Papert demostraron en su libro Perceptrns que este tipo de redes no puede clasificar patrones de entrada que no sean linealmente separables. Unos patrones de entrada/salida se consideran linealmente separables cuando en una representacin geomtrica en el plano pueden separarse por una lnea recta los grupos de entradas/salidas del mismo tipo. Por ejemplo, en el caso de la funcin OR, la figura 6 muestra cmo pueden ser separados por una lnea recta los patrones de entrada clasificados con una salida 0 de los clasificados con una salida 1. Sin embargo, en el caso del XOR, vase la figura 7, no es posible hacer una separacin de este tipo.
Figura 6
Figura 7
Veamos que esto es as. Para que el Perceptrn aprenda una funcin XOR deben cumplirse las siguientes cuatro desigualdades: 0 w1 + 0 w2 < h 1 w1 + 0 w2 < h 0 w1 + 1 w2 < h 1 w1 + 1 w2 < h => 0 < h => w1 > h => w2 > h => w1 + w2 < h
Sin embargo, si w1 y w2 son mayores que el umbral h, su suma nunca podr ser menor que ste, y por tanto no hay ninguna combinacin de estos valores que cumpla simultneamente las cuatro desigualdades.
Para ilustrar estas ideas puede representarse en el espacio de los pesos la superficie del error para cada funcin. As, puede tomarse una funcin de error del tipo: n Ej = Sum (djp) p=1 donde djp es el error de la neurona j para cada patrn p de entrada. Es decir, la funcin de error Ej da el error total en la neurona j para un valor dado de los pesos y para un grupo de entradas y salidas. El error se calcula como la suma de los errores elevados al cuadrado cuando se presentan las n entradas a la neurona. En el ejemplo que nos ocupa n=4, puesto que hay cuatro patrones de entrada distintos. La funcin de error definida de esta manera toma un valor para cada par de valores que tengan los pesos w1j y w2j. De esta forma, en el espacio de los pesos la funcin de error es una superficie donde podr observarse qu combinaciones de los pesos hacen mnimo el error. Las figuras 8, 9 y 10 muestran las superficies del error, con un umbral de valor 1, para las funciones OR, AND y XOR, respectivamente. Se ha representado en color ms oscuro las porciones de superficie de error 0 en cada caso. Adems, los bordes de la funcin de error se han unido al plano de error 0 para mayor claridad.
Figura 8
Figura 9
Como puede observarse hay infinitas combinaciones de los pesos que hacen que hacen el error 0 para la funcin OR. Igualmente puede verse que hay una nica combinacin de los pesos que hace que valga 0 en el caso de la funcin AND. Y por ltimo, que no hay ningn valor de los pesos que haga nulo el error cuando se trata de una funcin XOR, como era de esperar. Una solucin al problema, ya conocida por Minsky y Papert, consiste en introducir una capa adicional de neuronas entre la capa de entrada y la capa de salida. Sin embargo, esta solucin implica modificar la regla de aprendizaje para poder ensear tambin a las neuronas de la capa intermedia.
Figura 10
informacin proveniente de dos cmaras, y representacin de la visin binocular. Reconocimiento y categorizacin de patrones: Estas redes emplean las arquitecturas de la Teora de la Resonancia Adaptativa o ART. Entre otras aplicaciones se encuentran el reconocimiento de caracteres manuscritos, autorizacin de descubiertos bancarios y clasificacin de cromosomas. Procesos qumicos: Dos aplicaciones posibles son: el control de la temperatura en un reactor qumico y el control de procesos qumicoorgnicos no lineales. Control motor: Permiten resolver el problema cinemtico inverso en manipuladores y robtica mvil, consistente en determinar la secuencia de movimientos que deben realizar las distintas partes del robot para alcanzar una posicin deseada. Tambin permiten el aprendizaje de la dinmica del manipulador, es decir, de la generacin de las fuerzas y pares que hay que aplicar para producir un movimiento determinado. Otros campos, como la prediccin econmica y problemas de gestin, aprendizaje preventivo, etc...
8.Bibliografa
http:www.wikipedia.org http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html http://www.monografias.com/trabajos12/redneur/redneur.shtml http://electronica.com.mx/neural/informacion/index.html http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/navarrete_g_j/capitul o2.pdf http://jkharlos.wordpress.com/2007/09/03/redes-neuronales-artificiales/ http://ocw.uv.es/ingenieria-y-arquitectura/1-2/libro_ocw_libro_de_redes.pdf