Desaparición del gradiente: notas de estudio

							梯度消亡

1. El gradiente desaparece.
Los coeficientes de la capa de red en el extremo de entrada de la red neuronal gradualmente ya no cambian con el entrenamiento, o cambian muy lentamente.
A medida que aumenta el número de capas de red, este fenómeno se vuelve más y más obvio.

La premisa de la desaparición del gradiente: la función de activación
utilizada por los métodos de entrenamiento basados ​​en gradientes (como el método de descenso de gradiente)
tiene un rango de valores de salida que es mucho más pequeño que el rango de valores de entrada, como logística (función lógica), tanh (tangente hiperbólica). )
inserte la descripción de la imagen aquí

2. Análisis del problema de la desaparición del gradiente
El método de descenso del gradiente se basa en comprender el impacto de pequeños cambios en los coeficientes en la salida para conocer el valor de los coeficientes de la red.
Si un pequeño cambio en un coeficiente tiene un impacto mínimo o nulo en la salida de la red, entonces es imposible saber cómo optimizarla.Este coeficiente, o la optimización es particularmente lenta, dificultando el entrenamiento

El motivo de la desaparición del gradiente:
al usar el método de descenso del gradiente para entrenar la red neuronal, si la función de activación tiene el rango de su valor de salida muy comprimido en relación con el valor de la entrada, se producirá la desaparición del gradiente. , la
función tangente hiperbólica (tanh) será infinito negativo. La entrada a infinito positivo se comprime entre -1 y 1. Excepto por el valor de entrada entre -6 y +6, el gradiente correspondiente a otros valores de entrada es muy pequeño, cercano a 0.
inserte la descripción de la imagen aquí

Se puede ver en la figura que cuando nuestro valor es mayor que 3, el gradiente es cercano a 1. En este momento, si ingresa 5 o 500 o 5000, sus gradientes no cambiarán significativamente, y viceversa, nuestra red neuronal es lo
mismo, si queremos propagar la dirección de 0.1 para encontrar el gradiente, entonces su gradiente dependerá de la información de la siguiente capa.Cuando usamos la función tangente hiperbólica (tanh) como función de activación, porque la función derivada de tanh es como la línea roja de arriba, cuando la entrada es mayor que 2 o menor que -2, el gradiente se vuelve muy, muy pequeño, y luego progresando a través de las capas, encontraremos que el gradiente de nuestra derivación inversa se volverá muy pequeño. Cuando la red es demasiado profunda, aparecerá un fenómeno de gradiente de fuga
inserte la descripción de la imagen aquí

3. Solución de desaparición de gradiente

Utilice la nueva función de activación para resolver el problema de tanh
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Durante la optimización, a diferencia de la saturación en ambos extremos de la función sigmoidea (el gradiente en ambos extremos es cercano a 0), la función ReLU es una función de saturación izquierda y la derivada es 1 cuando x> 0, y la derivada también es fácil. encontrar, hasta cierto punto. Resolver el problema de la desaparición del gradiente y acelerar la velocidad de convergencia del
descenso del gradiente. 4. Explosión de gradiente
Cuando nuestro gradiente es demasiado pequeño, el gradiente desaparecerá a través del avance de la capa de red. Por el contrario, cuando mi degradado es demasiado grande, será progresivo a través de las capas, el degradado se hará cada vez más grande, lo que resultará en una explosión.Solución Recorte de degradado:
la
idea es establecer un umbral de recorte de degradado y luego actualizar el degradado. excede este umbral, se verá obligado a limitarse dentro de este rango
inserte la descripción de la imagen aquí

Cinco, sobreajuste
La tasa de precisión en el conjunto de datos de entrenamiento es muy alta, pero la tasa de precisión en el conjunto de prueba es relativamente baja
inserte la descripción de la imagen aquí

La solución al sobreajuste:
(1) DropOut
(2) Regularización L2
(3) Regularización L1
(4) MaxNorm
6. DropOut
Dropout es el nodo que atraviesa cada capa de la red neuronal durante el proceso de propagación directa y luego pasa el red de la capa establece un keep_prob (probabilidad de retención de nodo), es decir, el nodo de esta capa tiene la probabilidad de que se retenga keep_prob, y el rango de valores de keep_prob está entre 0 y 1. Al establecer la probabilidad de retención de los nodos en esta capa de la red neuronal, la red neuronal no estará sesgada hacia un determinado nodo (porque el nodo puede eliminarse), por lo que el peso de cada nodo no será demasiado grande, lo cual es similar a la regularización L2, para reducir el sobreajuste de la red neuronal.
Estructura de red sin DropOut
inserte la descripción de la imagen aquí

Estructura de red con DropOut agregado
inserte la descripción de la imagen aquí

Dropout generalmente solo se usa en la fase de entrenamiento de la red, y Dropout no se usa en la fase de prueba, es decir, la propagación directa solo usa la parte de las neuronas que no se desactivan durante el entrenamiento, mientras que todas las neuronas son utilizado durante la prueba.
Cuando usamos el entrenamiento DropOut, debido a que algunas neuronas se excluyen, calculamos el peso del parámetro, que debe multiplicarse por keep_prob (la tasa de retención que establecemos), para que el peso del nodo utilizado en la prueba sea preciso 7.
Regularización

En la fase de entrenamiento del modelo, para evitar que el modelo se sobreajuste, generalmente agregamos regularización para mejorar la capacidad de generalización del modelo. Entre ellas, las regularizaciones L1 y L2 son las más utilizadas. Estos términos regulares harán que los parámetros del modelo sean más pequeños, de modo que el propio modelo aprendido se vuelva más simple y evite el sobreajuste.
inserte la descripción de la imagen aquí

Las características de la regularización L1 y L2:
tanto la regularización L1 como la regularización L2 se pueden usar para evitar el ajuste excesivo del modelo, pero L1 tiene otra característica en comparación con la regularización L2, que es hacer que los parámetros del modelo sean dispersos. Primero, trate de entender qué es la escasez. En términos generales, si el modelo tiene 100100 parámetros, más de 9090 de los parámetros finalmente aprendidos mediante la introducción de la regularización L1 pueden ser 00, lo que se denomina escasez. Por el contrario, si usa la regularización L2, no existe tal característica
(1) Regularización L1:
conocemos la expresión matemática regularizada de L1, entonces concluyo que es geométricamente un rombo, como se muestra en la figura a continuación.
inserte la descripción de la imagen aquí

Como se muestra en la figura anterior, cuando nuestra función objetivo se agrega a la regularización L1, esperamos que el valor aprendido por W no solo haga que f(w) sea más pequeña, sino que también haga que el valor de la regularización L1 sea más pequeño, por lo que nuestra W El rango de valores es la intersección de nuestra función objetivo y la regularización L1, y es probable que la intersección con la regularización L1 sea el vértice del rombo, porque la regularización L1 es un rombo con muchos vértices, por lo que hará que algunos valores w se convierte en 0, por lo que los parámetros son escasos
L1 Desventajas:
(1) La regularización L1 no tiene un gradiente en cada posición, por lo que hará una cierta cantidad de procesamiento para el cálculo que es un poco complicado.
inserte la descripción de la imagen aquí

(2) La escasez de L1
Al seleccionar funciones, selecciona aleatoriamente una función en lugar de elegir la mejor función

(2) Regularización de L2
Conocemos la expresión matemática regularizada de L1, por lo que concluyo que también es una forma geométricamente suave, como se muestra en la siguiente figura.
inserte la descripción de la imagen aquí

Cada elemento de w obtenido por la regularización L2 es relativamente pequeño, cercano a 0 y más suave (no igual a 0)

Supongo que te gusta

Origin blog.csdn.net/weixin_43391596/article/details/128000074
Recomendado
Clasificación