Introduccion a los Modelos de Redes Neuronales Artificiales Ricardo Alonso Image Source:...
-
Upload
gael-talamantez -
Category
Documents
-
view
222 -
download
2
Transcript of Introduccion a los Modelos de Redes Neuronales Artificiales Ricardo Alonso Image Source:...
Introduccion a los Modelos de Redes Neuronales Artificiales
Ricardo Alonso
Image Source: ww.physiol.ucl.ac.uk/fedwards/ ca1%20neuron.jpg
Autor : Ricardo [email protected]
Redes NeuralesUna amplia calse de modelos que reproducen el funcionamiento deltejido Neural del Cerebro
Existen varias clases de modelos NN.Ellos son diferentes entre si, dependiendo de :
Tipo de problemas asociados: Prediccion, Clasificacion ,
Aglomeracion
Estructura del modelo
Algoritmo de construccion del modelo
Para esta charla, nos vamos a enfocar enRedes Neuronales de propagacion hacia adelante
(usados en los problemas de clasificacion y prediccion)
Definicion
Autor : Ricardo [email protected]
La unidad funcional mas importante del Cerebro – una celula llamada – NEURONA
• Dendritas – Reciben información
Un poco de Biologia . . .
Celula NeuronalFuente: heart.cbl.utoronto.ca/ ~berj/projects.html
• Cuerpo celular – Procesa información
• Axón – Transporta informacion procesada a otras Neuronas
• Sinapsis – Union Axón – Dendritas de otras Neuronas
Dendritas
Cuerpo celular Axón
Esquema
Sinapsis
Autor : Ricardo [email protected]
Una Neurona Artificial
• Recibe entradas X1 X2 … Xp de otras Neuronas o el ambiente.• Entradas se alimentan a traves de conexiones con peso.• Entrada Total = Suma ponderada de las entradas de otras fuentes. • Funcion de transferencia (funcion Activacion) convierte entradas a en salidas.• La salida va a las entradas de otras Neuronas.
f
X1
X2
Xp
I
I = w1X1 + w2X2
+ w3X3 +… + wpXp
V = f(I)
w1
w2
...wp
Dendritas Cuerpo Celula Axón
Dirección flujo informació
Autor : Ricardo [email protected]
Hay varios tipos de opciones para seleccionar la funcion de transferencia o funcion de activación
Tanhf(x) =
(ex – e-x) / (ex + e-x)
-1
1
0
1
0.5
0
1
Logisticf(x) = ex / (1 + ex)
Threshold 0 if x< 0
f(x) = 1 if x >= 1
Funciones de Transferencia
Autor : Ricardo [email protected]
ANN – Red Neuronal con alimentacion hacia adelante
Una coleccion de Neuronas conforma una ‘ Capa’
Dire
cció
n de
flu
jo in
form
ació
n
X1 X2 X3 X4
y1 y2
Capa de Conección - Cada Neurona adquiere SOLO una entrada directamente del medio
Capa de Salida - La salida de cada Neurona va directamente hacia afuera de la Neurona.
Capa de Entrada / Intermedia - Conecta la capa de Coneccion con las unidades de procesamiento
Autor : Ricardo [email protected]
El numero de capas ocultas puede ser
Ninguna Una Muchas
ANN – Red Neuronal con alimentacion hacia adelante
Autor : Ricardo [email protected]
Un par de cosas que se debe decir
X1 X2 X3 X4
y1 y2
• Dentro de la Red, las Neuronas no estan interconectadas una con otra.• Las Neuronas de una capa solamente se conectan con las de la capa superior. (Feed-forward)
• No se permite el salto de Neuronas.
ANN – Red Neuronal con alimentacion hacia adelante
Autor : Ricardo [email protected]
Que queremos decir con un model particular de ANN?
Entradas: X1 X2 X3 Salidas: Y Modelo: Y = f(X1 X2 X3)
Para una ANN : La forma algebraica de f es muy complicada para ser escrita.
Sin embargo, esta caracterizadas por :• # Neuronas de entrada y coneccion• # Capas ocultas o intermedias• # Neuronas en cada cada oculta• # Neuronas de salidas• PESOS de cada coneccion
Ajuste de un model ANN = Especificar los valores de estos parametros
Un modelo de ANN en particular
Autor : Ricardo [email protected]
Parametos libresDecidido por la estructura del problema# de variables# de salidas
Un modelo en particular – un ejemplo
Entradas: X1 X2 X3 Salidas: Y Modelo: Y = f(X1 X2 X3)
X1
X2 X3
Y
0.5
0.6 -0.1 0.1-0.2
0.7
0.1 -0.2
Parametros Ejemplo
# Neuronas entrada 3
# Capas ocultas 1
# Neuronas CO 3
# Neuronas sal. 3
Pesos Especificados
Autor : Ricardo [email protected]
Prediccion usando un modelo ANN en particular
Entradas: X1 X2 X3 Salidas: Y Modelo: Y = f(X1 X2 X3)
0.5
0.6 -0.1 0.1-0.2
0.7
0.1 -0.2
X1 =1 X2=-1 X3 =2
0.2f (0.2) = 0.55
0.55
0.9f (0.9) = 0.71
0.71
-0.087f (-0.087) = 0.478
0.478
0.2 = 0.5 * 1 –0.1*(-1) –0.2 * 2
Y predicha = 0.478
Suponga que en realidad Y = 2EntroncesError prediccion = (2-0.478) =1.522
f(x) = ex / (1 + ex)f(0.2) = e0.2 / (1 + e0.2) = 0.55
Autor : Ricardo [email protected]
Como se construye el modelo ?
Entradas: X1 X2 X3 Salidas: Y Modelo: Y = f(X1 X2 X3)
# N. entrada = # entradas = 3 # N. Salida = # Salidas = 1
# capas ocultas = ??? Use 1# N. capa oculta = ??? Use 2
No hay estrategia fija. Solo ensayo y error
La arquitectura esta definida … Como se obtienen los pesos???
Hay 8 pesos que estimar.W = (W1, W2, …, W8)
Data de adiestramiento: (Yi , X1i, X2i, …, Xpi ) i= 1,2,…,nDada una eleccion particular de W, obtendremos las Y predichas( V1,V2,…,Vn)
Ellas son función de W.Elegimos W tal que el error de prediccion E sea minimo
E = (Yi – Vi) 2
Building ANN Model
Autor : Ricardo [email protected]
Como adiestrar el modelo ?
E = (Yi – Vi) 2
• Empiece con un conjunto aleatorio de pesos.
• Calculo los valores estimados de la salida y obtenga V1 en funcion del patron X1; Error = (Y1 – V1)
• Ajuste los pesos a fin de reducir el error ( la red ajusta el primer patron de datos ).
• Haga lo mismo con el segundo patron de datos
• Prosiga hasta el ultimo patron de datos.
• Con esto se finaliza un ciclo.
• Repita otro ciclo, una y otra vez hasta que el error Total obtenido para cada patron ( E ) sea minimo
Fee
d
forw
ard
Bac
k P
rop
agat
ion
Entrenamiento del modelo
Autor : Ricardo [email protected]
Unos detalles adicionales respecto a la retropropagacion
E = (Yi – Vi) 2
Cada peso tiene su parte de culpa con respecto al mayor o menor error de prediccion ( E).
El mecanismo de Retropropagacion decide cuales de los pesos tiene mayor culpa al respecto.
Poca culpa, representa poco ajuste.
Mucha culp, mucho ajuste.
Retropropagacion
Autor : Ricardo [email protected]
Formula de ajuste de W en la Retropropagacion
Metodo de descenso por gradiente : Para cada peso individual Wi, la formula de ajuste es :
Wnew = Wold + * ( E / W) |Wold
= parametro de aprendizaje (entre 0 and 1)
W(t+1) = W(t) + * ( E / W) |W(t) + * (W(t) - W(t-1) )
= Momentum (entre 0 and 1)
E( W ) = [ Yi – Vi( W ) ] 2
Vi – la prediccion de la I-esima observacion –Es una funcion de W = ( W1, W2,….)Por consiguiente, E, el error total de la prediccion es funcion de W
A veces se utiliza otra variacion leve
Ajuste de pesos durante la Retropropagacion
Autor : Ricardo [email protected]
Interpretacion Geometrica del Ajuste de Pesos
E( w1, w2 ) = [ Yi – Vi(w1, w2 ) ] 2
Considere una Red simple de 2 entradas y 1 salida. No hay capas ocultas. Solo hay dos pesos, los cuales deben ser calculados.
w1 w2
• El par ( w1, w2 ) es un punto en un plano 2-D.
• Para cada par, se asocia un valor de E.
• Ploteemos E vs ( w1, w2 ) – una superficie 3-D –
llamada ‘Superficie de Error’
• La meta es identificar que par de valores minimiza E
• Eso quiere decir, que punto de W minimiza la altura de
la funcion E Algoritmo de Descenso en Gradiente
• Comience con un punto al azar ( w1, w2 )
• Muevase a un punto mejor ( w’1, w’2 ) como mejor se entiende un punto de
menor valor E.
• Muevase hasta lograr un punto el cual no pueda ser mejorado.
Autor : Ricardo [email protected]
Reptando por la Superficien de Error
-3.0
00
-2.0
00
-1.0
00
0.00
0
1.00
0
2.00
0
3.00
0
4.00
0
5.00
0
6.00
0
-3.0
00
-2.0
00
-1.0
00
0.00
0
1.00
0
2.00
0
3.00
0
4.00
0
5.00
0
6.00
00.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
Error
W1W2
w*w0
Superficie de Error
Minimo local
Espacio de Pesos
Minimo Global
Autor : Ricardo [email protected]
E = (Yi – Vi) 2
Decida la Arquitectura de la Red (# Capas ocultas, #N. en cada capa).
Algoritmo de Entrenamiento
Inicializa los pesos con valores aleatorios.
Feed forward el i-esima patron y calcule el error
Back propagate el error y ajuste los pesos
Verifique convergencia
For I = 1 to # Patrones adiestramiento
Next I
Do hasta que el criterio de convergencia no se cumpla
End Do
Decida los Parametros de momentum y adiestramientoarning parameter and Momentum.
Autor : Ricardo [email protected]
Cuando parar el algoritmo ?
Criterio de Convergencia
Idealmente – cuando se alcance el minimo global ode la Superficie de Errores
Sugerencia: 1. Pare cuando el valor de E no disminuye significativamente.2. Pare si los cambios globales en los pesos no son significativos.
Como sabemos que hemos llegado a ese minimo ? ………….. No lo sabemos
Problemas: El Error se mantiene decreciento. Obtenemos un buen ajuste en la data. PERO … la red obtenida tiene un ppobre poder de generalizacion ante datanueva.Este fenomeno se denomina - Over fitting de la data de adiestramiento.Se dice que la red Memoriza la data de adiestramiento.
- Es por esto que al dar un valor de X conocido, la red reproduce el valor de Y asociado a la data.
- La red, en realidad, no ha captado realmente la relacion entre X y Y .
Autor : Ricardo [email protected]
Criterio de Convergencia
Sugerencia modificada:
Divida la data en dos subconjuntos conjunto de adiestramiento y conjunto de validacion.
Use El conjunto de adiestramiento para construir la RedEl conjunto de validacion para chequear el comportamiento de la
RedTipicamente, a medida que tenemos mas y mas ciclos de adiestamiento
El error del conjunto de adiestramiento disminuye.
El error del conjunto de validacion disminuye y luego se incrementa.
Err
or
Ciclo
Validacion
Adiestramiento
Pare el adiestramiento cuando el error de validacion se incrementa
Autor : Ricardo [email protected]
Eleccion de los Parametros de Adiestramiento
Parametro AdiestramientoDemasiado grande – grandes saltos en el espacion de pesos –riesgo de no
detectar el minimo local.Muy pequeño –
- Toma mucho tiempo en alcanzar el minimo global - Si cae en un minimo local, es imposible salir de el.
Parametro de adiestramiento y momentum - debe ser suplido por el usuario. Esta en el rango 0 - 1
Cuales son sus valores optimos ?- No hay consenso en uan estrategia fija. - Sin embargo se ha estudiado el efecto de una mala eleccion.
Sugerencia
Ensayo y Error – Ensaye varios valores de ambos parametros y vea cual es el mejor.
Autor : Ricardo [email protected]
Repaso
Artificial Neural network (ANN) – Una clase de modelo basado en simil biologico con el sistema
nervioso central.
Usados para varios tipos de modelos – Prediccion, Clasificacion, Aglomeracion, ..
Una clase particular de ANN – Red de propagacion hacia adelante
Organizado en capas. Cada capa tiene un numero de Neuronas artificiales. Las Neuronas en cada capa se conecta con las Neuronas de otras capas. Las conecciones tienen pesos.
El ajuste de una Red consiste en buscar los pesos de estas conecciones.
Dados varios patrones adiestramiento – los pesos son estimados mediante el metodo de Retropropagacion el cual es una forma del metodo de Descenso por Gradiente – la cual es una tecnica popular de minimizacion.
La arquitectura de la Red asi como sus parametros de adiestramiento son seleccionados mediante ensayo y error.