Algoritmo de propagación hacia atrás: una descripción general

Publicado: 2021-10-15

Las redes neuronales han sido la palabra más popular en el mundo de la tecnología de IA. Y cuando se habla de redes neuronales, la propagación hacia atrás es una palabra en la que se debe centrar la atención. El algoritmo de retropropagación es uno de los bloques fundamentales de la red neuronal. Como cualquier red neuronal necesita ser entrenada para el desempeño de la tarea, la retropropagación es un algoritmo que se utiliza para el entrenamiento de la red neuronal. Es una forma de algoritmo para el aprendizaje supervisado que se utiliza para entrenar perceptrones de múltiples capas en una red neuronal artificial.

Se considera la programación típica donde se insertan los datos y se realiza la lógica de la programación. Mientras se realiza el procesamiento, el usuario recibe la salida. Pero, esta salida, en cierto modo, puede influir en la lógica de la programación. Esto es lo que hace el algoritmo de retropropagación. La salida influirá en la lógica y dará como resultado una mejor salida.

El artículo se centrará en el algoritmo de backpropagation y su proceso de trabajo.

Tabla de contenido

Importancia de la retropropagación

La importancia de backpropagation radica en su uso en redes neuronales. El diseño de redes neuronales requiere que los pesos se inicialicen solo al principio. Estos pesos son algunos valores aleatorios o cualquier variable aleatoria que se considere para inicializar los pesos. Dado que los pesos se insertan aleatoriamente, existe la posibilidad de que los pesos no sean los correctos. Esto significa que los pesos no se ajustarán al modelo. La salida del modelo puede ser diferente de la salida esperada. Como resultado, hay un alto valor de error. Pero siempre es importante reducir el error, y pensar en formas de reducir el error es un desafío. El modelo debe ser entrenado para que cada vez que ocurran estos tipos de escenarios, debe cambiar los parámetros en consecuencia. Y con el cambio de los parámetros, el valor del error se reducirá.

Por lo tanto, se requiere el entrenamiento del modelo, y la retropropagación es una de las formas a través de las cuales se puede entrenar un modelo para que haya valores de error mínimos.

A continuación se pueden resumir algunos pasos del algoritmo de retropropagación en redes neuronales :

● Cálculo de error: calculará la desviación de la salida del modelo de la salida real del modelo.

● Mínimo error: En este paso se comprobará si se minimiza o no el error generado.

● Actualización de parámetros: el paso está destinado a actualizar los parámetros del modelo. Si el modelo genera un valor de error muy alto, entonces necesita actualizar sus parámetros,

como los pesos y los sesgos. El modelo se vuelve a verificar para detectar el error y el proceso se repite hasta que el error generado se minimiza.

● Modelo final: después de un proceso repetido de verificación y actualización, el error se minimiza y el modelo ahora está listo para las entradas. Las entradas se pueden introducir en el modelo y las salidas del modelo se pueden analizar.

La red neuronal de retropropagación

En cualquier red neuronal, el algoritmo de propagación hacia atrás busca el valor mínimo de error. Esto se realiza a través de la técnica de descenso de gradiente o regla delta, mediante la cual se busca la función mínima de error a partir del espacio de pesos. Una vez identificados los pesos que reducen la función de error, se considera como la solución al problema de aprendizaje. En la década de 1960, cuando se introdujo el algoritmo por primera vez y luego en los años posteriores, aumentó la popularidad del algoritmo. La red neuronal se puede entrenar de manera efectiva a través de este algoritmo utilizando un método de la regla de la cadena. Si hay un pase hacia adelante a través de la red neuronal, entonces el parámetro del modelo realiza un pase hacia atrás a través de su ajuste de parámetros tales como sesgos y pesos. Para que el algoritmo de propagación hacia atrás funcione, primero se debe definir la red neuronal.

El modelo de red neuronal

Si se considera un modelo de 4 capas de la red neuronal, entonces consistirá en las capas; la capa de entrada, 4 neuronas diseñadas para las capas ocultas, y habrá 1 neurona diseñada para la capa de salida.

Capa de entrada: la capa de entrada puede ser simple o compleja. Una capa de entrada simple contendrá los escalares y una capa de entrada compleja consistirá en matrices multidimensionales o vectoriales. Los primeros conjuntos de activación se consideran iguales a los valores de entrada.

Por el término activación se entiende el valor de la neurona que resulta tras la aplicación de la función de activación.

Capas ocultas: Usando ciertas entradas ponderadas como z^l en las capas l, y las activaciones a^l en la misma capa l. Se generan ecuaciones para estas capas, como la capa 2 y la capa 3.

Las activaciones de las capas se calculan mediante el uso de la función de activación f. La función de activación “f”, es una función no lineal que permite el aprendizaje de patrones complejos presentes en los datos por la red.

Se forma una matriz de peso que tiene una forma de (n, m), donde el número "n" denota las neuronas de salida, mientras que la "m" denota las neuronas de entrada de la red neuronal. En el modelo de las capas antes mencionadas, el número de n será 2 y el número de m será 4. Además, el primer número en el subíndice del peso debe coincidir con el índice de la neurona que está en la siguiente capa. El segundo número debe coincidir con el índice neuronal de la capa anterior de la red.

Capa de salida: La capa de salida es la capa final de la red neuronal. Predice el valor del modelo. Se utiliza una representación matricial para la simplificación de la ecuación.

Propagación hacia adelante de la red neuronal y su evaluación.

Las ecuaciones generadas en la definición de la red neuronal constituyen la propagación directa de la red. Predice la salida del modelo. En un algoritmo de propagación directa, el paso final que está involucrado es la evaluación de la salida pronosticada contra la salida esperada. Si la salida pronosticada es "s" y la salida esperada es "y", entonces s debe evaluarse contra y. Para el conjunto de datos de entrenamiento (x,y), x es la entrada e y es la salida.

Se utiliza una función de costo “C”, para la evaluación de s contra y. La función de costo puede ser simple, como el error cuadrático medio (MSE), o puede ser compleja, como la entropía cruzada. Con base en el valor de C, el modelo llega a saber cuánto se deben ajustar los parámetros para acercarse a la salida que se espera, que es y. Esto se hace a través del algoritmo de propagación hacia atrás.

Algoritmo de retropropagación

El algoritmo de retropropagación realiza repetidamente el ajuste de los pesos en las conexiones de red para minimizar la diferencia entre las salidas del modelo y la salida esperada. También es en el algoritmo de retropropagación donde se pueden crear funciones nuevas y útiles en la red.

El algoritmo de retropropagación también tiene como objetivo disminuir o minimizar la función de costo definida de la red, es decir, C. Esto se hace mediante el ajuste de parámetros tales como los sesgos y los pesos. Este ajuste a realizar en los parámetros se determina a través de los gradientes de las funciones de coste con respecto a todos esos parámetros.

El gradiente de la función C en el punto x se define como el vector de todas las derivadas parciales que están en la función de coste C en x.

La sensibilidad al cambio en el valor de una función se mide por la derivada de la función C con respecto al cambio en el argumento x. Esto significa que es la derivada la que indica hacia dónde se mueve la función de costo C.

El cambio en el parámetro x está definido por el gradiente. Muestra los cambios que se requieren en el parámetro x para minimizar C. La regla de la cadena se usa para calcular los gradientes. Es el gradiente el que permite la optimización de los parámetros.

Así es como funciona el algoritmo de backpropagation en la mejora y el entrenamiento de la red neuronal. Sirve para ser una parte importante de los aspectos de aprendizaje automático. Al ser una parte esencial del entrenamiento de la red neuronal, es esencial comprender el algoritmo de retropropagación. Si desea ser un experto en aprendizaje automático e inteligencia artificial, puede consultar el curso "Master of Science in Machine Learning & Artificial Intelligence" que ofrece upGrad. Todos los profesionales que trabajan son elegibles para el curso. Recibirá capacitación a través de facultades de expertos de IIIT Bangalore y también de LJMU. El aprendizaje de contenido de más de 650 horas lo ayudará a prepararse para el futuro de la IA que se avecina. Cualquier consulta sobre el curso es bienvenida.

¿Cuál es el método que se utiliza en el algoritmo de propagación hacia atrás?

El método que se utiliza en el algoritmo de propagación hacia atrás es la regla de la cadena.

¿Por qué se usa el algoritmo de propagación hacia atrás?

El algoritmo de retropropagación se utiliza para minimizar el error del modelo.

¿Cómo minimiza el algoritmo de propagación hacia atrás el error de la red?

El algoritmo de propagación hacia atrás intenta ajustar los parámetros en consecuencia, lo que da como resultado la minimización del error.