La Red de Conocimientos Pedagógicos - Conocimientos educativos - Notas sobre "Repensar la arquitectura inicial de la visión por computadora"

Notas sobre "Repensar la arquitectura inicial de la visión por computadora"

Después de ver la V1 y la V2 de la serie "Inception", es hora de ver la v3. Cuando Zhabo hizo recomendaciones de video, la red utilizada para extraer funciones de video fue Inception v3. Pero el título del autor no usó v3, sino que comenzó con "reflexión".

2018.12.29 2777 veces. No tiene el mismo orden de magnitud que v1 y v2.

Publicado en arXiv en 2015 12. Unos días antes que el difunto ResNet. Un trabajo ha regresado al autor de la versión 1, Christian Szegedy, y el autor de la versión 2, Sergey Ioffe, tiene tres obras esta vez. Parece que son buenos amigos y siempre aparecen en grupos.

1 Se proponen algunos principios generales para el diseño de arquitectura de red.

2 Varios procedimientos de descomposición y convolución

Este artículo explora varios métodos para expandir la red, con el objetivo de extender la red de la manera más eficiente posible a través de soluciones de convolución apropiadas y una regularización efectiva. ventaja de un mayor esfuerzo computacional.

En comparación con VGG y AlexNet, Inception tiene cálculos y parámetros muy reducidos, por lo que puede usarse para big data y dispositivos móviles. Sin embargo, si simplemente se amplía la arquitectura, muchos de los beneficios de la informática pueden perderse inmediatamente.

Este artículo presentará algunos estándares comunes y conceptos de optimización para escalar redes convolucionales de manera más eficiente.

El autor enfatiza repetidamente que lo anterior es solo una parte de la experiencia y que el uso real depende de la situación específica. .

La mayoría de los beneficios iniciales de GoogLeNet provienen del uso generalizado de técnicas de reducción de dimensionalidad. Esto puede considerarse un caso especial de deconvolución con cálculo más eficiente.

Debido a que la red inicial es completamente convolucional, cada peso corresponde a una multiplicación de cada activación, por lo que cualquier reducción en el costo computacional también resultará en una reducción en el número total de parámetros. Esto significa que mediante una descomposición adecuada, se pueden obtener más parámetros separables y se puede acelerar el entrenamiento.

Los filtros más grandes (como 5x5 o 7x7) tienden a ser computacionalmente muy costosos.

Reemplace una convolución de 5x5 con dos convoluciones de 3x3.

Experimentos controlados demuestran la eficacia de esta estrategia.

Es natural pensar si 3x3 se puede reducir aún más a 2x2. A modo de comparación, dividir 3x3 en dos 2x2 solo ahorra 11 cálculos, mientras que usar 3x1 y 1x3 ahorra 33.

Teóricamente, puedes ir más allá y reemplazar nxn con 1xn y nx1. En la práctica, se descubre que esta descomposición no es efectiva en las primeras capas, pero es muy efectiva en las capas intermedias (para mapas de características m × m, m está entre 12 y 20).

La motivación original para el clasificador auxiliar utilizado en Inception-v1 fue superar el problema de los gradientes que desaparecen en redes profundas y hacer que gradientes útiles estén inmediatamente disponibles para capas poco profundas. Sin embargo, a través de experimentos se descubrió que esto no mejoró la convergencia en la etapa inicial del entrenamiento, pero fue ligeramente mejor que la red sin clasificador auxiliar en la etapa posterior del entrenamiento. Esto muestra que las suposiciones en "Inception-v1" son incorrectas (abofetearse, apreciarse, admitirlo con valentía y no perder el tiempo).

Tradicionalmente, las redes convolucionales reducen el tamaño de los mapas de características mediante operaciones de agrupación. Para evitar cuellos de botella de representatividad, las dimensiones del filtro se amplían antes de realizar la agrupación promedio o máxima.

Aunque la imagen de la izquierda en la Figura 9 reduce el tamaño de la cuadrícula, lo que viola el principio general de 1 e introduce un cuello de botella prematuramente, la imagen de la derecha no lo viola y, en cambio, genera tres veces la cantidad de cálculo.

En la figura 10 se muestra la solución, que consiste en introducir dos bloques paralelos: P, de dos vanos: P y C, y luego conectarlos. Esto no sólo cuesta menos, sino que también evita cuellos de botella en la presentación.

(Aunque esta es la definición oficial de v2, ¿todos parecen pensar que BN-Inception es v2?)

Descompone la integral de volumen inicial de 7×7 en tres 3×3. La convolución utiliza bloques iniciales de diferentes estructuras (Figuras 5, 6, 7), con un total de 42 capas, y el costo computacional es solo 2,5 veces mayor que v1.

Se propone un mecanismo para regularizar la capa de clasificación estimando el efecto de marginación de la pérdida de etiquetas durante el entrenamiento.

Se analizan las razones por las que el exceso de confianza en la pérdida de entropía cruzada conduce al sobreajuste. Proponer un mecanismo para incentivar el modelo para reducir esta confianza.

Para la muestra etiquetada Y, reemplace la distribución de la etiqueta con

En el experimento, se usó una distribución uniforme, por lo que la fórmula se convierte en

Esto es cierto para El cambio en la distribución de etiquetas se denomina regularización de suavizado de etiquetas LSR.

Otra explicación de LSR es desde la perspectiva de la entropía cruzada.

La segunda pérdida penaliza la desviación de la distribución de etiquetas prevista p de la u anterior. Este sesgo también es capturado de manera equivalente por la divergencia KL, ya que es fijo.

En ILSVRC2012, establezca,,. trajo un aumento del 0,2.

Tensorflow se usa para entrenar 50 modelos (esta es la primera vez que se usa tf en la serie de artículos Inception), tamaño de lote = 32, épocas = 100. El experimento inicial utilizó SGD de cantidad impulsora, decaimiento = 0,9. Pero el mejor modelo es RMSProp con decaimiento = 0,9. La tasa de aprendizaje es 0,045 y decae cada dos épocas (tasa de caída exponencial 0,94).

Además, descubrimos que el recorte de gradiente en RNN (estableciendo el umbral en 2.0) puede hacer que el entrenamiento sea estable.

El sentido común es que utilizar un modelo con un campo receptivo de mayor resolución a menudo puede mejorar significativamente el rendimiento del reconocimiento. Si solo cambiamos la resolución de la entrada sin ajustar más el modelo, terminamos usando un modelo con menor complejidad computacional para resolver tareas más difíciles.

La pregunta es: ¿Qué utilidad puede tener una resolución más alta si la cantidad de cálculo sigue siendo la misma?

Aunque las redes de baja resolución requieren mucho tiempo para entrenarse, el efecto final no será tan malo. Sin embargo, simplemente reducir el tamaño de la red en función de la resolución de entrada a menudo conduce a resultados deficientes.

La conclusión de esta parte es: ¿la entrada de mayor resolución utiliza modelos más complejos? )

En este artículo, el complejo Inception-v2 que utiliza todas las generalizaciones se llama Inception-v3.

Creo que hay un error en la tabla 4. Los títulos de Top-5 y Top-1 están invertidos.

Se proporcionan varios criterios de diseño para extender las redes convolucionales.

Siento que la estructura de "Inception" es demasiado complicada y está llena de números mágicos. No parece tan simple y unificado como ResNet. Además, siento que este artículo está un poco fragmentado y tiene una sensación de mosaico. . Si no fuera por la promoción del suavizado de etiquetas, debería poder escribir un artículo dedicado. Los más útiles son varios criterios de diseño que deberían ayudar a comprender los conceptos de diseño de redes a medida que surjan más adelante.

Con respecto a la explosión de la pila, se proporciona un ejemplo del uso de pandas para lograr el suavizado de etiquetas.

La implementación oficial de pytorch es solo v3, nada más.

La sección 7.5.1 (Inyectar ruido en el objetivo de salida) de Shu Hua explica el principio detrás del suavizado de etiquetas.