18 votos

Modelo Google Inception: ¿por qué hay varios softmax?

La topología del modelo Google Inception puede consultarse aquí: Red Google Inception

Me di cuenta de que hay 3 capas softmax en este modelo(#154,#152,#145), y 2 de ellos son una especie de escape temprano de este modelo.

Por lo que sé, la capa softmax es para la salida final, así que ¿por qué hay tantos? ¿cuál es el propósito de los otros 2 capa?

34voto

Adrya Puntos 573

Respuesta corta: Las arquitecturas profundas, y en concreto GoogLeNet (22 capas) corren el peligro de la gradientes decrecientes durante el entrenamiento (algoritmo de retropropagación). Los ingenieros de GoogLeNet abordaron este problema añadiendo clasificadores también en las capas intermedias, de forma que la pérdida final es una combinación de la pérdida intermedia y la pérdida final. Por eso se ve un total de tres capas de pérdidas, a diferencia de la capa única habitual como última capa de la red.

Respuesta más larga: En el aprendizaje automático clásico, suele distinguirse entre ingeniería de características y clasificación. Las redes neuronales son más famosas por su capacidad para resolver problemas "de extremo a extremo", es decir, combinan las etapas de aprendizaje de una representación para los datos y de entrenamiento de un clasificador. Por lo tanto, se puede pensar que una red neuronal con una arquitectura estándar (por ejemplo, AlexNet) se compone de una fase de "aprendizaje de la representación" (las capas hasta la antepenúltima) y una fase de "clasificación", que como es de esperar, incluye una función de pérdida.

Al crear redes más profundas, surge un problema acuñado como el de los "gradientes evanescentes". En realidad, no es específico de las redes neuronales, sino de cualquier método de aprendizaje basado en gradientes. No es tan trivial y, por tanto, merece una explicación propia; véase aquí para tener una buena referencia. Intuitivamente, se puede pensar que los gradientes contienen cada vez menos información cuanto más nos adentramos en la red, lo cual es, por supuesto, una preocupación importante, ya que ajustamos los parámetros de la red (pesos) basándonos únicamente en los gradientes, utilizando el algoritmo "back-prop".

¿Cómo han resuelto este problema los desarrolladores de GoogLeNet? Reconocieron el hecho de que no son sólo las características de las capas finales las que llevan toda la información discriminatoria: las características intermedias también son capaces de discriminar diferentes etiquetas; y, lo que es más importante, sus valores son más "fiables", ya que se extraen de capas anteriores en las que el gradiente lleva más información. Partiendo de esta intuición, añadieron "clasificadores auxiliares" en dos capas intermedias. Esta es la razón de las capas de pérdida de "escape temprano" en medio de la red a las que usted hace referencia en su pregunta.

La pérdida total es entonces una combinación de estas tres capas de pérdida. Cito del artículo original:

T de redes convolucionales más pequeñas colocadas sobre la salida de los módulos Inception (4a) y (4d). Durante el entrenamiento su pérdida se añade a la pérdida total de la red con un descuento auxiliares se ponderaron con 0,3). En el momento de la inferencia, estas redes auxiliares.

Visualmente:

enter image description here

4voto

Laila Puntos 11

Además de la respuesta de @galoosh33: Me parece que los clasificadores auxiliares utilizan las mismas etiquetas que el clasificador de salida final. Fuente: diapositiva 34 en https://pdfs.semanticscholar.org/0b99/d677883883584d9a328f6f2d54738363997a.pdf

Antes me preguntaba si estos clasificadores auxiliares utilizaban otro tipo de etiquetas (por ejemplo, simplemente perro en lugar de husky siberiano).

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