[Lección 7] Entrenamiento de redes neuronales II (Entrenamiento de redes neuronales II)

Clase Q y A

  • A0: La siguiente comparación de algoritmos de optimización debe basarse en la optimización convexa.
  • P1: ¿Cómo puede SGD con impulso manejar direcciones de gradiente malas?
  • P2: ¿Dónde se usa la capa de abandono?
  • A2: Generalmente, agregar DP después de que la capa completamente conectada inactive algunas neuronas. Por supuesto, también se puede agregar después de la capa de convolución, pero el método específico hace que el mapa de activación (mapa de activación) obtenido por parte del núcleo de convolución se establezca en 0.
  • P3: ¿Qué efecto tiene Dropout en el retorno del gradiente?
  • A3: La deserción hace que la retroalimentación de gradiente solo suceda a algunas neuronas, lo que hace que nuestro entrenamiento sea más lento, pero la robustez final es mejor.
  • P4: En general, ¿cuántos métodos de regularización utilizamos?
  • A4: Normalmente, usaremos BN porque desempeña un papel en la regularización. Sin embargo, por lo general, no validamos de forma cruzada qué métodos de regularización deben usarse, sino cuáles son los objetivos. Cuando encontramos que el modelo está sobreajustado, se agregan los métodos de regularización apropiados.

1. Mejor optimización (optimización Fancier)

1.1 Optimización SGD

Anteriormente, introdujimos un algoritmo simple de actualización de gradiente SGD , que es un tamaño de paso fijo y se actualiza a lo largo de la dirección del gradiente negativo: sin
Inserte la descripción de la imagen aquí
embargo, también tiene algunos problemas.

  1. Supongamos que tenemos una función de pérdida L y un peso bidimensional W, y la pérdida L es insensible a los cambios en una dirección (dimensión) de W (como horizontal) y sensible a los cambios en otra dirección (como vertical). En otras palabras, si se actualiza en la dirección vertical, nuestra pérdida caerá más rápido.
    Sin embargo, el algoritmo SGD nos permite actualizar a lo largo de la dirección combinada de las dos direcciones. En general, mostrará un zigzag (jitter). Como se muestra en la figura siguiente, la línea de contorno indica que el cambio de pérdida a lo largo de la dirección horizontal es pequeño.
    Inserte la descripción de la imagen aquí
  • La situación anterior es más obvia en una matriz de alta dimensión, porque la dirección del gradiente es más complicada.
  1. Relativamente fácil caer en mínimo local y el punto de silla
  • Inserte la descripción de la imagen aquí
  • El gradiente mínimo local es igual a 0, lo que hace que el peso sea casi imposible de actualizar; el gradiente cerca del punto de silla de montar es muy pequeño, lo que hace que la actualización de peso sea muy lenta (especialmente en el caso de alta dimensión, hay muchos puntos de silla de montar).
  1. SGD calcula el gradiente en una muestra, pero cuando el número de muestras es grande, nuestro cálculo es demasiado grande. Por lo tanto, a menudo utilizamos Mini-batch SGD, pero dicho gradiente es un valor estimado de un lote, que puede introducir ruido y hacer que la actualización de parámetros sea más tortuosa.
    Inserte la descripción de la imagen aquí
1.2 SGD basado en el momento

SGD + Momentum

  • Es agregar un término de impulso a nuestro término de gradiente:
    Inserte la descripción de la imagen aquí
  • Nos hace tener una cierta velocidad en el punto mínimo local y el punto de silla. Para la caída en zigzag anterior, se acumulará más rápido en la dirección sensible y disminuirá la velocidad en la dirección menos sensible, compensando así fácilmente estas inquietudes:
    Inserte la descripción de la imagen aquí
  • Al mismo tiempo, la dirección de actualización del momento es la velocidad anterior + gradiente de corriente, lo que puede evitar errores de ruido en cierta medida.
  • Inserte la descripción de la imagen aquí
    Nesterov Momentum + SGD
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí
1.3 AdaGrad
  • El núcleo es mantener un proceso de formación de cuadrado gradiente estimación
    Inserte la descripción de la imagen aquí
  • Esta acumulación de gradientes ralentizará el tamaño del paso de actualización en la dirección de la dimensión con un gradiente grande y, por el contrario, aumentará el tamaño del paso de actualización en la dirección de la dimensión con un gradiente pequeño. Es decir, realizará optimizaciones similares en cada dimensión.
    Inserte la descripción de la imagen aquí
  • A medida que nuestro entrenamiento continúa, a medida que se acumula el gradiente, el paso de aprendizaje será cada vez más pequeño. Cuando la función objetivo es convexa, cuando nos acercamos al punto extremo, nos movemos cada vez más lentamente. Pero para funciones no convexas, puede caer en el mejor local.

Variante-RMSProp

  • Al igual que el impulso anterior, se añade en el cuadrado del gradiente para añadir en una historia de decadencia .
    Inserte la descripción de la imagen aquí
1.4 Adam
  • Este método de optimización es una combinación de los dos primeros métodos.
    Inserte la descripción de la imagen aquí
  • P: ¿Qué sucedió durante las actualizaciones anteriores?
  • R: Nuestro factor de ponderación es generalmente de 0.9 o 0.99. Al principio, el segundo momento es relativamente pequeño. Si este es el caso donde el primer momento no es muy pequeño, se generará un gran paso de actualización.
  • Por lo tanto, el Adán que realmente usamos tiene la siguiente forma:
  • Inserte la descripción de la imagen aquí
  • Introduce una corrección de sesgo, que se corregirá cuando nuestro impulso inicial sea relativamente pequeño.
    Inserte la descripción de la imagen aquí
1.5 Elección de la tasa de aprendizaje
  • En todos nuestros algoritmos de optimización, necesitamos formular la tasa de aprendizaje inicial, generalmente existen las siguientes prácticas:
    decaimiento de período iterativo, decaimiento exponencial y decaimiento fraccional
    Inserte la descripción de la imagen aquí
  • En general, la atenuación de la tasa de aprendizaje se usa cuando se impulsa el impulso SGD, pero Adam no se puede usar. Y en lugar de utilizar la atenuación de tamaño de paso tan pronto como aparezca, puede depurar otros parámetros primero. Puede intentar disminuir la tasa de aprendizaje cuando observe que la función de pérdida es plana.
1.6 Optimización de segundo orden (Optimización de segundo orden)
  • Los métodos de optimización anteriores son todos de optimización de primer orden, es decir, operaciones en las derivadas parciales de primer orden.
    -Inserte la descripción de la imagen aquí
  • Es equivalente a usar el punto actual en el primer orden expansión de Taylor para aproximar.
  • Así, también podemos utilizar el punto de la corriente de segundo orden expansión de Taylor para aproximar, mientras se utiliza el primer orden y segundo orden derivadas parciales derivadas parciales para ser optimizado:
    Inserte la descripción de la imagen aquí
  • Una de la optimización de segundo orden para conseguir nuestro Newton paso (Paso Newton)
    Inserte la descripción de la imagen aquí
  • Aquí no tenemos la tasa de aprendizaje, ya que fue en ese momento de segundo orden expansión de Taylor , y las actualizaciones directamente en el punto en el mínimo de la función cuadrática. (Pero siga Newton método de descenso de las versiones puede agregar una tasa de aprendizaje).
  • Sin embargo, la matriz inversa está aquí en busca de Heather en poco práctico estudio en profundidad, lo que a veces se puede utilizar una aproximación de segundo orden, que el método cuasi-Newton .
    Inserte la descripción de la imagen aquí
  • Por lo tanto, también tenemos un optimizador de segundo orden: L-BFGS . Pero puede no ser adecuado para redes neuronales profundas.
    Inserte la descripción de la imagen aquí
1.7 Integración del modelo

Antes de hablar de algoritmo de optimización, más a menudo la relación es cómo conseguir un buen rendimiento suficiente en la formación, pero a menudo están más preocupados por el rendimiento del modelo en el equipo de prueba .
Una solución es usar el modelo de integración (Modelo Conjuntos ), puede ser apropiado para frenar exceso de ajuste y los modelos múltiples super-paramétricos puede ser diferente
Inserte la descripción de la imagen aquí

2. Regularización (regularización)

Otra solución para mejorar la capacidad de generalización del modelo y reducir el sobreajuste es la regularización, que en cierto sentido no hace que el modelo sea demasiado complicado.

2.1 Restricciones de peso

Una forma de regularizar es agregar restricciones normativas a los pesos de aprendizaje:
Inserte la descripción de la imagen aquí

2.2 Inactivación aleatoria (abandono)

Es decir, cuando estamos propagando en la dirección hacia adelante, usamos al azar la probabilidad P para hacer que el valor de activación de ciertas neuronas en ciertas capas 0 , inactivándolas.
Inserte la descripción de la imagen aquí
Por ejemplo, DP de una red neuronal de dos capas:
Inserte la descripción de la imagen aquí
explique

  • Se puede evitar la fuerte correlación entre características, de modo que la red pueda funcionar normalmente solo con características parciales.
  • O como múltiples sub-redes de aprendizaje integrado .

Operación de prueba Inactivamos
al azar durante la prueba, pero ¿qué debemos hacer durante la prueba?
No debe haber inactivación aleatoria, ya que esto puede hacer que el modelo proporcione diferentes salidas para la misma entrada.
Idealmente, nuestra entrada es la entrada original X y una máscara Z, por lo que queremos calcular el valor promedio de esta Z aleatoria:
Inserte la descripción de la imagen aquí
pero esto es bastante difícil, por lo que podemos hacer una aproximación local, suponiendo que probabilidad inactivación de 0,5:
Inserte la descripción de la imagen aquí
así, sólo queremos nuestro valor de salida se multiplica por la inactivación de la probabilidad puede ser.
Inserte la descripción de la imagen aquí
Sin embargo, a veces no queremos introducir una operación de multiplicación de matrices durante la prueba, sino ponerla en la fase de entrenamiento, porque la fase de entrenamiento generalmente se realiza en la GPU, por lo que podemos usar "Deserción invertida".
Inserte la descripción de la imagen aquí
Promover

Al igual que Dropout, introducimos algo de aleatoriedad durante el entrenamiento para evitar que sobreajuste los datos de entrenamiento y compensar de manera uniforme su impacto durante las pruebas.
Inserte la descripción de la imagen aquí
Y hablamos de antes de la mayor normalizó BN está también en línea con esta estrategia:
a saber, la experiencia en un pequeño lote en la formación de cálculo, pero la aparición de un único lote de datos es aleatorio:
Inserte la descripción de la imagen aquí
Por supuesto, hay una estrategia similar es llevado a cabo en la formación de mejora de los datos al azar :
Inserte la descripción de la imagen aquí

2.3 Agrupación máxima local
2.4 Profundidad aleatoria

Es decir, algunas capas de red se eliminan aleatoriamente durante el entrenamiento, y todas las capas de red se usan durante las pruebas:
Inserte la descripción de la imagen aquí

3. Transferencia de aprendizaje

El aprendizaje por transferencia puede reducir el grado de sobreajuste cuando los datos de capacitación son insuficientes. Primero entrena un modelo en un conjunto de datos grande, y luego aplica su peso a un conjunto de datos pequeño, y realiza los ajustes apropiados (es decir, congelando los pesos de algunas capas sin cambios, actualizando los pesos de otras capas).
Inserte la descripción de la imagen aquí
Generalmente, las características de la CNN subyacente Es una característica más general de nivel bajo e intermedio, por lo que puede migrar y luego ajustar la cabeza. Para diferentes situaciones, adoptamos las siguientes estrategias diferentes:
Inserte la descripción de la imagen aquí
algunos marcos de redes neuronales existentes también expondrán sus propios modelos de pre-entrenamiento:
Inserte la descripción de la imagen aquí

Resumen

Inserte la descripción de la imagen aquí

Referencias

19 artículos originales publicados · Me gusta1 · Visitas 494

Supongo que te gusta

Origin blog.csdn.net/qq_41341454/article/details/105627894
Recomendado
Clasificación