Está en la página 1de 9

Aprendizaje Supervisado

Entrenamiento de Redes Neuronales Perceptrónicas


Multicapas
Aprendizaje Supervisado. Entrenamiento de
Redes Neuronales Perceptrónicas Multicapas

El Algoritmo Backpropagation
1.- Se fijan aleatoriamente los valores iniciales de los pesos y de los sesgos de la red. Estos pesos y sesgos se escogen,
en general, entre -1 y +1, ya que con valores fuera de ese rango, y dependiendo de las funciones de activación, las
salidas de las neuronas se pueden saturar rápidamente lo que conlleva a que la red nunca aprenda.

2.- Se fija un número de iteraciones de entrenamiento, lo cual constituye el criterio que determina cuándo detener la
fase de entrenamiento.
Este valor se escoge por intuición, por experiencia; y hasta por ensayo y error.
Se supone que la red es capaz de memorizar o reconocer todos los patrones del conjunto de entrenamiento, cuando
su error global converge o cuando el número de iteraciones es suficientemente alto.

El acertar o no en la escogencia de este valor queda determinado en la fase de reconocimiento, en la que se puede
observar la eficiencia de la red para reconocer tanto patrones de entrenamiento como de test.

3.- Se fija el valor para el coeficiente de aprendizaje. Típicamente sus valores están en el rango 0.001 a 1.
4.- Se le presenta a la red el primer patrón del conjunto de entrenamiento.
5.- Como se tienen disponibles los pesos y sesgos que alimentan las capas, la red procede a calcular la salida de cada
una de sus neuronas. En este caso se usa la función de activación sigmoidal.
Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation

6.- Para el patrón de respuesta en su capa de salida, obtenido, se calcula la diferencia entre éste y el patrón deseado.
Específicamente, lo que se hace es obtener la diferencia componente a componente de esos dos vectores, es decir, se
obtiene el error cometido por cada neurona de la capa de salida.
De esta manera se obtiene el error que comete la red al calcular la salida deseada, para el patrón dado.

7.- Para el cálculo de los errores de cada una de las neuronas de las capas anteriores, la señal de error obtenida en la
capa de salida, se multiplica por la derivada de la función de activación sigmoidal, yi(1- yi), correspondiente a cada
neurona de la capa de salida, y se obtiene el valor:

δ𝑖 = −2 ∗ 𝑦𝑖 (1 − 𝑦𝑖 )(𝑦𝑑𝑖 − 𝑦𝑖 )

𝑦𝑑𝑖 : Valor deseado de la neurona i de la capa de salida


𝑦𝑖 : Valor calculado por la neurona i de la capa de salida
𝑒𝑟𝑟𝑜𝑟𝑖 = 𝑦𝑑𝑖 − 𝑦𝑖
Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation
8.- Se actualizan los pesos y los sesgos de la capa de salida:

𝑛𝑢𝑒𝑣𝑜𝑊𝑖𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑊𝑖𝑗 - α𝑦𝑖 δ𝑗

𝑛𝑢𝑒𝑣𝑜𝑏𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑏𝑗 - α δ𝑗
α: es el coeficiente de aprendizaje y típicamente sus valores están en el rango 0.001 a 1.
Cada i se refiere a una neurona de la capa oculta y cada j se refiere a una neurona de la capa de salida.
Por ejemplo, 𝑊𝑖𝑗 es el peso que conecta la neurona i de la capa oculta con la neurona j de la capa de salida.
𝑣𝑖𝑒𝑗𝑜𝑊𝑖𝑗 : el peso entre la neurona i de la capa oculta y la neurona j de la capa de salida, antes del ajuste.
𝑛𝑢𝑒𝑣𝑜𝑊𝑖𝑗 : el peso entre la neurona j de la capa oculta y la neurona j de la capa de salida, después del ajuste.

9.- Se calcula el error de cada neurona i de la capa oculta, como la suma de los productos formados por los pesos que
conectan esa neurona con cada una de las neuronas de la capa de salida y el δ asociado a estas últimas.

N: es el número de neuronas en la capa de salida.


Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation

10.- Se calculan las sensibilidades δ de cada neurona de la capa oculta:

δ𝑖 = 𝑦𝑖 1 − 𝑦𝑖 ∗ 𝑒𝑟𝑟𝑜𝑟𝑖

11.- Se actualizan los pesos y los sesgos de la capa oculta:

𝑛𝑢𝑒𝑣𝑜𝑊𝑖𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑊𝑖𝑗 - α𝑦𝑖 δ𝑗

𝑛𝑢𝑒𝑣𝑜𝑏𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑏𝑗 - α δ𝑗

Cada i se refiere a una neurona de la capa de entrada y cada j se refiere a una neurona de la capa oculta.

Por ejemplo, 𝑊𝑖𝑗 es el peso que conecta la neurona i de la capa de entrada con la neurona j de la capa
oculta.
Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation
12.- Se calcula el error de cada neurona i de la capa de entrada, como la suma de los productos formados por los
pesos que conectan esa neurona con cada una de las neuronas de la capa oculta y el δ asociado a estas últimas.

N: es el número de neuronas en la capa oculta.


13.- Se calculan las sensibilidades δ de cada neurona de la capa de entrada:

δ𝑖 = 𝑦𝑖 1 − 𝑦𝑖 ∗ 𝑒𝑟𝑟𝑜𝑟𝑖
14.- Se actualizan los pesos y los sesgos de la capa de entrada:

𝑛𝑢𝑒𝑣𝑜𝑊𝑖𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑊𝑖𝑗 - α𝑦𝑖 δ𝑗


𝑛𝑢𝑒𝑣𝑜𝑏𝑗 = 𝑣𝑖𝑒𝑗𝑜𝑏𝑗 - α δ𝑗
Cada i se refiere a una componente del patrón de entrada y cada j se refiere a una neurona de la capa de entrada.
Por ejemplo, 𝑊𝑖𝑗 es el peso que conecta la componente i del patrón de entrada con la neurona j de la capa de
entrada.
Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation

14.- Después de obtener las salidas generadas por el patrón de entrada dado y de ajustar los pesos y sesgos, se
procede a calcular el error total introducido por ese patrón.

Para ello se calcula la suma de los cuadrados de las diferencias entre las salidas deseadas de cada una de las neuronas de
la capa de salida y la salida calculada por la red:

𝑒𝑟𝑟𝑜𝑟𝑝 = σ𝑁
𝑖=1(𝑦𝑑𝑖 − 𝑦𝑖 )
2

𝑒𝑟𝑟𝑜𝑟𝑝 : es el error introducido por el patrón de entrenamiento p.

𝑦𝑖 : es la respuesta obtenida por la neurona i de la capa de salida.


𝑦𝑑𝑖 : es la respuesta esperada o deseada en la neurona i de la capa de salida.

15.- Se repite todo el proceso explicado desde el paso 4, para cada uno de los patrones de entrenamiento.
16.- Se obtiene el error global de entrenamiento, como la suma de los errores introducidos por cada patrón de
entrenamiento.
17.- En este momento se ha completado una iteración del entrenamiento de la red.
Entrenamiento de Redes Neuronales
Perceptrónicas Multicapas
El Algoritmo Backpropagation

17.- El entrenamiento finaliza cuando ocurre una o dos de las situaciones siguientes:

1.- Que se alcance el número de iteraciones.


2.- Que el error global converja a un número.
Referencias
Cualquier libro, página web, blog, paper o pdf que trate las Redes Neuronales Artificiales.

Martin Hagan, Howard Demuth y Mark Beale. Neural Network Design. PWS Publishing
Company, 1996.

José Hilera y Victor Martínez. Redes Neuronales Artificiales, Fundamentos, Modelos y


Aplicaciones. Alfaomega RA-MA, 2000
.
Simon Haykin. Neural Networks. A Comprehensive Foundation. MacMillan Publishing.

Robert Hecht-Nielsen. Neuroncomputing. Addison Wesley.

Bart Kosko. Neural Networks and Fuzzy Systems. Prenticell Hall.

También podría gustarte