Redes Neuronales
 ( El Perceptron)
El Modelo Adaline

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

            Arquitectura del ADALINE
Comparaciones Perceptron - ADALINE

 La regla del aprendizaje de ADALINE es idéntica a la regla del
  Perceptron 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
  ADALINE, se busca minimizar la función de costo de funcionamiento
  del dispositivo, mientras que en el caso del Perceptron, se persigue la
  determinación de hiperplano separador entre dos clases.
 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
  delta (caso ADALINE), es de convergencia asintótica, en principio
  luego de muchas iteraciones.
 El empleo de muchas funciones de transferencia sobre el mismo
  conjunto de entrenamiento, trae como consecuencia que la dinámica
  de aprendizaje tienda a resultados distintos para los pesos sinápticos.
Comparaciones Perceptron - ADALINE

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


            El Perceptron Multicapas
           El perceptrón multicapas es una red Neuronal
    artificial(RNA) formada por múltiples capas, lo cual le
    permite resolver problemas que no son linealmente
    separables, lo
         El perceptrón multicapas puede ser totalmente o
    localmente conectado.
     En el primer caso cada salida de una neurona de la capa
    "i" es entrada de todas las neuronas de la capa "i+1“.
El Perceptron Multicapas

      En el segundo caso, cada neurona de la capa "i" es
    entrada de una serie de neuronas (región) de la capa
    "i+1".
    Las capas pueden clasificarse en tres tipos:
   Capa de entrada: Constituida por aquellas neuronas
    que introducen los patrones de entrada en la red. En
    estas neuronas no se produce procesamiento.
   Capas ocultas: Formada por aquellas neuronas cuyas
    entradas provienen de capas anteriores y las salidas
    pasan a neuronas de capas posteriores.
   Capa de salida: Neuronas cuyos valores de salida se
    corresponden con las salidas de toda la red.
El Perceptron Multicapas

Representación del Perceptron Multicapas
El Perceptron Multicapas

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

                        Aprendizaje
   El aprendizaje que se suele usar en este tipo de redes
    recibe el nombre de retropropagacion del error
    (backpropagation).
   Como función de coste global, se usa el error cuadrático
    medio. Es decir, que dado un par (xk, dk) correspondiente
    a la entrada k de los datos de entrenamiento y salida
    deseada asociada se calcula la cantidad:
         Formula del Error Cuadrático Medio
El Perceptron Multicapas

  que vemos que es la suma de los errores parciales
debido a cada patrón (índice p), resultantes de la
diferencia entre la salida deseada dp y la salida que da
la red f(.) ante el vector de entrada xk.
   Si estas salidas son muy diferentes de las salidas
deseadas, el error cuadrático medio Será grande. f es la
función de activación de las neuronas de la capa de
salida e y la salida que proporcionan las neuronas de la
ultima capa oculta.
   El procedimiento de minimización utilizado sobre la
función de coste global es el Descenso de Gradiente
El Perceptron Multicapas
                   Algoritmo Backpropagation
           La aplicación del algoritmo tiene dos fases, una hacia
    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
    las capas hasta llegar a la capa de salida.
   Obtenidos los valores de salida de la red, se inicia la
    segunda fase, comparándose éstos valores con la salida
    esperada para obtener el error.
    Se ajustan los pesos de la última capa proporcionalmente
    al error. Se pasa a la capa anterior con una retropopagación
    del error, ajustando los pesos y continuando con este
    proceso hasta llegar a la primer capa.
   De esta manera se han modificado los pesos de las
    conexiones de la red para cada patrón de aprendizaje del
    problema, del que conocíamos su valor de entrada y la
    salida deseada que debería generar la red ante dicho
    patrón.
Backpropagation

   La técnica Backpropagation requiere el uso de neuronas
    cuya función de activación sea continua, y por lo tanto,
    diferenciable. Generalmente, la función utilizada será del
    tipo sigmoidal.
     Pasos para aplicar el algoritmo de entrenamiento
   Paso 1:Inicializar los pesos de la red con valores
    pequeños aleatorios.
   Paso 2:Presentar un patrón de entrada y especificar la
    salida deseada que debe generar la red.
   Paso 3:Calcular la salida actual de la red. Para ello
    presentamos las entradas a la red y vamos calculando la
    salida que presenta cada capa hasta llegar a la capa de
    salida, ésta será la salida de la red. Los pasos son los
    siguientes:
Backpropagation

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




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

   Se calculan las salidas de las neuronas ocultas:




                                  .

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

   Paso 4:Calcular los términos de error para todas las
    neuronas.
     Si la neurona k es una neurona de la capa de salida, el
    valor de la delta es:


     La función f debe ser derivable. En general disponemos de
    dos formas de función de salida
    La función lineal :
    La función sigmoidal:
Backpropagation

   Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo
    recursivo, comenzando por las neuronas de salida y trabajando
    hacia atrás hasta llegar a la capa de 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 oculta:




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

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

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

    Consideraciones sobre el algoritmo de aprendizaje

   El algoritmo encuentra un valor mínimo de error (local o
    global) mediante una aplicación de pasos (gradiente)
    descendentes.
   Cada punto de la superficie de la función corresponde a
    un conjunto de valores de los pesos de la red.
Backpropagation

   Con el gradiente descendente, siempre que se realiza
    un cambio en todos los pesos de la red, se asegura el
    descenso por la superficie del error hasta encontrar el
    valle más cercano, lo que puede hacer que el proceso
    de aprendizaje se detenga en un mínimo local de error.
   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
    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
    mínimo global en todas las aplicaciones, sino que puede ser
    suficiente con un error mínimo preestablecido.
Ejemplo usando un Perceptron

     Considere un modelo del perceptron simple, el cual
deberá ser entrenado para que lleve a cabo el
funcionamiento de una compuerta lógica OR.
 x1 x2 SD
  0 0 0
  0 1 1
  1 0 1
  1 1 1
Ejemplo usando un Perceptron


  Donde:
        n
ACT = ∑ ( xi ∗ wi ) + u
        i=1


E = SD − Y                ∆ wi = λ ∗ E ∗ xi          wi +1 = wi + ∆wi

u= u+ E
λ : Regula la velocidad de aprendizaje (0≤ λ ≤1 ; λ =1)
Ejemplo usando un Perceptron

Ite   X1   x2   w1 w2    u    act   Y   E    w1 w2    u


1     0    0    0,5 1,5 1,5 1,5     1   -1   0,5 1,5 0,5

1     0    1    0,5 1,5 0,5   2     1   0    0,5 1,5 0,5


1     1    0    0,5 1,5 0,5   1     1   0    0,5 1,5 0,5

1     1    1    0,5 1,5 0,5   2,5   1   0    0,5 1,5 0,5
Ejemplo usando un Perceptron


Ite   X1   x2   w1 w2    u     act   Y   E    w1 w2    u

2     0    0    0,5 1,5 0,5 0,5      1   -1   0,5 1,5 -0,5

2     0    1    0,5 1,5 -0,5   0     1   0    0,5 1,5 -0,5

2     1    0    0,5 1,5 -0,5   1     1   0    0,5 1,5 -0,5

2     1    1    0,5 1,5 -0,5 1,5     1   0    0,5 1,5 -0,5
Ejemplo usando un Perceptron


Ite   X1   x2   w1    w2   u     act   Y   E   w1    w2   u

3     0    0    0,5   1,5 -0,5 -0,5    0   0   0,5   1,5 -0,5

3     0    1    0,5   1,5 -0,5   0     1   0   0,5   1,5 -0,5

3     1    0    0,5   1,5 -0,5   1     1   0   0,5   1,5 -0,5

3     1    1    0,5   1,5 -0,5 1,5     1   0   0,5   1,5 -0,5
Ejemplo usando un Perceptron

     La compuerta OR, por ser una función linealmente
separable puede ser aprendida por un perceptron
GRACIAS POR SU ATENCION

Perceptron parte 2

  • 1.
    Redes Neuronales (El Perceptron)
  • 2.
    El Modelo Adaline La función tiende a cero cuando los pesos se hacen mejores. Esta regla de aprendizaje se conoce como la regla delta o de Widrow-Hoff o regla LMS (the Least Mean Squared) Arquitectura del ADALINE
  • 3.
    Comparaciones Perceptron -ADALINE  La regla del aprendizaje de ADALINE es idéntica a la regla del Perceptron 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 ADALINE, se busca minimizar la función de costo de funcionamiento del dispositivo, mientras que en el caso del Perceptron, se persigue la determinación de hiperplano separador entre dos clases.  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 delta (caso ADALINE), es de convergencia asintótica, en principio luego de muchas iteraciones.  El empleo de muchas funciones de transferencia sobre el mismo conjunto de entrenamiento, trae como consecuencia que la dinámica de aprendizaje tienda a resultados distintos para los pesos sinápticos.
  • 4.
    Comparaciones Perceptron -ADALINE  El enfoque de descenso de gradiente(ADALINE) es fácilmente generalizable a redes de varias capas, mientras que la regla del perceptron no lo es El Perceptron Multicapas El perceptrón multicapas es una red Neuronal artificial(RNA) formada por múltiples capas, lo cual le permite resolver problemas que no son linealmente separables, lo El perceptrón multicapas puede ser totalmente o localmente conectado. En el primer caso cada salida de una neurona de la capa "i" es entrada de todas las neuronas de la capa "i+1“.
  • 5.
    El Perceptron Multicapas En el segundo caso, cada neurona de la capa "i" es entrada de una serie de neuronas (región) de la capa "i+1". Las capas pueden clasificarse en tres tipos:  Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento.  Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y las salidas pasan a neuronas de capas posteriores.  Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la red.
  • 6.
  • 7.
    El Perceptron Multicapas  Las neuronas de la capa oculta usan como regla de propagación la suma ponderada de las entradas con los pesos sinápticos wij y sobre esa suma ponderada se aplica una función de transferencia de tipo sigmoide, que es acotada en respuesta. Forma funcional de una sigmoide
  • 8.
    El Perceptron Multicapas Aprendizaje  El aprendizaje que se suele usar en este tipo de redes recibe el nombre de retropropagacion del error (backpropagation).  Como función de coste global, se usa el error cuadrático medio. Es decir, que dado un par (xk, dk) correspondiente a la entrada k de los datos de entrenamiento y salida deseada asociada se calcula la cantidad: Formula del Error Cuadrático Medio
  • 9.
    El Perceptron Multicapas que vemos que es la suma de los errores parciales debido a cada patrón (índice p), resultantes de la diferencia entre la salida deseada dp y la salida que da la red f(.) ante el vector de entrada xk. Si estas salidas son muy diferentes de las salidas deseadas, el error cuadrático medio Será grande. f es la función de activación de las neuronas de la capa de salida e y la salida que proporcionan las neuronas de la ultima capa oculta. El procedimiento de minimización utilizado sobre la función de coste global es el Descenso de Gradiente
  • 10.
    El Perceptron Multicapas Algoritmo Backpropagation La aplicación del algoritmo tiene dos fases, una hacia 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 las capas hasta llegar a la capa de salida.  Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos valores con la salida esperada para obtener el error.  Se ajustan los pesos de la última capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del error, ajustando los pesos y continuando con este proceso hasta llegar a la primer capa.  De esta manera se han modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho patrón.
  • 11.
    Backpropagation  La técnica Backpropagation requiere el uso de neuronas cuya función de activación sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal. Pasos para aplicar el algoritmo de entrenamiento  Paso 1:Inicializar los pesos de la red con valores pequeños aleatorios.  Paso 2:Presentar un patrón de entrada y especificar la salida deseada que debe generar la red.  Paso 3:Calcular la salida actual de la red. Para ello presentamos las entradas a la red y vamos calculando la salida que presenta cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los pasos son los siguientes:
  • 12.
    Backpropagation  Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona j oculta:  en donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al p-ésimo vector de entrenamiento, y j a la j-ésima neurona oculta. El término θ puede ser opcional, pues actúa como una entrada más.
  • 13.
    Backpropagation  Se calculan las salidas de las neuronas ocultas: .  Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida:
  • 14.
    Backpropagation  Paso 4:Calcular los términos de error para todas las neuronas. Si la neurona k es una neurona de la capa de salida, el valor de la delta es: La función f debe ser derivable. En general disponemos de dos formas de función de salida La función lineal : La función sigmoidal:
  • 15.
    Backpropagation  Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de 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 oculta: En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término momento.
  • 16.
    Backpropagation  Paso 5:Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: Para los pesos de las neuronas de la capa de salida:
  • 17.
    Backpropagation  Paso 6: El proceso se repite hasta que el término de error resulta aceptablemente pequeño para cada uno de los patrones aprendidos. Consideraciones sobre el algoritmo de aprendizaje  El algoritmo encuentra un valor mínimo de error (local o global) mediante una aplicación de pasos (gradiente) descendentes.  Cada punto de la superficie de la función corresponde a un conjunto de valores de los pesos de la red.
  • 18.
    Backpropagation  Con el gradiente descendente, siempre que se realiza un cambio en todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el valle más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de error.  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 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 mínimo global en todas las aplicaciones, sino que puede ser suficiente con un error mínimo preestablecido.
  • 19.
    Ejemplo usando unPerceptron Considere un modelo del perceptron simple, el cual deberá ser entrenado para que lleve a cabo el funcionamiento de una compuerta lógica OR. x1 x2 SD 0 0 0 0 1 1 1 0 1 1 1 1
  • 20.
    Ejemplo usando unPerceptron Donde: n ACT = ∑ ( xi ∗ wi ) + u i=1 E = SD − Y ∆ wi = λ ∗ E ∗ xi wi +1 = wi + ∆wi u= u+ E λ : Regula la velocidad de aprendizaje (0≤ λ ≤1 ; λ =1)
  • 21.
    Ejemplo usando unPerceptron Ite X1 x2 w1 w2 u act Y E w1 w2 u 1 0 0 0,5 1,5 1,5 1,5 1 -1 0,5 1,5 0,5 1 0 1 0,5 1,5 0,5 2 1 0 0,5 1,5 0,5 1 1 0 0,5 1,5 0,5 1 1 0 0,5 1,5 0,5 1 1 1 0,5 1,5 0,5 2,5 1 0 0,5 1,5 0,5
  • 22.
    Ejemplo usando unPerceptron Ite X1 x2 w1 w2 u act Y E w1 w2 u 2 0 0 0,5 1,5 0,5 0,5 1 -1 0,5 1,5 -0,5 2 0 1 0,5 1,5 -0,5 0 1 0 0,5 1,5 -0,5 2 1 0 0,5 1,5 -0,5 1 1 0 0,5 1,5 -0,5 2 1 1 0,5 1,5 -0,5 1,5 1 0 0,5 1,5 -0,5
  • 23.
    Ejemplo usando unPerceptron Ite X1 x2 w1 w2 u act Y E w1 w2 u 3 0 0 0,5 1,5 -0,5 -0,5 0 0 0,5 1,5 -0,5 3 0 1 0,5 1,5 -0,5 0 1 0 0,5 1,5 -0,5 3 1 0 0,5 1,5 -0,5 1 1 0 0,5 1,5 -0,5 3 1 1 0,5 1,5 -0,5 1,5 1 0 0,5 1,5 -0,5
  • 24.
    Ejemplo usando unPerceptron La compuerta OR, por ser una función linealmente separable puede ser aprendida por un perceptron
  • 25.