Sunteți pe pagina 1din 18

REDES NEURONALES ARTIFICIALES

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:

Aprendizaje supervisado: consiste en introducir una serie de


patrones de entrada a la red y a su vez mostrar la salida que se quiere tener. La red es capaz de ajustar los pesos de las neuronas de forma que a la presentacin posterior de esos patrones de entrada la red responde con salida memorizada.

Aprendizaje no supervisado: se presentan los patrones de


entrada a la red y sta los clasifica en categoras segn sus rasgos ms sobresalientes. Aprendizaje autosupervisado: la propia red corrige los errores en la interpretacin empleando una realimentacin.

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

4. Desarrollo histrico de las redes neuronales


Partiendo de que las redes neuronales se fundamentan en el sistema nervioso humano deberamos remontarnos a los tiempos de Galeno en los que ya se tena un conocimiento considerable de ste. Sin embargo, los verdaderos avances en neurologa se produjeron a partir de la segunda mitad del siglo XIX. Investigadores ilustres de esta poca son Jackson, Ramn y Cajal y Golgi entre otros. Fue en 1943 cuando Warren McCulloch y Walter Pitts propusieron el clsico modelo de neurona en el que se basan las redes neuronales actuales. Seis aos despus, en 1949, en su libro The Organization of Behavior, Donald Hebb presentaba su conocida regla de aprendizaje. En 1957, Frank Rosenblatt present el Perceptrn, una red neuronal con aprendizaje supervisado cuya regla de aprendizaje era una modificacin de la propuesta por Hebb. El Perceptrn trabaja con patrones de entrada binarios, y su funcionamiento, por tratarse de una red supervisada, se realiza en dos fases: una primera en la que se presentan las entradas y la salidas deseadas; en esta fase la red aprende la salida que debe dar para cada entrada. La principal aportacin del Perceptrn es que la adaptacin de los pesos se realiza teniendo en cuenta el error entre la salida que da la red y la salida que se desea. En la fase siguiente, de operacin, la red es capaz de responder adecuadamente cuando se le vuelven a presentar los patrones de entrada. Se crearon grandes expectativas sobre sus aplicaciones, que posteriormente se tornaron en gran decepcin cuando en 1969 Minsky y Papert demostraron las grandes limitaciones de esta red. En los aos 60 se propusieron otros dos modelos, tambin supervisados, basados en el Perceptrn de Rosenblatt denominados Adaline y Madaline. En estos, la adaptacin de los pesos se realiza teniendo en cuenta el error, calculado como la diferencia entre la salida deseada y la dada por la red, al igual que en el Perceptrn. Sin embargo, la regla de aprendizaje empleada es distinta. Se define una funcin error para cada neurona que da cuenta del error cometido para cada valor posible de los pesos cuando se presenta una entrada a la neurona. As, la regla de aprendizaje hace que la variacin de los pesos se produzca en la direccin y sentido contrario del vector gradiente del error. A esta regla de aprendizaje se la denomina Delta.

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

5.3 Mecanismo de variacin de los pesos:


Si la entrada fue correctamente categorizada (es decir, que la salida de la neurona corresponde con la salida deseada), entonces no se hace ningn cambio. Si la salida es 1 cuando debera ser 0, entonces los pesos y el umbral se modifican de la siguiente manera: en primer lugar se incrementa el umbral en una unidad, para hacer menos probable la activacin de la neurona. Si la entrada ii es 0, entonces no se hace ningn cambio en su peso, puesto que esta entrada no ha contribuido a activar la neurona. Por el contrario, si la entrada ii es 1, se decrementa su peso wi en una unidad. En el otro caso en el que la salida es 1 cuando debiera ser un 0, los cambios que deben hacerse son los opuestos.

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

7. Aplicaciones al control automtico


Por ltimo, se muestran algunas de las mltiples aplicaciones que pueden darse a las redes neuronales en este campo. Visin artificial: Se emplean modelos de redes neuronales que son capaces de emular caractersticas del funcionamiento visual humano permitiendo, por ejemplo, el reconocimiento de imgenes texturadas en color, el aprendizaje para determinar posiciones a partir de la

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

S-ar putea să vă placă și