Abordar los problemas de regularización de la deserción usando DropBlock

Estás leyendo la publicación: Abordar los problemas de regularización de la deserción usando DropBlock

El abandono es una técnica de regularización importante utilizada con redes neuronales. A pesar de los resultados efectivos en arquitecturas de redes neuronales generales, esta regularización tiene algunas limitaciones con las redes neuronales convolucionales. Por esta razón, no resuelve el propósito de construir modelos robustos de aprendizaje profundo. DropBlock es una técnica de regularización, que fue propuesta por los investigadores de Google Brain, aborda las limitaciones del esquema general de deserción y ayuda a construir modelos efectivos de aprendizaje profundo. Este artículo cubrirá la metodología de regularización DropBlock, que supera significativamente a los métodos de regularización existentes. Los siguientes son los temas a tratar.

Tabla de contenido

  1. Sobre el método de abandono de la regularización
  2. Razón para introducir DropBlock
  3. Acerca de DropBlock
  4. Cómo configurar los hiperparámetros
  5. Sintaxis para usar DropBlock

Al conservar la misma cantidad de características, el procedimiento de regularización minimiza la magnitud de las características. Comencemos con el método de regularización Dropout para comprender DropBlock.

Sobre el método de abandono de la regularización

Las redes neuronales profundas incluyen varias capas ocultas no lineales, lo que las convierte en modelos altamente expresivos capaces de aprender correlaciones extremadamente complejas entre sus entradas y salidas. Sin embargo, con datos de entrenamiento mínimos, muchas de estas asociaciones complejas serán consecuencia del ruido de muestreo, por lo que existirán en el conjunto de entrenamiento pero no en los datos de prueba reales, incluso si se derivan de la misma distribución. Esto conduce a un sobreajuste, y se han ideado varias formas de disminuirlo. Estos incluyen detener el entrenamiento tan pronto como el rendimiento en un conjunto de validación comience a deteriorarse.

Hay dos mejores formas de regularizar un modelo de tamaño fijo.

  • Calculando una media geométrica de las predicciones de un número exponencial de modelos aprendidos con parámetros compartidos.
  • Al combinar diferentes modelos, podría ser costoso tomar un promedio de los resultados y difícil entrenar modelos con diferentes arquitecturas.

La deserción es una estrategia de regularización que resuelve dos dificultades. Elimina el sobreajuste y permite la combinación de aproximación eficiente de muchas topologías de redes neuronales distintas de forma exponencial. La palabra “abandono” se refiere a la eliminación de unidades (tanto ocultas como visibles) de una red neuronal. Dejar una unidad significa quitarla de la red momentáneamente, incluso con todas sus conexiones entrantes y salientes. Las unidades que se soltarán se eligen al azar.

🔥 Recomendado:  10 impresionantes portátiles de Google Colab en difusión estable

Una red reducida se muestrea a partir de una red neuronal mediante la aplicación de abandono. Todas las unidades que evitaron la deserción conforman la red de adelgazamiento. Una colección de posibles redes neuronales de adelgazamiento “2 a la potencia de las redes” puede considerarse una red neuronal con un cierto número de unidades. Cada una de estas redes comparte pesos para mantener el número total de parámetros en el nivel anterior o inferior. Cada vez que se presenta una instancia de entrenamiento, se muestrea y entrena una nueva red de adelgazamiento. Por lo tanto, el entrenamiento de una red neuronal con abandono puede compararse con el entrenamiento de un grupo de redes reducidas “2 a la potencia de las redes” con un gran reparto de peso, donde cada red reducida se entrena con muy poca frecuencia o nunca.

Revista de análisis de la India

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

Razón para introducir DropBlock

Un método para mejorar las redes neuronales es la deserción, que reduce el sobreajuste. El aprendizaje de retropropagación estándar crea coadaptaciones frágiles que son efectivas para los datos de entrenamiento pero ineficaces para los datos que aún no se han observado. Estas adaptaciones conjuntas se ven interrumpidas por abandonos aleatorios porque contaminan la confiabilidad de la existencia de cualquier unidad oculta. Sin embargo, eliminar características aleatorias es una tarea peligrosa, ya que podría eliminar algo crucial para resolver el problema.

Para hacer frente a este problema, se introdujo el método DropBlock para combatir el principal inconveniente de Dropout, que es la eliminación aleatoria de características, lo que demuestra ser una estrategia eficaz para redes totalmente conectadas, pero menos fructífera cuando se trata de capas convolucionales en las que las características están correlacionadas espacialmente.

Acerca de DropBlock

En un método de abandono estructurado llamado DropBlock, las unidades en el área contigua de un mapa de características se eliminan colectivamente. Debido a que las unidades de activación en las capas convolucionales están vinculadas espacialmente, DropBlock funciona mejor que el abandono en las capas convolucionales. El tamaño del bloque y la tasa (γ) son los dos parámetros principales de DropBlock.

  • Tamaño de bloque se refiere al tamaño del bloque antes de que se descarte.
  • Tasa (γ) determina el número de unidades de activación caídas.
🔥 Recomendado:  Marketing en redes sociales y el valor de nutrir a los seguidores en las redes sociales

Similar a la deserción, DropBlock no se aplica durante la inferencia. Esto puede entenderse como la evaluación de un pronóstico promedio sobre el conjunto de subredes que crecen exponencialmente. Estas subredes consisten en un subconjunto único de subredes cubiertas por abandono en el que cada red no observa regiones de mapa de características continuas.

Cómo configurar los hiperparámetros

Hay dos hiperparámetros principales en los que funciona todo el algoritmo, que son el tamaño del bloque y la tasa de caída de unidades.

Tamaño de bloque

El mapa de funciones tendrá más funciones para descartar, ya que cada entrada cero en la máscara de muestra aumenta al tamaño del bloque, el tamaño del bloque tiene un tamaño de 0 bloques, y también el porcentaje de pesos que se aprenderán durante la iteración de entrenamiento, lo que reduce el sobreajuste. Debido a que se elimina más información semántica cuando se entrena un modelo con un tamaño de bloque más grande, la regularización es más fuerte.

Según los investigadores, independientemente de la resolución del mapa de características, el tamaño del bloque es fijo para todos los mapas de características. Cuando el tamaño de bloque es 1, DropBlock se parece a Dropout y cuando el tamaño de bloque abarca todo el mapa de características, se parece a SpatialDropout.

Tasa de caída

La cantidad de características que se eliminarán depende del parámetro de tasa (γ). En abandono, la máscara binaria se muestreará utilizando la distribución de Bernoulli con una media de “1-keep_prob”, asumiendo que deseamos mantener cada unidad de activación con la probabilidad de “keep_prob”.

  • La probabilidad de mantener una unidad se conoce como mantener_prob. Esto regula el nivel de deserción. Dado que la probabilidad es 1, no debería haber abandonos y los valores bajos de probabilidad indican más abandonos.
🔥 Recomendado:  5 poderosas herramientas de inteligencia artificial para ciencia de datos y análisis

Sin embargo, debemos modificar el parámetro de tasa (γ) cuando muestreamos la máscara binaria inicial para tener en cuenta el hecho de que cada entrada cero en la máscara se extenderá por tamaño de bloque2 y los bloques se incluirán por completo en el mapa de características. La sutileza clave de DropBlock es que algunos bloques soltados se superpondrán, por lo que la ecuación matemática solo se puede aproximar.

El efecto de los hiperparámetros

Entendamos con un ejemplo que se muestra en la imagen a continuación, representa los resultados de las pruebas realizadas por los investigadores. Los investigadores aplicaron DropBlock en el modelo ResNet-50 para comprobar el efecto del tamaño del bloque. Los modelos se entrenan y evalúan con DropBlock en los grupos 3 y 4. Así se entrenaron dos modelos ResNet-50.

  1. Modelo con block_size = 7 y keep_prob = 0.9
  2. Modelo con block_size = 1 y keep_prob = 0.9.

El primer modelo tiene mayor precisión en comparación con el segundo modelo ResNet-50.

Sintaxis para usar DropBlock

La sintaxis proporcionada por Keras para usar DropBlock para regularizar las redes neuronales se muestra a continuación.

keras_cv.layers.DropBlock2D(rate, block_size, seed=Ninguno, **kwargs)

Hiperparámetro:

  • tasa: Probabilidad de dejar caer una unidad. Debe estar entre 0 y 1.
  • tamaño de bloque: El tamaño del bloque que se va a soltar. Podría definirse en un solo valor entero o tupla de enteros.

Conclusión

La resiliencia de DropBlock se demuestra por el hecho de que descarta información semántica de manera más efectiva que la deserción. Las capas convolucionales y las capas completamente conectadas podrían usarlo. Con este artículo, hemos entendido sobre DropBlock y su robustez.

Referencias

Tabla de Contenido