Abandono (redes neuronales)
# Abandono (redes neuronales)

Dilución (también conocido como Dropout) es una técnica de regularización para reducir el sobreajuste en redes neuronales artificiales. Es una forma eficiente de realizar promedios de modelos con redes neuronales. El término dropout significa "abandonar" u omitir aleatoriamente neuronas(tanto ocultas como visibles) durante el proceso de entrenamiento de una red neuronal. Tanto la reducción de los pesos como omitir unidades obtienen el mismo tipo de regularización.

## Tipos y usos

La dilución normalmente se separa en dilución débil y dilución fuerte. La dilución débil describe el proceso en qué la cantidad de conexiones eliminadas es pequeña, y la dilución fuerte refiere a cuándo esta cantidad es grande. No hay una clara distinción sobre dónde está el límite entre la dilución débil y la fuerte. Aunque la distinción no tiene sentido, tiene implicaciones a la hora de elegir una solución para resolver el problema.

A veces la dilución se utiliza para añadir ruido. En aquel caso, la dilución débil añade una cantidad pequeña de ruido, mientras que la dilución fuerte añade una cantidad más grande.

Se suele referir a estas técnicas como un proceso de poda aleatoria de pesos. Se poda la red, y se mantiene si produce una mejora sobre el modelo anterior. Dilución y dropout ambas se refieren a un proceso iterativo. La poda de los pesos típicamente no implica que la red continúe aprendiendo, mientras que en dilución/dropout, la red continúa aprendiendo.

## Red lineal generalizada

La salida de una capa de nodos lineales, en una red neuronal artificial puede ser descrita como

| $y_{i}=\sum _{j}w_{ij}x_{j}$ | (1) |
| - | - |

   * $y_{i}$– Salida del nodo $i$

   * $w_{ij}$– Peso real antes de que dilución, también llamado fuerza de conexión de Hebb

   * $x_{j}$– Entrada del nodo $j$

En notación vectorial

| $\mathbf {y} =\mathbf {W} \mathbf {x}$ | (2) |
| - | - |

   * $\mathbf {y}$– Vector de salida

   * $\mathbf {W}$– Matriz de pesos

   * $\mathbf {x}$– Vector de entrada

Las ecuaciones anteriores son utilizadas en las secciones subsiguientes.

## Dilución débil

Durante la dilución débil, la cantidad de conexiones eliminadas(neuronas) es pequeña, dando lugar a una pequeña incertidumbre. Esta incertidumbre puede ser solucionada aplicando lateoría de campo malo. En dilución débil el impacto en los pesos puede ser descrito como

| ${\hat {w_{ij}}}={\begin{cases}w_{ij},&{\mbox{with }}P(c)\\0,&{\mbox{otherwise}}\end{cases}}$ | (3) |
| - | - |

   * ${\hat {w_{ij}}}$ - peso diluido

   * $w_{ij}$ - peso real antes de la dilución

   * $P(c)$ - la probabilidad de $c$, la probabilidad de mantener un peso

Se puede interpretar $P(c)$ como la poda del peso en vez de la probabilidad de mantenerlo

En notación vectorial

| ${\hat {\mathbf {W} }}=\operatorname {g} \left(\mathbf {W} ,c\right)$ | (4) |
| - | - |

Donde $\operatorname {g}$ impone la dilución anterior.

Cuando el número de términos en la suma llega a infinito (los pesos de cada neurona), sigue siendo infinito (la fracción es fija), por lo que se puede aplicar la teoría de campo medio . En la notación de Hertz et al. esto se escribiría como

| $\left\langle h_{i}\right\rangle =c\sum _{j}w_{ij}\left\langle S_{j}\right\rangle$ | (5) |
| - | - |

   * $\left\langle h_{i}\right\rangle$ la temperatura media del campo

   * $c$ - un factor de escala para la temperatura a partir de la probabilidad de mantener el peso

   * $w_{ij}$ ${\widehat {w}}_{ij}$- peso real antes de la dilución, también llamado fuerza de conexión Hebb

   * $\left\langle S_{j}\right\rangle$ - los estados de equilibrio estable medio

Algunas suposiciones no se nombran.

## Dilución fuerte

Cuando la dilución es fuerte, la cantidad de conexiones eliminadas es grande, lo que genera mucha más incertidumbre.

## Dropout

Dropout es un caso especial de la ecuación anterior (3), donde la ecuación se ajusta para eliminar una fila completa en la matriz, y no solo ponderaciones al azar.

| ${\hat {\mathbf {w} _{j}}}={\begin{cases}\mathbf {w} _{j},&{\mbox{with }}P(c)\\\mathbf {0} ,&{\mbox{otherwise}}\end{cases}}$ | (6) |
| - | - |

   * $P(c)$ - la probabilidad $c$ para mantener una fila en la matriz de peso

   * $\mathbf {w} _{j}$ - fila real en la matriz de peso antes de la eliminación

   * ${\hat {\mathbf {w} _{j}}}$ - fila diluida en la matriz de peso

Debido a que la técnica de dropout elimina una fila completa de la matriz los supuestos anteriores para la dilución débil y el uso de la teoría del campo medio no son aplicables.

El proceso por el cual el nodo se lleva a cero, ya sea estableciendo los pesos en cero, "eliminando el nodo" o por algún otro medio, no afecta al resultado final. Si la red neuronal es procesada por un multiplicador de matrices digital de alto rendimiento, entonces es probable que sea más efectivo llevar el valor a cero más tarde en el gráfico del proceso. Si la red es procesada por un procesador restringido, tal vez incluso por un procesador analógico, entonces es probable que una solución más eficiente sea llevar el valor a cero al principio del proceso.

## Patente de Google

Aunque ha habido ejemplos de eliminación aleatoria de conexiones entre neuronas en una red neuronal para mejorar los modelos, esta técnica fue introducida por primera vez con el nombre de dropout por Geoffrey Hinton, et al. en 2012. Google tiene actualmente la patente de la técnica de dropout.

