Connect with us

¿Qué es la propagación hacia atrás?

IA 101

¿Qué es la propagación hacia atrás?

mm

¿Qué es la propagación hacia atrás?

Los sistemas de aprendizaje profundo pueden aprender patrones extremadamente complejos, y logran esto ajustando sus pesos. ¿Cómo se ajustan exactamente los pesos de una red neural profunda? Se ajustan a través de un proceso llamado propagación hacia atrás. Sin la propagación hacia atrás, las redes neuronales profundas no podrían realizar tareas como reconocer imágenes e interpretar lenguaje natural. Entender cómo funciona la propagación hacia atrás es fundamental para entender las redes neuronales profundas en general, así que discutamos la propagación hacia atrás y veamos cómo se utiliza el proceso para ajustar los pesos de una red.
La propagación hacia atrás puede ser difícil de entender, y los cálculos utilizados para realizar la propagación hacia atrás pueden ser bastante complejos. Este artículo intentará darle una comprensión intuitiva de la propagación hacia atrás, utilizando poco en cuanto a matemáticas complejas. Sin embargo, es necesario algún debate sobre las matemáticas detrás de la propagación hacia atrás.

El objetivo de la propagación hacia atrás

Comencemos definiendo el objetivo de la propagación hacia atrás. Los pesos de una red neural profunda son la fuerza de las conexiones entre las unidades de una red neural. Cuando se establece la red neural, se hacen suposiciones sobre cómo se conectan las unidades en una capa con las capas unidas a ella. A medida que los datos se mueven a través de la red neural, se calculan los pesos y se hacen suposiciones. Cuando los datos llegan a la capa final de la red, se hace una predicción sobre cómo se relacionan las características con las clases en el conjunto de datos. La diferencia entre los valores predichos y los valores reales es la pérdida/error, y el objetivo de la propagación hacia atrás es reducir la pérdida. Esto se logra ajustando los pesos de la red, haciendo que las suposiciones sean más como las relaciones verdaderas entre las características de entrada.

Entrenar una red neural profunda

Antes de que se pueda realizar la propagación hacia atrás en una red neural, se debe realizar el paso de entrenamiento regular/hacia adelante de una red neural. Cuando se crea una red neural, se inicializa un conjunto de pesos. El valor de los pesos se alterará a medida que se entrena la red. El paso de entrenamiento hacia adelante de una red neural se puede concebir como tres pasos discretos: activación de neurona, transferencia de neurona y propagación hacia adelante.
Al entrenar una red neural profunda, necesitamos utilizar varias funciones matemáticas. Las neuronas en una red neural profunda están compuestas por los datos de entrada y una función de activación, que determina el valor necesario para activar el nodo. El valor de activación de una neurona se calcula con varios componentes, siendo una suma ponderada de las entradas. Los pesos y los valores de entrada dependen del índice de los nodos que se utilizan para calcular la activación. Otro número debe tenerse en cuenta al calcular el valor de activación, un valor de sesgo. Los valores de sesgo no fluctúan, por lo que no se multiplican junto con el peso y las entradas, solo se suman. Todo esto significa que la siguiente ecuación podría usarse para calcular el valor de activación:
Activación = suma(peso * entrada) + sesgo
Después de que se activa la neurona, se utiliza una función de activación para determinar qué será la salida real de la neurona. Diferentes funciones de activación son óptimas para diferentes tareas de aprendizaje, pero las funciones de activación comúnmente utilizadas incluyen la función sigmoide, la función Tanh y la función ReLU.
Una vez que se calculan las salidas de la neurona ejecutando el valor de activación a través de la función de activación deseada, se realiza la propagación hacia adelante. La propagación hacia adelante es solo tomar las salidas de una capa y hacerlas las entradas de la siguiente capa. Las nuevas entradas se utilizan para calcular las nuevas funciones de activación, y la salida de esta operación se pasa a la siguiente capa. Este proceso continúa hasta el final de la red neural.

Propagación hacia atrás en la red

El proceso de propagación hacia atrás toma las decisiones finales del paso de entrenamiento de un modelo, y luego determina los errores en estas decisiones. Los errores se calculan contrastando las salidas/decisiones de la red y las salidas/decisiones esperadas/deseadas de la red.
Una vez que se han calculado los errores en las decisiones de la red, esta información se propaga hacia atrás a través de la red y los parámetros de la red se alteran en el camino. El método que se utiliza para actualizar los pesos de la red se basa en cálculo, específicamente, se basa en la regla de la cadena. Sin embargo, no es necesario entender cálculo para entender la idea detrás de la propagación hacia atrás. Solo sepa que cuando se proporciona un valor de salida de una neurona, la pendiente del valor de salida se calcula con una función de transferencia, produciendo una salida derivada. Al realizar la propagación hacia atrás, el error para una neurona específica se calcula de acuerdo con la siguiente fórmula:
error = (salida esperada – salida real) * pendiente del valor de salida de la neurona
Al operar en las neuronas de la capa de salida, se utiliza el valor de clase como el valor esperado. Después de calcular el error, el error se utiliza como la entrada para las neuronas de la capa oculta, lo que significa que el error para esta capa oculta es el error ponderado de las neuronas encontradas en la capa de salida. Los cálculos de error viajan hacia atrás a través de la red a lo largo de los pesos de la red.
Después de que se han calculado los errores para la red, los pesos en la red deben actualizarse. Como se mencionó, calcular el error implica determinar la pendiente del valor de salida. Después de calcular la pendiente, se puede utilizar un proceso llamado descenso de gradiente para ajustar los pesos de la red. Un gradiente es una pendiente, cuyo ángulo/empinación se puede medir. La pendiente se calcula trazando “y sobre” o el “aumento” sobre el “recorrido”. En el caso de la red neural y la tasa de error, el “y” es el error calculado, mientras que el “x” es los parámetros de la red. Los parámetros de la red tienen una relación con los valores de error calculados, y a medida que se ajustan los pesos de la red, la tasa de error aumenta o disminuye.
“Descenso de gradiente” es el proceso de actualizar los pesos para que la tasa de error disminuya. La propagación hacia atrás se utiliza para predecir la relación entre los parámetros de la red neural y la tasa de error, lo que configura la red para el descenso de gradiente. Entrenar una red con descenso de gradiente implica calcular los pesos a través de la propagación hacia adelante, propagar el error hacia atrás y luego actualizar los pesos de la red.

Bloguero y programador con especialidades en Machine Learning y Deep Learning temas. Daniel espera ayudar a otros a utilizar el poder de la IA para el bien social.