Red neuronal (2): Paso de propagación hacia atrás (BP)

Conceptos básicos de la red neuronal de BP:

1. Función de costo: el proceso de entrenamiento de la red neuronal consiste en ajustar el parámetro óptimo (peso) minimizando la función de costo (J)

[Función de coste de la red neural es en realidad un indicador que indica el grado de ajuste con el modelo de la muestra, se puede comparar con el valor de predicción del modelo de la varianza de la diferencia h (x) y el yi de salida de la muestra (a determinar) ]

[La función de minimización de costos se puede lograr mediante el método de descenso de gradiente o el algoritmo de propagación inversa. Analiza los pros y los contras de ambos

[La función de costo de la red neuronal es una función no convexa, lo que significa que el algoritmo de optimización puede caer en la solución óptima local]

[Cómo entender el término regular en la función de costo; puede comparar la función del término regular en la fórmula de regresión ogística (para evitar sobreajustar los parámetros)]

2. Descripción del proceso de retropropagación:

i) Tome el valor de la neurona y el valor del peso obtenido de la propagación directa, y el valor de salida de la última capa (el error entre el valor predicho hi y el valor de muestra yi como entrada,

ii) Calcular el error y el error acumulativo de cada neurona en la capa oculta ; [ Cálculo de fórmula relacionada ]

iii) La salida es la derivada parcial de la función de costo J (theta) al peso theta_i .

        Cálculo del error de Wu Enda en el proceso de propagación hacia atrás del aprendizaje automático

          Seudocódigo del algoritmo de propagación de aprendizaje automático de Wu Enda

3. Expansión del vector: transformación del vector / matriz de parámetros durante el entrenamiento de la red neuronal. [Cuando se ingresa al algoritmo de optimización, los parámetros se convierten en vectores; cuando se usan como entrada de propagación hacia adelante / hacia atrás, los parámetros están en forma de matriz

        Implementación de Matlab de vector de parámetros y conversión de matriz

           Posición de aplicación de la transformación vectorial en algoritmo

4. Prueba de gradiente: porque el resultado durante el proceso de retropropagación puede parecer razonable [razonable significa que la función de costo se vuelve más pequeña durante el proceso de optimización], pero en realidad es defectuoso, lo que resulta en un algoritmo de BP defectuoso y sin errores. El error del algoritmo BP puede ser relativamente grande. Por lo tanto, se requiere un paso de prueba de gradiente. El algoritmo de gradiente tiene la misma función que el algoritmo BP. Ambos calculan la derivada parcial de la función de costo J (theta), pero el error no es fácil de producir durante el método de gradiente, pero la operación es lenta; Se produce un error, pero la operación es rápida; por lo tanto, al programar el algoritmo BP, la derivada parcial calculada por el algoritmo de gradiente se compara con el valor derivado obtenido por el algoritmo BP para ver si es básicamente igual (la diferencia es solo unos pocos decimales) [llamada prueba de gradiente] . Después de confirmar que no hay ningún error en el programa BP, se usa para entrenar la red neuronal [el algoritmo BP se usa durante el proceso de entrenamiento y el algoritmo de gradiente no se usa]

        Método de gradiente: aproximación numérica de la derivada de un punto

          Método de gradiente fórmula matlab

        Derivada parcial de theta en forma vectorial

          Opiniones sobre prueba de gradiente 

5. Inicialización aleatoria: la inicialización común es inicializar todos los parámetros a 0, pero la inicialización cero en el algoritmo de red neuronal dará como resultado: todos los parámetros transmitidos desde la capa superior a la primera neurona en la siguiente capa y la capa superior se transmiten a Todos los parámetros de la segunda neurona en la siguiente capa son exactamente iguales, lo que resulta en el mismo valor para cada neurona en una sola capa, lo que resulta en redundancia de características. Y el error de cada neurona en la misma capa en el proceso de propagación inversa también es el mismo y, por lo tanto, la derivada parcial también es la misma.

[Una sola neurona puede considerarse como una característica compleja de la nueva estructura]

     Si se inicializa cero, los parámetros de peso del mismo sistema de color son iguales

    Implementación matlab inicializada aleatoriamente [epsilon puede tomar 10 ^ -4]

6. Construcción del marco de la red neuronal: el número de unidades de capa de entrada está determinado por el número de características de la muestra, el número de capas ocultas es generalmente una capa, que también puede ser 2, 3, 4, etc. Cuanto mayor sea la cantidad; el número de unidades de una sola capa en la capa oculta es generalmente un múltiplo de la unidad de capa de entrada, que puede ser 1, 2, 3 veces, etc. Función, pero el costo computacional es mayor.

      NN marco común

7. Pasos para entrenar una red neuronal

① Inicialización aleatoria coeficiente de peso theta

AlgorithEl algoritmo de propagación directa calcula h (xi) y el valor de cada parámetro de unidad a i (l) ;

③ Calcule el error δ (final_l) de la última capa del error , y luego use el algoritmo de propagación inversa para calcular el error δ i (l) de la unidad de cada capa

FormulaLa fórmula encuentra el error de cada capa Δ = Δ '+ δ * (a) T y la derivada parcial de la función de costo, y genera Dvec [vector diferencial]

⑤El algoritmo gradiente verifica la precisión del algoritmo BP

⑥Combinando propagación hacia adelante y hacia atrás, el algoritmo de optimización se utiliza para resolver el valor mínimo de la función de costo.

salida de forward_propagation

salida de back_propagation

salida del algoritmo de optimización

[Por primera vez usa un bucle for simple]

[El algoritmo de optimización puede ser un método de descenso de gradiente u otros algoritmos de optimización más avanzados]

[ Acerca del método de descenso de gradiente y encontrar la derivada antes de gradiente método y backpropagation relación : el papel y el gradiente de backpropagation se calcula a partir las derivadas parciales de la etapa de procedimiento de descenso de gradiente se requiere, en otras palabras, la función de coste mínimo La optimización se resuelve mediante los pasos del algoritmo de optimización, y las derivadas parciales en los pasos se calculan mediante el método de gradiente o el algoritmo de propagación inversa.

 

Materiales de referencia:

1.https: //www.bilibili.com/video/BV164411S78V? P = 56, video de aprendizaje automático Wu Enda P43-P56 en la estación B

 

Supongo que te gusta

Origin www.cnblogs.com/feynmania/p/12746565.html
Recomendado
Clasificación