Este Tutorial en profundidad sobre Reglas de Aprendizaje de Redes Neuronales explica el Aprendizaje Hebbiano y el Algoritmo de Aprendizaje Perceptrón con Ejemplos:
En nuestro tutorial anterior hablamos de la Red Neuronal Artificial que es una arquitectura de un gran número de elementos interconectados llamados neuronas.
Estas neuronas procesan la entrada recibida para dar la salida deseada. Los nodos o neuronas están unidos por entradas, pesos de conexión y funciones de activación.
La principal característica de una red neuronal es su capacidad de aprendizaje. Las redes neuronales se entrenan con ejemplos conocidos. Una vez que la red se entrena, se puede utilizar para resolver los valores desconocidos del problema.
=> Leer a través de la serie completa de entrenamiento de aprendizaje automático
La red neuronal aprende a través de varios esquemas de aprendizaje que se clasifican como aprendizaje supervisado o no supervisado.
En los algoritmos de aprendizaje supervisado, los valores objetivo son conocidos por la red. Intenta reducir el error entre la salida deseada (objetivo) y la salida real para obtener un rendimiento óptimo. En los algoritmos de aprendizaje no supervisado, se desconocen los valores objetivo y la red aprende por sí misma identificando los patrones ocultos en la entrada mediante la formación de clusters, etc.
Una RNA consta de 3 partes: la capa de entrada, la capa oculta y la capa de salida. Hay una sola capa de entrada y una capa de salida, mientras que puede no haber ninguna capa oculta o una o más capas ocultas que pueden estar presentes en la red. Sobre la base de esta estructura, la RNA se clasifica en redes de una sola capa, multicapa, feed-forward o recurrente.
- Terminología importante de la RNA
- Comparación de reglas de aprendizaje de redes neuronales
- Clasificación De Algoritmos De Aprendizaje Supervisado
- #1) Aprendizaje De Descenso De Gradiente
- #2) Aprendizaje estocástico
- Clasificación de algoritmos de aprendizaje no supervisado
- #1) Aprendizaje Hebbiano
- #2) Aprendizaje competitivo
- Neurona Mc Culloch-Pitts
- Algoritmo de aprendizaje hebbiano
- Ejemplo de regla de aprendizaje Hebbiano
- Algoritmo de aprendizaje Perceptron
- Ejemplo de regla de aprendizaje Perceptron
- Algoritmo de Aprendizaje de Hoff
- Conclusión
Terminología importante de la RNA
Antes de clasificar las diversas reglas de aprendizaje en la RNA, vamos a entender algunas terminologías importantes relacionadas con la RNA.
#1) Pesos: En una RNA, cada neurona está conectada a las demás neuronas a través de enlaces de conexión. Estos enlaces llevan un peso. El peso tiene información sobre la señal de entrada a la neurona. Los pesos y la señal de entrada se utilizan para obtener una salida. Los pesos se pueden denotar en forma de matriz que también se llama matriz de conexión.
Cada neurona está conectada a todas las demás neuronas de la siguiente capa a través de los pesos de conexión. Por lo tanto, si hay «n» nodos y cada nodo tiene «m» pesos, entonces la matriz de pesos será:
W1 representa el vector de pesos a partir del nodo 1. W11 representa el vector de pesos desde el primer nodo de la capa anterior hasta el primer nodo de la capa siguiente. Del mismo modo, wij representa el vector de pesos desde el «i» elemento de procesamiento (neurona) hasta el «j» elemento de procesamiento de la capa siguiente.
#2) Sesgo: El sesgo se añade a la red añadiendo un elemento de entrada x (b) = 1 en el vector de entrada. El sesgo también lleva un peso denotado por w (b).
El sesgo juega un papel importante en el cálculo de la salida de la neurona. El sesgo puede ser positivo o negativo. Un sesgo positivo aumenta el peso neto de entrada mientras que el sesgo negativo reduce la entrada neta.
#3) Umbral: Un valor de umbral se utiliza en la función de activación. La entrada neta se compara con el umbral para obtener la salida. En la NN, la función de activación se define en base al valor del umbral y se calcula la salida.
El valor del umbral es:
#4) Tasa de aprendizaje: Se denota por alfa ? La tasa de aprendizaje oscila entre 0 y 1. Se utiliza para ajustar el peso durante el proceso de aprendizaje de la NN.
#5) Factor de impulso: Se añade para una convergencia más rápida de los resultados. El factor de impulso se añade al peso y se utiliza generalmente en las redes de retropropagación.
Comparación de reglas de aprendizaje de redes neuronales
Métodos de aprendizaje -> | Descenso Gradiente | Hebbiano | Competitivo | Estocástico |
---|---|---|---|---|
Tipo de Arquitectura || |
||||
Feedforward de una capa | ADALINE Hopfield Perceptron |
Asociativa Memoria Hopfield |
Lineal Vector Cantización |
|
Formación multicapa | Cascada Correlación Formación multicapa Forward Función de sesgo radial |
Neocognitrón | ||
Recurrente | Red Neural Recurrente |
Auto Asociativa Memoria Cerebral . Estado-en-una-caja Hopfield |
Teoría adaptativa de la resonancia | Boltzmann Máquina Cauchy |
A continuación se muestra la clasificación de varios tipos de aprendizaje de RNA.
Clasificación De Algoritmos De Aprendizaje Supervisado
- Descenso De Gradiente
- Estocástico
#1) Aprendizaje De Descenso De Gradiente
En este tipo de aprendizaje, la reducción del error se produce con la ayuda de los pesos y la función de activación de la red. La función de activación debe ser diferenciable.
El ajuste de los pesos depende del gradiente de error E en este aprendizaje. La regla de retropropagación es un ejemplo de este tipo de aprendizaje. Así, el ajuste de pesos se define como
#2) Aprendizaje estocástico
En este aprendizaje, los pesos se ajustan de forma probabilística.
Clasificación de algoritmos de aprendizaje no supervisado
- Hebbiano
- Competitivo
#1) Aprendizaje Hebbiano
Este aprendizaje fue propuesto por Hebb en 1949. Se basa en el ajuste correlativo de los pesos. Los pares de patrones de entrada y salida se asocian a una matriz de pesos, W.
Se toma la transposición de la salida para el ajuste de pesos.
#2) Aprendizaje competitivo
Es una estrategia en la que el ganador se lo lleva todo. En este tipo de aprendizaje, cuando se envía un patrón de entrada a la red, todas las neuronas de la capa compiten y sólo las neuronas ganadoras tienen ajustes de peso.
Neurona Mc Culloch-Pitts
También conocida como Neurona M-P, es la primera red neuronal que se descubrió en 1943. En este modelo, las neuronas están conectadas por pesos de conexión, y la función de activación se utiliza en binario. El umbral se utiliza para determinar si la neurona se dispara o no.
La función de la neurona M-P es:
Algoritmo de aprendizaje hebbiano
La red de Hebb fue declarada por Donald Hebb en 1949. Según la regla de Hebb, los pesos aumentan proporcionalmente al producto de la entrada y la salida. Significa que en una red de Hebb si dos neuronas están interconectadas entonces los pesos asociados a estas neuronas pueden aumentar por cambios en la brecha sináptica.
Esta red es adecuada para datos bipolares. La regla de aprendizaje Hebbian se aplica generalmente a las puertas lógicas.
Los pesos se actualizan como:
W (nuevo) = w (antiguo) + x*y
Algoritmo de entrenamiento para la regla de aprendizaje Hebbian
Los pasos de entrenamiento del algoritmo son los siguientes:
- Inicialmente, los pesos se ponen a cero, es decir.es decir, w =0 para todas las entradas i =1 a n y n es el número total de neuronas de entrada.
- Deja que s sea la salida. La función de activación para las entradas se establece generalmente como una función de identidad.
- La función de activación para la salida también se establece como y= t.
- Los ajustes de pesos y el sesgo se ajustan a:
- Los pasos 2 a 4 se repiten para cada vector de entrada y salida.
Ejemplo de regla de aprendizaje Hebbiano
Implementemos la función lógica AND con entradas bipolares utilizando el aprendizaje Hebbiano
X1 y X2 son las entradas, b es el sesgo tomado como 1, el valor objetivo es la salida de la operación lógica AND sobre las entradas.
Input | Input | Bias | Target |
---|---|---|---|
X1 | X2 | b | y |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
#1) Inicialmente, los pesos se ponen a cero y el sesgo también se pone a cero.
W1=w2=b=0
#2) El primer vector de entrada se toma como = y el valor objetivo es 1.
Los nuevos pesos serán:
#3) Los pesos anteriores son los nuevos pesos finales. Cuando se pasa la segunda entrada, estos se convierten en los pesos iniciales.
#4) Tome la segunda entrada = . El objetivo es -1.
#5) De manera similar, se calculan las otras entradas y pesos.
La siguiente tabla muestra todas las entradas:
Red Hebbi para la función AND
Algoritmo de aprendizaje Perceptron
Las redes Perceptron son redes feed-forward de una sola capa. También se denominan Redes de Perceptrón simple. El perceptrón consta de una capa de entrada, una capa oculta y una capa de salida.
La capa de entrada está conectada a la capa oculta a través de pesos que pueden ser inhibitorios o excitadores o nulos (-1, +1 o 0). La función de activación utilizada es una función binaria escalonada para la capa de entrada y la capa oculta.
La salida es
Y= f (y)
La función de activación es:
La actualización de los pesos tiene lugar entre la capa oculta y la capa de salida para ajustarse a la salida objetivo. El error se calcula basándose en la salida real y la salida deseada.
Si la salida coincide con el objetivo, no se actualiza el peso. Los pesos se fijan inicialmente en 0 ó 1 y se ajustan sucesivamente hasta encontrar una solución óptima.
Los pesos de la red pueden fijarse inicialmente en cualquier valor. El aprendizaje del Perceptrón convergerá en el vector de pesos que da la salida correcta para todos los patrones de entrenamiento de entrada y este aprendizaje ocurre en un número finito de pasos.
La regla del Perceptrón se puede utilizar tanto para entradas binarias como bipolares.
Regla de aprendizaje para el Perceptrón de una sola salida
#1) Que haya «n» vectores de entrada de entrenamiento y que x (n) y t (n) estén asociados a los valores objetivo.
#2) Inicializar los pesos y el sesgo. Ponerlos a cero para facilitar el cálculo.
#3) Que la tasa de aprendizaje sea 1.
#4) La capa de entrada tiene función de activación de identidad por lo que x (i)= s ( i).
#5) Calcular la salida de la red:
#6) La función de activación se aplica sobre la entrada de la red para obtener una salida.
#7) Ahora, basándose en la salida, comparar el valor objetivo deseado (t) y la salida real.
#8) Continuar la iteración hasta que no haya ningún cambio de peso. Deténgase una vez que se logre esta condición.
Regla de aprendizaje para el Perceptrón de Salida Múltiple
#1) Que haya «n» vectores de entrada de entrenamiento y que x (n) y t (n) estén asociados a los valores objetivo.
#2) Inicialice los pesos y el sesgo. Ponerlos a cero para facilitar el cálculo.
#3) Que la tasa de aprendizaje sea 1.
#4) La capa de entrada tiene función de activación de identidad por lo que x (i)= s ( i).
#5) Para calcular la salida de cada vector de salida de j= 1 a m, la entrada de la red es:
#6) Se aplica la función de activación sobre la entrada de la red para obtener una salida.
#7) Ahora, basándose en la salida, se compara el valor objetivo deseado (t) y la salida real y se realizan los ajustes de peso.
w es el vector de pesos de los enlaces de conexión entre la i-ésima neurona de entrada y la j-ésima neurona de salida y t es la salida objetivo para la unidad de salida j.
#8) Se continúa la iteración hasta que no haya ningún cambio de peso. Deténgase una vez que se logre esta condición.
Ejemplo de regla de aprendizaje Perceptron
Implementación de la función AND utilizando una red Perceptron para entradas y salidas bipolares.
El patrón de entrada será x1, x2 y el sesgo b. Que los pesos iniciales sean 0 y el sesgo sea 0. El umbral se establece en cero y la tasa de aprendizaje es 1.
Puerta AND
X1 | X2 | Objetivo |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
#1) X1=1 , X2= 1 y salida objetivo = 1
W1=w2=wb=0 y x1=x2=b=1, t=1
Entrada de red= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0
Como el umbral es cero por tanto:
De aquí obtenemos, salida = 0. Ahora compruebe si la salida (y) = objetivo (t).
y = 0 pero t= 1 lo que significa que estos no son iguales, por lo tanto, la actualización de pesos se lleva a cabo.
Los nuevos pesos son 1, 1, y 1 después de que el primer vector de entrada se presenta.
#2) X1= 1 X2= -1 , b= 1 y objetivo = -1, W1=1 ,W2=2, Wb=1
Entrada neta= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
La salida neta para la entrada= 1 será 1 de:
Por lo tanto, de nuevo, objetivo = -1 no coincide con la salida real =1. Las actualizaciones de peso tienen lugar.
Ahora los nuevos pesos son w1 = 0 w2 =2 y wb =0
De manera similar, al continuar con el siguiente conjunto de entradas, obtenemos la siguiente tabla:
Los EPOCHS son el ciclo de patrones de entrada alimentados al sistema hasta que no hay ningún cambio de peso requerido y la iteración se detiene.
Algoritmo de Aprendizaje de Hoff
También conocido como Regla Delta, sigue la regla de descenso de gradiente para la regresión lineal.
Actualiza los pesos de conexión con la diferencia entre el objetivo y el valor de salida. Es el algoritmo de aprendizaje del mínimo cuadrático medio que entra en la categoría de algoritmo de aprendizaje supervisado.
Esta regla es seguida por ADALINE (Redes Neuronales Lineales Adaptativas) y MADALINE. A diferencia del Perceptron, las iteraciones de las redes Adaline no se detienen, sino que converge reduciendo el error cuadrático medio mínimo. MADALINE es una red de más de un ADALINE.
El motivo de la regla de aprendizaje delta es minimizar el error entre la salida y el vector objetivo.
Los pesos en las redes ADALINE se actualizan mediante:
Mínimo error cuadrático medio = (t- yin)2, ADALINE converge cuando se alcanza el mínimo error cuadrático medio.
Conclusión
En este tutorial, hemos discutido los dos algoritmos es decir, la regla de aprendizaje Hebbiano y la regla de aprendizaje Perceptrón. La regla Hebbiana se basa en la regla de que el vector de pesos aumenta proporcionalmente a la señal de entrada y de aprendizaje, es decir, la salida. Los pesos se incrementan añadiendo el producto de la entrada y la salida al peso antiguo.
W (nuevo) = w (antiguo) +x*y
La aplicación de las reglas de Hebb radica en problemas de asociación de patrones, clasificación y categorización.
La regla de aprendizaje del perceptrón puede aplicarse tanto a una red de una sola salida como a una red de múltiples clases de salida. El objetivo de la red perceptrón es clasificar el patrón de entrada en una clase particular de miembros. Las neuronas de entrada y la neurona de salida están conectadas a través de enlaces con pesos.
Los pesos se ajustan para hacer coincidir la salida real con el valor objetivo. La tasa de aprendizaje se establece de 0 a 1 y determina la escalabilidad de los pesos.
Los pesos se actualizan de acuerdo con:
Aparte de estas reglas de aprendizaje, los algoritmos de aprendizaje automático aprenden a través de muchos otros métodos es decir, Supervisado, No supervisado, Refuerzo. Algunos de los otros algoritmos comunes de ML son Back Propagation, ART, Kohonen Self Organizing Maps, etc.
Esperamos que haya disfrutado de todos los tutoriales de esta serie de aprendizaje automático!!!
=> Visite aquí para la serie exclusiva de aprendizaje automático