perceptron parte 2

25
Redes Neuronales Redes Neuronales ( El Perceptron) ( El Perceptron)

Upload: edeciofreitez

Post on 14-Jun-2015

1.132 views

Category:

Education


2 download

DESCRIPTION

Este documento contiene informacion acerca del perceptron multicapa

TRANSCRIPT

Page 1: Perceptron parte 2

Redes NeuronalesRedes Neuronales( El Perceptron)( El Perceptron)

Page 2: Perceptron parte 2

El Modelo AdalineEl Modelo Adaline

La función tiende a cero cuando los pesos se hacen La función tiende a cero cuando los pesos se hacen mejores. Esta regla de aprendizaje se conoce como la mejores. Esta regla de aprendizaje se conoce como la regla regla delta o de Widrow-Hoff delta o de Widrow-Hoff oo regla regla LMS (the Least LMS (the Least Mean Squared)Mean Squared)

Arquitectura del ADALINEArquitectura del ADALINE

Page 3: Perceptron parte 2

Comparaciones Perceptron - ADALINEComparaciones Perceptron - ADALINE

La regla del aprendizaje de La regla del aprendizaje de ADALINEADALINE es idéntica a la regla del es idéntica a la regla del Perceptron Perceptron en el caso de una función de transferencia lineal. No en el caso de una función de transferencia lineal. No obstante la motivación de ambas reglas no son las mismas: en el caso obstante la motivación de ambas reglas no son las mismas: en el caso ADALINEADALINE, se busca minimizar la función de costo de funcionamiento , se busca minimizar la función de costo de funcionamiento del dispositivo, mientras que en el caso del del dispositivo, mientras que en el caso del PerceptronPerceptron, se persigue la , se persigue la determinación de hiperplano separador entre dos clases.determinación de hiperplano separador entre dos clases.

La regla de aprendizaje del Perceptron converge, en el caso de existir La regla de aprendizaje del Perceptron converge, en el caso de existir solución luego de un numero finito de iteraciones. Por su parte, la regla solución luego de un numero finito de iteraciones. Por su parte, la regla delta (caso ADALINE), es de convergencia asintótica, en principio delta (caso ADALINE), es de convergencia asintótica, en principio luego de muchas iteraciones.luego de muchas iteraciones.

El empleo de muchas funciones de transferencia sobre el mismo El empleo de muchas funciones de transferencia sobre el mismo conjunto de entrenamiento, trae como consecuencia que la dinámica conjunto de entrenamiento, trae como consecuencia que la dinámica de aprendizaje tienda a resultados distintos para los pesos sinápticos.de aprendizaje tienda a resultados distintos para los pesos sinápticos.

Page 4: Perceptron parte 2

Comparaciones Perceptron - ADALINEComparaciones Perceptron - ADALINE

El enfoque de descenso de gradienteEl enfoque de descenso de gradiente(ADALINE(ADALINE) es ) es fácilmente generalizable a redes de varias capas, fácilmente generalizable a redes de varias capas, mientras que la regla del perceptron no lo esmientras que la regla del perceptron no lo es

El Perceptron MulticapasEl Perceptron Multicapas El perceptrón multicapas es una red Neuronal El perceptrón multicapas es una red Neuronal

artificial(RNA) formada por múltiples capas, lo cual le artificial(RNA) formada por múltiples capas, lo cual le permite resolver problemas que no son linealmente permite resolver problemas que no son linealmente separables, lo separables, lo

El perceptrón multicapas puede ser totalmente o El perceptrón multicapas puede ser totalmente o localmente conectado. localmente conectado.

En el primer caso cada salida de una neurona de la capa En el primer caso cada salida de una neurona de la capa "i" es entrada de todas las neuronas de la capa "i+1“. "i" es entrada de todas las neuronas de la capa "i+1“.

Page 5: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

En el segundo caso, cada neurona de la capa "i" es En el segundo caso, cada neurona de la capa "i" es entrada de una serie de neuronas (región) de la capa entrada de una serie de neuronas (región) de la capa "i+1"."i+1".

Las capas pueden clasificarse en tres tipos:Las capas pueden clasificarse en tres tipos: Capa de entrada:Capa de entrada: Constituida por aquellas neuronas Constituida por aquellas neuronas

que introducen los patrones de entrada en la red. En que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento. estas neuronas no se produce procesamiento.

Capas ocultas:Capas ocultas: Formada por aquellas neuronas cuyas Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y las salidas entradas provienen de capas anteriores y las salidas pasan a neuronas de capas posteriores. pasan a neuronas de capas posteriores.

Capa de salida:Capa de salida: Neuronas cuyos valores de salida se Neuronas cuyos valores de salida se corresponden con las salidas de toda la red. corresponden con las salidas de toda la red.

Page 6: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

Representación del Perceptron MulticapasRepresentación del Perceptron Multicapas

Page 7: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

Las neuronas de la capa oculta usan como regla de Las neuronas de la capa oculta usan como regla de propagación la suma ponderada de las entradas con los propagación la suma ponderada de las entradas con los pesos sinápticos wij y sobre esa suma ponderada se pesos sinápticos wij y sobre esa suma ponderada se aplica una función de transferencia de tipo sigmoide, que aplica una función de transferencia de tipo sigmoide, que es acotada en respuesta. es acotada en respuesta.

Forma funcional de una sigmoide Forma funcional de una sigmoide

Page 8: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

AprendizajeAprendizaje El aprendizaje que se suele usar en este tipo de redes El aprendizaje que se suele usar en este tipo de redes

recibe el nombre de retropropagacion del error recibe el nombre de retropropagacion del error (backpropagation).(backpropagation).

Como función de coste global, se usa el error cuadrático Como función de coste global, se usa el error cuadrático medio. Es decir, que dado un par (medio. Es decir, que dado un par (xxk, k, ddk) correspondiente k) correspondiente a la entrada k de los datos de entrenamiento y salida a la entrada k de los datos de entrenamiento y salida deseada asociada se calcula la cantidad: deseada asociada se calcula la cantidad:

Formula del Error Cuadrático MedioFormula del Error Cuadrático Medio

Page 9: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

que vemos que es la suma de los errores parciales que vemos que es la suma de los errores parciales debido a cada patrón (índice p), resultantes de la debido a cada patrón (índice p), resultantes de la diferencia entre la salida deseada dp y la salida que da diferencia entre la salida deseada dp y la salida que da la red f(.) ante el vector de entrada xk. la red f(.) ante el vector de entrada xk.

Si estas salidas son muy diferentes de las salidas Si estas salidas son muy diferentes de las salidas deseadas, el error cuadrático medio Será grande. f es la deseadas, el error cuadrático medio Será grande. f es la función de activación de las neuronas de la capa de función de activación de las neuronas de la capa de salida e y la salida que proporcionan las neuronas de la salida e y la salida que proporcionan las neuronas de la ultima capa oculta. ultima capa oculta.

El procedimiento de minimización utilizado sobre la El procedimiento de minimización utilizado sobre la función de coste global es función de coste global es el Descenso de Gradienteel Descenso de Gradiente

Page 10: Perceptron parte 2

El Perceptron MulticapasEl Perceptron Multicapas

Algoritmo BackpropagationAlgoritmo Backpropagation La aplicación del algoritmo tiene dos fases, una hacia La aplicación del algoritmo tiene dos fases, una hacia

delante y otra hacia atrás. Durante la primera fase el patrón delante y otra hacia atrás. Durante la primera fase el patrón de entrada es presentado a la red y propagado a través de de entrada es presentado a la red y propagado a través de las capas hasta llegar a la capa de salida. las capas hasta llegar a la capa de salida.

Obtenidos los valores de salida de la red, se inicia la Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos valores con la salida segunda fase, comparándose éstos valores con la salida esperada para obtener el error.esperada para obtener el error.

Se ajustan los pesos de la última capa proporcionalmente Se ajustan los pesos de la última capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación al error. Se pasa a la capa anterior con una retropopagación del error, ajustando los pesos y continuando con este del error, ajustando los pesos y continuando con este proceso hasta llegar a la primer capa. proceso hasta llegar a la primer capa.

De esta manera se han modificado los pesos de las De esta manera se han modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del conexiones de la red para cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la problema, del que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho salida deseada que debería generar la red ante dicho patrón.patrón.

Page 11: Perceptron parte 2

BackpropagationBackpropagation

La técnica La técnica BackpropagationBackpropagation requiere el uso de neuronas requiere el uso de neuronas cuya función de activación sea continua, y por lo tanto, cuya función de activación sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será del diferenciable. Generalmente, la función utilizada será del tipo sigmoidal.tipo sigmoidal.Pasos para aplicar el algoritmo de entrenamientoPasos para aplicar el algoritmo de entrenamiento

Paso 1:Inicializar los pesos de la red con valores Paso 1:Inicializar los pesos de la red con valores pequeños aleatorios.pequeños aleatorios.

Paso 2:Presentar un patrón de entrada y especificar la Paso 2:Presentar un patrón de entrada y especificar la salida deseada que debe generar la red.salida deseada que debe generar la red.

Paso 3:Calcular la salida actual de la red. Para ello Paso 3:Calcular la salida actual de la red. Para ello presentamos las entradas a la red y vamos calculando la presentamos las entradas a la red y vamos calculando la salida que presenta cada capa hasta llegar a la capa de salida que presenta cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los pasos son los salida, ésta será la salida de la red. Los pasos son los siguientes:siguientes:

Page 12: Perceptron parte 2

BackpropagationBackpropagation

Se calculan las entradas netas para las neuronas ocultas Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona procedentes de las neuronas de entrada. Para una neurona jj oculta: oculta:

en donde el índice en donde el índice hh se refiere a magnitudes de la capa se refiere a magnitudes de la capa oculta; el subíndice oculta; el subíndice pp, al , al p-ésimo p-ésimo vector de entrenamiento, vector de entrenamiento, y y jj a la a la j-ésimaj-ésima neurona oculta. El término neurona oculta. El término θθ puede ser puede ser opcional, pues actúa como una entrada más.opcional, pues actúa como una entrada más.

Page 13: Perceptron parte 2

BackpropagationBackpropagation

Se calculan las salidas de las neuronas ocultas: Se calculan las salidas de las neuronas ocultas:

Se realizan los mismos cálculos para obtener las salidas Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida: de las neuronas de salida:

               .

Page 14: Perceptron parte 2

BackpropagationBackpropagation

Paso 4:Calcular los términos de error para todas las Paso 4:Calcular los términos de error para todas las neuronas.neuronas.

Si la neurona Si la neurona kk es una es una neurona de la capa de salidaneurona de la capa de salida, el , el valor de la valor de la deltadelta es: es:

La función La función ff debe ser derivable. En general disponemos de debe ser derivable. En general disponemos de dos formas de función de salidados formas de función de salida

La función lineal :La función lineal : La función sigmoidal: La función sigmoidal:

Page 15: Perceptron parte 2

BackpropagationBackpropagation

Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: de la siguiente forma:

Para los pesos de las neuronas de la capa de salida: Para los pesos de las neuronas de la capa de salida:

Para los pesos de las neuronas de la capa oculta:Para los pesos de las neuronas de la capa oculta:

En ambos casos, para acelerar el proceso de aprendizaje se puede En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término añadir un término momento.momento.

Page 16: Perceptron parte 2

BackpropagationBackpropagation

Paso 5:Actualización de los pesos: para ello utilizamos Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: entrada, ajustando los pesos de la siguiente forma:

Para los pesos de las neuronas de la capa de salida: Para los pesos de las neuronas de la capa de salida:

Page 17: Perceptron parte 2

BackpropagationBackpropagation

Paso 6: El proceso se repite hasta que el término de Paso 6: El proceso se repite hasta que el término de error resulta aceptablemente pequeño para error resulta aceptablemente pequeño para cada uno de los patrones aprendidos.cada uno de los patrones aprendidos.

Consideraciones sobre el algoritmo de aprendizajeConsideraciones sobre el algoritmo de aprendizaje

El algoritmo encuentra un valor mínimo de error (local o El algoritmo encuentra un valor mínimo de error (local o global) mediante una aplicación de pasos (gradiente) global) mediante una aplicación de pasos (gradiente) descendentes. descendentes.

Cada punto de la superficie de la función corresponde a Cada punto de la superficie de la función corresponde a un conjunto de valores de los pesos de la red. un conjunto de valores de los pesos de la red.

Page 18: Perceptron parte 2

BackpropagationBackpropagation

Con el gradiente descendente, siempre que se realiza Con el gradiente descendente, siempre que se realiza un cambio en todos los pesos de la red, se asegura el un cambio en todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el descenso por la superficie del error hasta encontrar el valle más cercano, lo que puede hacer que el proceso valle más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de error.de aprendizaje se detenga en un mínimo local de error.

Uno de los problemas del algoritmo es que en busca de minimizar Uno de los problemas del algoritmo es que en busca de minimizar la función de error, puede caer en un mínimo local o en algún punto la función de error, puede caer en un mínimo local o en algún punto estacionario, con lo cual no se llega a encontrar el mínimo global de estacionario, con lo cual no se llega a encontrar el mínimo global de la función de error. Sin embargo, no tiene porqué alcanzarse el la función de error. Sin embargo, no tiene porqué alcanzarse el mínimo global en todas las aplicaciones, sino que puede ser mínimo global en todas las aplicaciones, sino que puede ser suficiente con un error mínimo preestablecido.suficiente con un error mínimo preestablecido.

Page 19: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

Considere un modelo del perceptron simple, el cual Considere un modelo del perceptron simple, el cual deberá ser entrenado para que lleve a cabo el deberá ser entrenado para que lleve a cabo el funcionamiento de una compuerta lógica OR.funcionamiento de una compuerta lógica OR.

x1x1 x2x2 SDSD

00 00 00

00 11 11

11 00 11

11 11 11

Page 20: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

Donde: Donde:

uwxACT i

n

ii

)(1

YSDE ii xEw iii www 1

Euu λ : Regula la velocidad de aprendizaje (0≤ λ ≤1 ; λ =1)

Page 21: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

IteIte X1X1 x2x2 w1w1 w2w2 uu actact YY EE w1w1 w2w2 uu

11 00 00 0,50,5 1,51,5 1,51,5 1,51,5 11 -1-1 0,50,5 1,51,5 0,50,5

11 00 11 0,50,5 1,51,5 0,50,5 22 11 00 0,50,5 1,51,5 0,50,5

11 11 00 0,50,5 1,51,5 0,50,5 11 11 00 0,50,5 1,51,5 0,50,5

11 11 11 0,50,5 1,51,5 0,50,5 2,52,5 11 00 0,50,5 1,51,5 0,50,5

Page 22: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

IteIte X1X1 x2x2 w1w1 w2w2 uu actact YY EE w1w1 w2w2 uu

2 2 00 00 0,50,5 1,51,5 0,50,5 0,50,5 11 -1-1 0,50,5 1,51,5 -0,5-0,5

2 2 00 11 0,50,5 1,51,5 -0,5-0,5 00 11 00 0,50,5 1,51,5 -0,5-0,5

2 2 11 00 0,50,5 1,51,5 -0,5-0,5 11 11 00 0,50,5 1,51,5 -0,5-0,5

2 2 11 11 0,50,5 1,51,5 -0,5-0,5 1,51,5 11 00 0,50,5 1,51,5 -0,5-0,5

Page 23: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

IteIte X1X1 x2x2 w1w1 w2w2 uu actact YY EE w1w1 w2w2 uu

3 3 00 00 0,50,5 1,51,5 -0,5-0,5 -0,5-0,5 00 00 0,50,5 1,51,5 -0,5-0,5

3 3 00 11 0,50,5 1,51,5 -0,5-0,5 00 11 00 0,50,5 1,51,5 -0,5-0,5

3 3 11 00 0,50,5 1,51,5 -0,5-0,5 11 11 00 0,50,5 1,51,5 -0,5-0,5

3 3 11 11 0,50,5 1,51,5 -0,5-0,5 1,51,5 11 00 0,50,5 1,51,5 -0,5-0,5

Page 24: Perceptron parte 2

Ejemplo usando un PerceptronEjemplo usando un Perceptron

La compuerta OR, por ser una función linealmente La compuerta OR, por ser una función linealmente separable puede ser aprendida por un perceptronseparable puede ser aprendida por un perceptron

Page 25: Perceptron parte 2

GRACIAS POR SU ATENCIONGRACIAS POR SU ATENCION