Introduccin a Las redes Neuronales (Neurales)
Introduccin a las Redes Neuronales Artificiales
Bibliografia: Simon Haykin, Neural Networks: A comprehensiveFoundation, Segunda Edicin, Prentince Hall, 1998.
Christopher Bishop, Neural networks for patternrecognition, Oxford press, 1995. " Neural Networks Toolbox: User's guide. Version 4",
Demuth and M. Beale (Disponible en http://www.mathworks.com/access/helpdesk/h elp/pdf_doc/nnet/nnet.pdf)
H.
Introduccin a las Redes Neuronales Artificiales
Introduccin a las Redes Neuronales Artificiales
Introduccin a las Redes Neuronales Artificiales
INTRODUCCIN A LAS REDES NEURONALES Y SUS APLICACIONES
Introduccin a las Redes Neuronales Artificiales
Introduccin
Una red neuronal artificial es una herramienta diseada para emular la forma en que el cerebro humano funciona
Cmo funciona el cerebro humano ? Cmo aprende el ser humano ? Dnde se guarda el conocimiento ? Por qu es tan eficiente el cerebro humano ?
Introduccin a las Redes Neuronales Artificiales
Introduccin
El cerebro humano est compuesto por una gran cantidad de elementos bsicos denominados neuronas Bsicamente las neuronas estn formadas por: Un cuerpo central o Ncleo Un mecanismo de conexin con otras neuronas (sinapsis): Axn y dendritas
Introduccin a las Redes Neuronales Artificiales
Introduccin
http://www.4colorvision.com/pix/pyramidpix.gif
Introduccin a las Redes Neuronales Artificiales
Introduccin
Los estmulos recibidos en el cerebro son transmitidos entre las neuronas mediante las conexiones sinpticas. Cuando una neurona es estimulada libera una pequea cantidad de un componente qumico (neurotransmisor). Este viaja a travs del axn hasta llegar a las dendritas de otras neuronas en las cuales el proceso se repite. Este proceso sirve disminuir la relacin involucradas en el. para incrementar o entre las neuronas
As, ante un determ inado estmulo ciertas neuronas se activan y otras se inhiben
Introduccin a las Redes Neuronales Artificiales
Introduccin
Ejemplo
Respuesta Estmulo 1
Estmulo 2
Respuesta
Introduccin a las Redes Neuronales Artificiales
Introduccin
Mediante un proceso de aprendizaje se logran establecer los niveles correctos de activacin-inhibicin de las neuronas Cuando este proceso se completa entonces ante determinados estmulos sabemos como responder y aprendemos El conocimiento adquirido est entonces en los niveles de relacin entre las neuronas logrados durante e l proceso de aprendizaje El cerebro es entrenado por repeticin de estmulos !
Ejemplo: Los nios !
Introduccin a las Redes Neuronales Artificiales
Introduccin
Cmo puede ser el cerebro tan eficiente ? Por la enorme cantidad de neur onas (aprox. 100 billones) y la manera en que estn interc onectadas (aprox. 60 trillones de sinapsis) Por la capacidad de organizarse, construir reglas y aprender de la experiencia
Qu es y cmo construir una red neuronal artificial?
Introduccin a las Redes Neuronales Artificiales
Introduccin
Emulando entonces el funcionamiento del cerebro construiremos redes neuronales artificiales interconectando elementos de procesamiento ms bsicos como las neuronas.
Hopfield network
Feedforward neural network
Kohonen network
Para entender l as redes neuronales artificiales es necesario entender y modelar las unidad es ms bsicas o neuronas artificialesIntroduccin a las Redes Neuronales Artificiales
Introduccin
Redes Neuronales ArtificialesIs a massive parallel distributed processor that has a natural propensity for storing experimental knowledge and making available for use (Haykin, 1994)
Introduccin a las Redes Neuronales Artificiales
Introduccin
Beneficios de usar RNA Generalizacin: Capacidad para producir respuestas razonables a estimulos no presentados durante su entrenamiento. Adaptabilidad: La red puede ser construida para adaptar sus pesos sinpticos al medio ambiente (reentrenar). Robusta: Por su caracter distributivo, una red maneja muy bien daos a su estructura (ruido). Complejidad: Puede capturar comportamiento complejo que no es posible con mtodos tradicionales. No-paramtrico: No hace suposiciones a priori.
Introduccin a las Redes Neuronales Artificiales
MODELO DE UNA NEURONA
Introduccin a las Redes Neuronales Artificiales
Modelo de una neurona
Dendritas:
Para recibir el estmulo o establecer las conexiones sinpticas
Pesos sinpticos:Cada dendrita tendr un peso
wj
para guardar el conocimiento adquirido
w1 w2
wm
Axn:
Para enviar la respuesta
Ncleo:
Para procesar la informacin Introduccin a las Redes Neuronales Artificiales
Modelo de una neurona
Los estmulos se consideran vectores
( x1 , x 2 , , x m )Cada entrada del vector corresponde a un estmulo o variable en particular de la cual se tiene cierta cantidad de observaciones o valores. Cuando se recibe el est mulo, cada en trada de este es mult iplicada por el correspondiente peso sinptico de la dend rita que recibe dicho valor, y luego cada uno de estos resultados se suman.
x1x2
w1
w2
w x1 + w2 x2 + + wm xm = wj xj 1j=1
m
xm
wmEste valor se considera como el estmulo que recibe la neuronaIntroduccin a las Redes Neuronales Artificiales
Modelo de una neurona
El estmulo es procesado en el ncleo mediante la operacin
m wj x j + b = X tW + b j= 1
(
)
Se denomina funcin de transferencia o activacin
b es el parmetro de sesgo o bias
x1x2
w1
w2
( X tW + b)Este valor se considera como la respuesta de la neurona al estmulo recibidoIntroduccin a las Redes Neuronales Artificiales
xm
wm
Modelo de una neurona
En conclusin, los parmetros del modelo de una neurona son: La funcin de transferencia
W
El conjunto de pesos sinpticos
El parmetro de sesgo
b
Este puede ser considerado como un peso sinptico w = b asociado a 0 una dendrita que recibe siempre el estmulo x0 = 1
m m wj x j + b = wj x j = X tW j=1 j= 0
(
)
1 x X = 1 xm
b w W = 1 wm
Introduccin a las Redes Neuronales Artificiales
ACERCA DE LA FUNCIN DE ACTIVACIN
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin de activacin se utiliza para limitar el rango de valores de la respuesta de la neurona. Generalmente los rangos de valores se limitan a [0,1] o [-1,1], sin embargo otros rangos son posibles de acuerdo a la aplicacin o problema a resolver. Existen diversas funciones de acti vacin y la decisin entre una u otra depender nuevamente de la aplicacin o problema a resolver. Existen funciones de activacin comnmente utilizadas y con las cuales se han obtenido resultados satisfactorios en diversas aplicaciones.
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin Umbral o threshold function Esta funcin est definida como
1 si x 0 (x) = 0 si x < 0La respuesta de la neurona es entonces 1 o 0. Estos valores se pueden asociar a verdadero o falso y esta condicin depender de si
X tW b
o
X tW < b
Generalmente se utiliza para establ ecer criterios de clasificacin. Por ejemplo, 1=Elemento tipo A, 0=Elemento tipo BEn matlab la funcin se denomina hard-limit function Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
1
X tW +b 0
1 =-1 1
0 =
X tW +b 00 W = 1 1
-1
1 X = x y
X tW + b = x + yIntroduccin a las Redes Neuronales Artificiales
La funcin de activacin
Ejemplo:
0 1 estmulo X = 1 0
0.8 1 Pesos sinpticos W = 1 0.5
sesgo
b = 1
Cul es la respuesta de la neurona si se utiliza la funcin umbral ?
X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1
( 1) = 0
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin signoEsta funcin est definida como
1 si x < 0 ( x ) = 0 si x = 0 1 si x > 0 La respuesta de la neurona es entonces -1, 0 o 1.
1
-1 En matlab la funcin se denomina hardlimits Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
1
X tW +b > 01 = -1 =
-1
1
0 =
X tW +b < 0
-1
X tW +b = 0 X tW + b = x + yIntroduccin a las Redes Neuronales Artificiales
La funcin de activacin
Ejemplo:
0 1 estmulo X = 1 0
0.8 1 Pesos sinpticos W = 1 0.5
sesgo
b = 1
Cul es la respuesta de la neurona si se utiliza la funcin signo ?
X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1
( 1) = 1
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin logsticaEsta funcin est definida como
(x ) =
1 1 + exp
( x )
x R, > 0
Es una de las funciones ms utilizadas en la construccin de redes neuronales Es continua a valores en [0, 1] e infinitamente diferenciable Es la versin continua de la funcin umbral y se utiliza en problemas de aproximacin
1.4 1.2 1 0.8 0.6 0.4 0.2 0 -10 -5 0 5 10
=3 =1 = 0.3
En matlab la funcin se denomina logsig
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
Ejemplo:
0 1 estmulo X = 1 0
0.8 1 Pesos sinpticos W = 1 0.5
sesgo
b = 1
Cul es la respuesta de la neurona si parmetro 1 ?
se utiliza la funcin logstica con
X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1 ( 1 ) =1 1 + exp = 0 . 2689
(1)
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin tangente hiperblica Esta funcin est definida como
( x ) = tanh( x / 2) =
1 exp ( x ) 1 + exp ( x )
x R, > 0
Es la versin continua de la funcin signo y se usa en problemas de aproximacin Es importante por sus propiedades analticas Es continua a valores en [-1, 1] e infinitamente diferenciable
1.5 1 0.5 0 -0.5 -1 -1.5 -10 -5 0 5 10
=3 =1 = 0.3
En matlab la funcin se denomina tansig Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
Ejemplo:
0 1 estmulo X = 1 0
0.8 1 Pesos sinpticos W = 1 0.5
sesgo
b = 1
Cul es la respuesta de la neurona hiperblica con parmetro 2 ?
si se utiliza la funcin tangente
X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1
( 1) = 1 exp ( 2 ) = 1 + exp ( 2 )
0 . 76159
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin LinealEsta funcin est definida como
(x ) = xNo limita la respuesta de la neurona
xR
Se utiliza en problemas de aproximacin o estimacin lineal
3 2 1 1 2 3
En matlab la funcin se denomina purelin
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
Una regresin lineal simple puede ser vista como la respuesta de una neurona con funcin de activacin lineal
1 X = x1b
b W = a
X tW = ax+ b
( X tW ) = ax + b
x
a
Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin Lineal acotada Esta funcin est definida como
si x 0 0 ( x ) = x si 0 x 1 1 si x 1 1
1
En matlab la funcin se denomina satlin (saturating linear) Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
La funcin Lineal acotada simtrica Esta funcin est definida como
si x 1 1 ( x ) = x si 1 x 1 1 si x 1 1
-1
1 -1
En matlab la funcin se denomina satlins (symmetric saturating linear Introduccin a las Redes Neuronales Artificiales
La funcin de activacin
Estmulo
X tW + b = 0 * 0.8 + 1*1 1*1 + 0 * 0.5 1 = 1Funcin de activacin Umbral o threshold Signo logstica Tangente Hiperblica Lineal Lineal Acotada Lineal Acotada Simtrica Respuesta 0 -1 0.2689 -0.76159 -1 0 -1
La escogencia de la funcin de activacin depende de la aplicacin o problema a resolver !Introduccin a las Redes Neuronales Artificiales
ACERCA DE LOS PESOS SINPTICOS
w1w2
wm
Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Recordemos que los pesos sinpticos sirven para guardar el conocimiento adquirido. En analoga con el funcionamiento del cerebro, los valores de los pesos sinpticos se obtienen mediante un proceso de aprendizaje. Este proceso de aprendizaje puede ser dividido en: Paradigmas de aprendizaje y algoritmos de entrenamiento. Paradigmas de aprendizaje Corresponden a la manera en que la red neuronal interacta o se relaciona con el ambiente en el cual opera. Bsicamente existen 2 tipos de paradigmas: Aprendizaje supervisado (Supervised learning) Aprendizaje no supervisado (Non supervised learning)
Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Algoritmos de entrenamiento Son tcnicas matemticas o heursticas bien establecidas a travs de los cuales se obtienen los valores de los pesos sinpticos y el parmetro de sesgo. Estos algoritmos NO modifican la funcin de activacin elegida para el modelo de red neuronal que se entrena. Lo que hacen es modificar los pesos sinpticos utilizando el valor anterior de este mas un factor de correccin
W
nuevo
=W
viejo
+ Wcorreccin es
y se diferencian uno de otro en la forma en que dicha obtenida
Existen una amplia variedad de algoritmos de entrenamiento cada cual con sus fortalezas y debilidades. Distintos paradigmas de aprendizaje junto con distintos algoritmos de entrenamiento producen diversas redes neuronalesIntroduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Existen muchos algoritmos de entren amiento, algunos de los cuales se mencionan aqui: Error correction learning or delta rule: es un aprendizaje supervisado, en donde se usa el error obtenido en la presentacin del estmulo para determinar el factor de correccin. Competitive learning: las neuronas compiten entre si para hacerse activas estableciendo. Solo una se activa a la vez (especializacin). Hebbian learning: correlaciona la actividad pre y post sinptica (si ambas neuronas se activan se fortalece la conexin y se debilita en caso contrario). Aqu el factor de correccin es multiplicativo entre la actividad pre y post sinptica. Memory Based learning: la red almacena data ya procesada en memoria. Un nuevo patrn es procesado segn su cercana (en sentido euclideo) a un patrn en memoria.Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Error correction learning or delta ruleSe utiliza bajo un paradigma de entrenamiento supervisado. La respuesta de la red neuronal se compara con la respuesta deseada y el error cometido se utiliza para modificar los pesos sinpticos
x1x2
wk 1
Neuron
k
wk 2
Yk =k (wkj xj )
xm
wkm
wkj ( +1) = wkj () + ek () x j ()wkj
= Constante de aprendizaje
ek = dk Yk =
Error cometido
Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Hebbian learning or activity product rule Es el postulado de entrenamiento ms antiguo y se basa en consideraciones desarrolladas por Hebb, D.O (1949) en su libro The organization of behavior: A neuropsychological theory El postulado de Hebb establece bsicamente que: Cuando dos neuronas conectadas (sinpsis) se activan simultneamente, la relacin entre estas se fortalece. En caso contrario, la relacin se debilita o es eliminada. La formulacin matemtica apropiada es establecer entonces la correlacin entre el estimulo de entrada y la respuest a a dicho estmulo y utilizar esta informacin para actualizar el valor de los pesos sinpticos
wkj ( +1) = wkj () + yk () x j ()wkj
xj
w kj
YkNeuron
k
Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Competitive Learning En este tipo de algoritmos se establece un mecanismo de competencia entre las neuronas y la respuesta de la red ante un determinado estmulo proviene exclusivamente de la neurona ganadora
Wj (t +1) = Wj (t ) + (t ) [ X (t ) Wj (t ) ] w kj
X (t )
Es esta caracter stica la q ue hace que este tipo de algoritmos sean apropiados para descubrir patrones en un conjunto de datos y que por lo tanto sean usados para clasificacin
Introduccin a las Redes Neuronales Artificiales
Los pesos sinpticos
Memory based learning En este tipo de entrenamiento las experiencias pasadas estn almacenadas en la memoria de ejemplos que han sido clasificados correctamente.
En este tipo de entrenamiento un nuevo patrn de entrada es comparado con k patrones cercanos (concepto de vecindad) y luego es asignado la clasificacin ms frecuente en la vecindad. Las RBF utilizan este tipo de postulado en su entrenamiento, al igual que las redes SOM Distancias Euclidea : ||x-y|| Producto interno : xt*y ||x-y|| x y xTyIntroduccin a las Redes Neuronales Artificiales
Arquitecturas
Arquitecturas Una capa, feedforward
Multicapa feedforward
Redes recurrentes
Introduccin a las Redes Neuronales Artificiales
Problemas
Qu tipos de problemas se pueden resolver? Asociacin de patrones: escritura. La red es presentada con muchos ejemplos de un patron hasta guardar el patron, luego al ser presentado una versin con ruido esta es capaz de reconocer el patrn. Clasificacin: una la red es entrenada con ejemplos de clasificacin conocida. Aproximacin de funciones. Identificacin, problemas inversos. Control: se conoce una seal de referencia y el objetivo es ajustar los parmetros libres para seguir la salida deseada. Filtro: son tiles en predicciones.
Introduccin a las Redes Neuronales Artificiales