21 votos

¿Cómo evitan las CNN el problema del gradiente evanescente?

He estado leyendo mucho sobre las redes neuronales convolucionales y me preguntaba cómo evitan el problema del gradiente evanescente. Sé que las redes de creencia profunda apilan autocodificadores de un solo nivel u otras redes superficiales preentrenadas y, por lo tanto, pueden evitar este problema, pero no sé cómo se evita en las CNN.

Según Wikipedia :

"a pesar del mencionado "problema del gradiente de fuga", el capacidad de procesamiento superior de las GPU hace que la retropropagación simple para redes neuronales profundas con muchas capas".

No entiendo por qué el procesamiento por GPU eliminaría este problema.

17voto

Ludwi Puntos 188

El problema del gradiente evanescente nos obliga a utilizar tasas de aprendizaje pequeñas con el descenso de gradiente, que luego necesita muchos pasos pequeños para converger. Esto es un problema si tienes un ordenador lento que tarda mucho en dar cada paso. Si tienes una GPU rápida que puede realizar muchos más pasos en un día, esto es menos problemático.

Hay varias formas de abordar el problema del gradiente evanescente. Supongo que el mayor efecto para las CNN se produjo al pasar de unidades no lineales sigmoidales a unidades lineales rectificadas. Si se considera una red neuronal simple cuyo error $E$ depende del peso $w_{ij}$ sólo a través de $y_j$ donde

$$y_j = f\left( \sum_iw_{ij}x_i \right),$$

su gradiente es

\begin{align} \frac{\partial}{\partial w_{ij}} E &= \frac{\partial E}{\partial y_j} \cdot \frac{\partial y_j}{\partial w_{ij}} \\ &= \frac{\partial E}{\partial y_j} \cdot f'\left(\sum_i w_{ij} x_i\right) x_i. \end{align}

Si $f$ es la función sigmoidea logística, $f'$ será próximo a cero tanto para los grandes insumos como para los pequeños. Si $f$ es una unidad lineal rectificada,

\begin{align} f(u) = \max\left(0, u\right), \end{align} la derivada es cero sólo para entradas negativas y 1 para entradas positivas. Otra contribución importante es la correcta inicialización de los pesos. Este documento parece una buena fuente para comprender los retos con más detalle (aunque aún no lo he leído):

http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X