Está en la página 1de 43

Computacin Neuronal

Tema 1: Conceptos bsicos sobre RNA

Ignacio Olmeda Martos Antonio Moratilla Ocaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Indice
1.1 Fundamentos biolgicos de las RNA 1.2 Fundamentos y evolucin de los sistemas neuronales artificiales 1.3 Otros tipos de RNA 1.4 Comparacin con otros paradigmas de Inteligencia Artificial
Bibliografa complementaria: l E. Fernndez, Modelos Conexionistas, en I. Olmeda y S. BarbaIgnacio Olmeda Martos Romero: RNA Fundamentos y Aplicaciones, UAH 1993. Antonio MoratillaOcaa
Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Las RNA intentan modelar la estructura y funcionamiento de algunos componentes del sistema nervioso animal. Aunque su similitud es relativa, s existen elementos funcionales parecidos entre las RNA biolgicas y formales, como veremos.

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

El sistema nervioso animal se divide entre sistema nervioso central (mdula espinal y encfalo) y perifrico (ramificaciones nerviosas a los distintos rganos). Dentro del sistema nervioso central, el encfalo (de unos 1400 gr.) es el rgano fundamental de procesamiento de la informacin.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

El encfalo o cerebro est constituido por millones de neuronas (>108) de diferentes tamaos y formas. Estas neuronas se constituyen en redes de diferentes tipos que realizan distintas funciones especializadas. Esto dificulta extraordinariamente su modelizacin.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

La mayor parte de las neuronas tiene tres estructuras diferenciadas: el cuerpo celular, las dendritas y el axn. El cuerpo celular es el centro de sntesis de la neurona y procesa las seales o impulsos que le llegan de otras clulas generando un nuevo impulso si se dan ciertas condiciones. El axn acta como canal transmisor de los impulsos generados y conecta con las dendritas de otras clulas a travs de las sinapsis.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA

Cuerpo celular

Dendritas

Sinapsis Axn
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

La naturaleza de estas conexiones es qumica (neurotransmisores), la eficiencia o fuerza de la conexin se modifica a lo largo del tiempo y es cuando decimos que el cerebro aprende. Las neuronas en estado de inactividad presentan un potencial de reposo, sin embargo cuando reciben un determinado impulso de cierta intensidad que supera un determinado umbral, pasan a un potencial de accin o impulso nervioso que se propaga a otras neuronas.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l l

Por este motivo se habla de una ley de todo o nada del impulso nervioso. Hay que sealar que los impulsos que recibe una clula pueden ser excitatorios o inhibitorios, la suma total de todos stos impulsos es lo que determina el potencial de activacin. La suma de potenciales puede ser debida a seales de distintas clulas (sumacin espacial) o por impulsos recibidos en distintos instantes de tiempo (sumacin temporal).
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Simplificando: la funcin bsica de una clula es sumar entradas y producir una determinada salida si la suma es mayor que un umbral determinado. Al conjunto de neuronas y sus correspondientes sinapsis lo llamamos redes de neuronas o redes neuronales, a la simplificacin terica de cada una de las neuronas lo llamamos elemento de proceso.

10

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Un EP est compuesta por un conjunto de entradas, (y1, ..., yi, ... , yn), un conjunto de pesos que ponderan estas entradas, (wj1, ..., wji, ... , wjn), una funcin f que denominaremos funcin de transferencia y que se corresponde con el proceso de sntesis de una neurona, y una salida Sj.

11

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Un EP calcula el valor neto a su entrada, Netaj, en funcin de los valores de entrada que recibe y los pesos asociados a estas, de la forma: Netaj= (yiwji). Este valor es entonces transformado en lo que se denomina valor de activacin del EP, aj(t), de la forma aj(t) = Fj(Netaj(t)), aunque puede depender en ocasiones del valor anterior (en trminos de tiempo) de la activacin, de la forma: aj(t) = Fj(aj(t-1), Netaj(t)).

12

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA

13

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Por regla general la funcin F(), denominada funcin de transferencia, es la funcin identidad, con lo que el valor de la activacin aj(t) es igual a la entrada neta: aj(t)=Netaj(t) Una vez calculado el valor de activacin, la salida del EP ser Sj = fj(aj), que suele escribirse Sj = fj(Netaj) si consideramos aj(t) = Netaj(t).
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

14

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA

15

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Cuando se usan EP en los que solo existe una funcin, al ser a(t) = Neta(t), se le suele denominar a esta funcin de transferencia, aunque algunos autores la llaman funcin de activacin. En la figura pueden observarse los tipos de funciones de transferencia mas importantes

16

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Por ejemplo, la funcin de transferencia lineal tiene por expresin: fj(Netaj)= w Netaj La sigmoidal: fj(Netaj)= 1/(1+ exp(-w Netaj) Y la umbral: fj(Netaj)= 1 fj(Netaj)= -1

17

si Netaj> si Netaj<

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Bsicamente podemos definir una red como un conjunto de EP organizados formando diferentes arquitecturas (que denominamos topologa de la red) las cuales procesan informacin en base a un proceso bien definido. La estructura de red mas conocida responde al modelo en el que los EP se agrupan formando lo que denominamos capas, las cuales se clasifican en tres categoras, capa de entrada, capas ocultas y capa de salida.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

18

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l l

A travs de la capa de entrada se le suministra la informacin a la red. A este tipo de redes se las denomina redes feedforward o redes alimentadas hacia adelante ya que las conexiones entre EP se establecen en un solo sentido, impuesto por el orden de las capas de la forma Capa_Entrada -> Capa(s)_Oculta(s) -> Capa_Salida.

19

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA

Capa(s) Oculta(s) Capa de entrada Capa de salida

RNA alimentada hacia adelante


20
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

en contraposicin a las redes feedback o retroalimentadas, las cuales pueden tener conexiones de EP de una capa a EP de capas anteriores.

21

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


l

Otro tipos de redes, las denominadas Redes Recurrentes, permiten conexiones de EP dentro de una misma capa, y de un EP a s mismo.

22

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos biolgicos de las RNA


Comparacin ordenador-cerebro
ordenador 106 Transistores Computacin serial Poco robusto Programable Milisegundos Digital cerebro 108 neuronas-1015 conexiones Computacin paralela Tolerante a fallos Aprendizaje autnomo Nanosegundos Analgico

23

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

El primer modelo de este tipo fue un dispositivo hidrulico descrito por S. Russell en 1913, aunque fue en la dcada de los 40 cuando se crearon modelos que tuvieron gran repercusin y que son considerados hoy da como los precursores de las actuales RNA. Desde los primeros modelos, las RNA han pasado por perodos de gran entusiasmo seguidos de pocas oscuras y adversas, hasta su resurgimiento en la dcada de los 80
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

24

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

En 1943 Warren McCulloch & Walter Pitts, construyeron el primer modelo matemtico de RNA. Aunque este modelo caus gran excitacin inicial, lo cierto es que adoleca de un factor clave, la capacidad de aprendizaje. Mas tarde en 1949, Donald Hebb, a partir de sus estudios sobre la neurona y el aprendizaje, desarroll un algoritmo de aprendizaje al que se le ha dado su nombre: Aprendizaje Hebbiano. Este paradigma es el precursor de los actualmente usados en las RNA.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

25

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

Los primeros resultados con RNA vinieron de la mano de Marvin Minsky (curiosamente, hoy considerado como el padre de la Inteligencia Artificial), que junto a Dean Edmonds cre una mquina de 40 neuronas, inspirada en los modelos de McCulloch y Pitts, y que incorporaba aprendizaje Hebbiano. Construida con tubos de vaco, modelaba el comportamiento de una rata en la bsqueda de comida a travs de un laberinto.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

26

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

Pocos aos despus, tras los trabajos en 1956 de Albert Uttley, sobre su modelo denominado Informon, Frank Rosenblatt cre el denominado Perceptron que ha sido, y sin duda es, el modelo de RNA mas conocido en la historia. Paralelamente Bernard Widrow desarroll el denominado Adaline, dispositivo muy parecido al Perceptron aplicado como filtro para eliminar ecos en lneas telefnicas.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

27

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

El Perceptron tena la capacidad de generalizacin reconociendo patrones similares a aquellos que previamente haba aprendido. Sin embargo tena importantes limitaciones, entre ellas, su incapacidad de realizar algunas tareas sencillas (clasificar clases no linealmente separables), lo que caus gran controversia. As, en 1969 apareci un libro llamado Perceptrons, en el cual Minsky y Papert mostraban un anlisis de las capacidades y limitaciones del Perceptron.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

28

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

Minsky y Papert demostraron que algunas de aquellas limitaciones podran ser superadas por un Perceptron con varias capas de neuronas, pero puesto que no exista un algoritmo de aprendizaje para este tipo de estructuras, su aplicabilidad prctica quedaba descartada. Este libro supuso para muchos investigadores el final definitivo de las RNA, cayendo stas en desgracia a partir de entonces.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

29

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

El resurgimiento de las RNA viene por un lado de la mano de John Hopfield, que en 1982, present un trabajo en la Academia Nacional de Ciencias estadounidense. Este fue el primer trabajo en Computacin Neuronal presentado a esta distinguida comunidad cientfica desde 1960. La alta consideracin que tena de Hopfield la comunidad cientfica, mezclada con el carisma y el entusiasmo de ste, legitimaron el nuevo inters por la Computacin Neuronal.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

30

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

31

Su trabajo describa un sistema que se ha dado en llamar el Modelo de Hopfield. Usando investigaciones basadas en sistemas olfativos, present un modelo constituido por elementos de proceso totalmente interconectados que buscaba un estado interno de mnima energa. Por otro lado, uno de los grupos de investigacin que mas ha contribuido a la difusin de las RNA ha sido el grupo PDP (Parallel Distributed Processing), fundado en 1982 por David Rumelhart y James McClelland, ambos psiclogos.

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

Inicialmente interesados por la aplicacin de las RNA para la comprensin de las funciones mentales, Rumelhart y McClelland, tras varios trabajos en solitario, combinaron sus esfuerzos diseando su primer paradigma de red neuronal, utilizado para explicar el reconocimiento de palabras. Rumelhart es quiz hoy uno de los mas conocidos debido al desarrollo, paralelamente a otros investigadores, del algoritmo de aprendizaje conocido como "Backpropagation".
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

32

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

Entre los modelos mas conocidos podemos destacar:


l l l l l l l

La Teora de la Resonancia Adaptativa (Carpenter y Grossberg) las Mquinas de Boltzman y Cauchy (Hinton y Sejnowski) La denominada Counter-Propagation (Hecht-Nielsen) la Adaptive Bidirectional Associative Memory (Kosko) el Neocognitron (Fukushima) los Mapas Autoorganizativos (Kohonen) Adems de los mencionados Perceptron y Adaline/Madaline

Las mas utilizadas en la actualidad son sin duda las Redes multicapa entrenadas con "Backpropagation", a las que dedicaremos buena parte del curso.
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

33

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


Perceptron
l l

l l

El perceptron es una red de dos capas, una de entrada y otra de salida. Se emplean funciones de transferencia umbral, as como una unidad de entrada constante que implica un sesgo en la salida. Permite replicar funciones lineales El perceptron se diseo para reconocer objetos que se presentaban frente a una malla de puntos sensibles a la luz (retina).

34

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA

35

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l

El perceptron permite implementar algunas funciones lgicas como el AND y el OR

36

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


l l

El problema es, obviamente, encontrar los valores adecuados de w0, w1 y w2. Al proceso consistente en encontrar los pesos sinpticos que resuelven un determinado problema se le denomina aprendizaje, ms adelante veremos detalladamente su formalizacin y distintos algoritmos. Para el perceptron existe un algoritmo de aprendizaje muy sencillo:
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

37

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


Algoritmo de aprendizaje
-Inicializar

los pesos y umbrales al azar. -Presentar la entrada y la salida deseada para esta. -Obtener la salida de la red para la entrada dada. -Adaptar los pesos de la forma : l * Si la salida obtenida es correcta : Wj(t+1) = Wj(t) l * Si la salida obtenida es 1 y la deseada 0 : Wj(t+1) = Wj(t) + xj l * Si la salida obtenida es 0 y la deseada 1 : Wj(t+1) = Wj(t) - xj

38

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


AND y OR, as como muchas otras funciones son relativamente sencillas y poseen una caracterstica que las hace ser fcilmente implementables mediante un perceptron. Esta caracterstica es que son linealmente separables: existe una recta (un hiperplano en el caso multidimensional) que separa ejemplos positivos de negativos
39
Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA

40

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


El sesgo es generalmente necesario para conseguir una buena separacin:

Sin sesgo
41

Con sesgo

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


Sin embargo, existen funciones igualmente sencillas que no son linealmente separables y que, por tanto, no pueden ser resueltas mediante un perceptron. Un ejemplo es la funcin XOR

42

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal

Tema 1: Conceptos Bsicos sobre RNA Computacin Neuronal

Fundamentos y evolucin de las RNA


Este problema s puede ser resuelto por una red con ms capas (multicapa) pero como veremos el algoritmo de aprendizaje es mucho ms complicado. Por ejemplo, la siguiente red resuelve el problema:

43

Ignacio Olmeda Martos Antonio MoratillaOcaa Dept. Ciencias de la Computacin Universidad de Alcal