Fundamentos de la IA
¿Qué es la propagación hacia atrás?
¿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 neuronal 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 analicemos 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 neuronal profunda son la fuerza de las conexiones entre las unidades de una red neuronal. Cuando se establece una red neuronal, se hacen suposiciones sobre cómo las unidades de una capa están conectadas a las capas unidas con ella. A medida que los datos fluyen a través de la red neuronal, 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 las características están relacionadas 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.
Entrenamiento de una red neuronal profunda
Antes de que se pueda realizar la propagación hacia atrás en una red neuronal, se debe realizar el paso de entrenamiento regular/hacia adelante de una red neuronal. Cuando se crea una red neuronal, 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 neuronal se puede concebir como tres pasos discretos: activación de neurona, transferencia de neurona y propagación hacia adelante.
Cuando se entrena una red neuronal profunda, es necesario utilizar varias funciones matemáticas. Las neuronas en una red neuronal 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 con el peso y las entradas, solo se suman. Todo esto significa que la siguiente ecuación se puede utilizar 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 simplemente tomar las salidas de una capa y hacer que sean 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 neuronal.
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 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 se alteran los parámetros de la red 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, se calcula la pendiente del valor de salida 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 según la siguiente fórmula:
error = (salida esperada – salida real) * pendiente del valor de salida de la neurona
Cuando se opera 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, es necesario actualizar los pesos en la red. 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 en la red. Un gradiente es una pendiente, cuyo ángulo/empinación se puede medir. La pendiente se calcula trazando “y sobre” o el “ascenso” sobre el “recorrido”. En el caso de la red neuronal y la tasa de error, el “y” es el error calculado, mientras que el “x” es el parámetro 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, el error aumenta o disminuye.
El “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 neuronal y la tasa de error, lo que prepara la red para el descenso de gradiente. El entrenamiento de 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.












