2. Arquitectura de red CNN: arquitectura de red de separación convolucional (VGGNet, GoogLeNet, GoogleNet v2, GoogleNet v3, GoogleNet v4, Inception-ResNet)

El artículo "Una revisión de las arquitecturas de redes neuronales convolucionales y sus optimizaciones" señaló que el excelente rendimiento de AlexNet demuestra que el rendimiento de la red se puede mejorar aumentando la profundidad de la red. A medida que el número de capas de red continúa aumentando, la creciente carga computacional y la insignificante mejora del rendimiento hacen de las arquitecturas de red más avanzadas otra dirección importante de investigación. La idea de la división de convoluciones surgió como una solución crucial para expandir la profundidad de la red. Por lo tanto, este artículo presentará varias arquitecturas de redes de separación convolucional revisadas en los artículos anteriores: VGGNet, GoogLeNet, GoogleNet v2, GoogleNet v3, GoogleNet v4, Inception-ResNet.

Tabla de contenido

1.VGGNet

1.1 Arquitectura de red 

1.2 Funciones de la red

1.3 Artículos

1.4 Publicación de blog de referencia

2.GoogLeNet (Inception-v1)

2.1 Arquitectura de red

2.2 Artículos

3.InceptionV2 (BN - Inicio)

3.1 Arquitectura de red

3.2 Funciones de red

3.3 Artículos 

4.InicioV3

4.1 Arquitectura de red

4.2 Tesis

5.InicioV4

5.1 Arquitectura de red

5.2 Artículos 

6.Inception-ResNet

6.1 Arquitectura de red

6.2 Tesis 

7. Contraste

8. Publicaciones de blog de referencia


1.VGGNet

2014 - 2do lugar en la competencia ILSVRC. VGG puede verse como una versión mejorada de AlexNet, que utiliza múltiples núcleos de convolución consecutivos de 3 × 3 para reemplazar núcleos más grandes (11 × 11, 7 × 7, 5 × 5) en la red. VGGNet divide la red en 5 segmentos y cada segmento conecta múltiples núcleos de convolución de 3 × 3. Hay una capa de agrupación máxima después de cada convolución y, finalmente, se agregan 3 capas FC y una capa softmax.

1.1 Arquitectura de red 

 La siguiente figura muestra la arquitectura de red de VGGNet: según el número de subcapas diferentes de la capa convolucional, se diseñan seis estructuras de red de A, A-LRN, B, C, D y E, entre las cuales D y E. son VGG-16 y VGG-19:

Estas 6 estructuras de red son similares: todas están compuestas por 5 capas de capas convolucionales y 3 capas de capas completamente conectadas hasta el piso 19. Los parámetros de la capa convolucional en la tabla se expresan como "conv (tamaño del campo receptivo) - número de canales", como con3-64, lo que significa que se utiliza un núcleo de convolución de 3x3 y el número de canales es 64; la agrupación máxima se expresa como maxpool, entre capas Utilice maxpool para separar; la capa completamente conectada se expresa como "FC-número de neuronas", por ejemplo, FC-4096 indica una capa completamente conectada que contiene 4096 neuronas; la última es la capa softmax.

1.2 Funciones de la red

1. Estructura sencilla

Aunque VGG tiene muchas capas y la profundidad total de la red oscila entre 11 y 19 capas, su estructura general es relativamente simple. En pocas palabras, VGG consta de 5 capas de capas convolucionales (el número de subcapas de cada capa convolucional es diferente), 3 capas de capas completamente conectadas y una capa de salida softmax. Las capas están separadas por maxpooling (agrupación maximizada) , y todas Las unidades de activación de la capa oculta utilizan la función ReLU.

2. Núcleo de convolución pequeño

Todas las operaciones de convolución en VGG utilizan núcleos de convolución pequeños (3x3). El autor de VGG cree que el tamaño del campo receptivo obtenido al apilar dos convoluciones de 3x3 es equivalente a una convolución de 5x5, y el campo receptivo obtenido al apilar tres convoluciones de 3x3 es equivalente a una convolución de 7x7. Esto puede aumentar el mapeo no lineal y también puede reducir muy bien los parámetros (por ejemplo, los parámetros de 7x7 son 49, mientras que los parámetros de 3x3 son 27), y los parámetros guardados se pueden usar para apilar más capas convolucionales, lo que puede aumentar las capacidades de ajuste, expresión y extracción de características de la red.

3. Núcleo Koike

En comparación con el kernel de agrupación 3x3 de AlexNet, VGG utiliza un kernel de agrupación 2x2.

4. Gran cantidad de canales

El número de canales en la primera capa de la red VGG es 64 y cada capa posterior se duplica hasta un máximo de 512 canales. En comparación con el número máximo de canales obtenidos por AlexNet y ZFNet que es 256, el número de canales de VGG se ha duplicado, de modo que se puede extraer más información mediante operaciones de convolución.

5. Capas más profundas y más mapas de características.

En la red, la capa convolucional se enfoca en expandir el número de canales de los mapas de características, y la capa de agrupación se enfoca en reducir el ancho y la altura de los mapas de características, haciendo que la arquitectura del modelo sea más profunda y amplia mientras controla el aumento en la cantidad de cálculo.

6. Red totalmente convolucional

VGG16 utiliza una red completamente conectada durante el entrenamiento. Sin embargo, en la etapa de verificación de la prueba, el autor reemplazó todas las conexiones completas con redes convolucionales. La capa completamente conectada se convierte primero en una capa convolucional (la primera capa FC se cambia a una capa de 7 × 7 conv y las dos últimas capas FC se cambian a una capa de 1 × 1 conv).

La primera capa FC: la entrada es un mapa fractal de 7 * 7 * 512, y se utilizan 4096 núcleos de convolución de 7 * 7 * 512 para la convolución, y la salida es 1 * 1 * 4096 mapas de características, lo que equivale a 4096 unidades neuronales. .

La segunda capa de FC: la entrada es un mapa de características de 1 * 1 * 4096, y se utilizan 4096 núcleos de convolución de 1 * 1 * 4096 para la convolución, y se generan mapas de características de 1 * 1 * 4096.

La tercera capa de FC: la entrada es 1 * 1 * 4096 mapas de características, se utilizan 1000 núcleos de convolución de 1x1x4096 para la convolución y la salida es 1x1x1000. Equivale a 1000 neuronas, que pertenecen a la capa convolucional.

 El uso de convolución en lugar de una conexión completa permite que el modelo de red acepte cualquier tamaño.

1.3 Artículos

论文:《REDES CONVOLUCIONALES MUY PROFUNDAS PARA EL RECONOCIMIENTO DE IMÁGENES A GRAN ESCALA》 

 https://arxiv.org/pdf/1409.1556.pdf

Contribución: utilice un núcleo de convolución pequeño para reemplazar un núcleo de convolución grande;

Desventaja: el cálculo de la capa completamente conectada es demasiado grande;

1.4 Publicación de blog de referencia

1. Introducción al Blog-CSDN de la red clásica VGGNet_fengbingchun

2. Clasificación de imágenes del aprendizaje profundo (4): VGG - Estudiante de primaria de Magic Academy

3. VGGNet (artículos teóricos) de la red clásica CNN 

2.GoogLeNet (Inception-v1)

Ganó el Campeonato ILSVRC 2014. Dado que el módulo original aumenta significativamente la carga computacional, el módulo Inceptionv1 actualizado agrega una capa convolucional 1 × 1 antes de la convolucional 3 × 3, 5 × 5 y después de la capa de agrupación para comprimir el número de canales de imagen de entrada y salida, respectivamente. Se introduce un nuevo concepto de bloque Inception en CNN, que fusiona convolución y transformación de múltiples escalas mediante división, cambio y fusión, lo que permite a las CNN lograr una alta precisión y al mismo tiempo reducir el costo computacional.

2.1 Arquitectura de red

1. Estructura inicial:

El autor propone la estructura Inception en el artículo, que agrega operaciones de convolución de cuatro tamaños de núcleo de convolución diferentes, y los mapas de características calculados por las cuatro ramas convolucionales se fusionan en la dimensión del canal, y se obtiene un conjunto de mapas de características y se envía a operaciones posteriores. El uso de núcleos de convolución de diferentes tamaños significa diferentes tamaños de campos receptivos informáticos, y la operación de empalme final significa la fusión de características de diferentes escalas.

Sin embargo, el uso de un núcleo de convolución de 5x5 todavía implica una cantidad relativamente grande de cálculo. Por lo tanto, el autor utiliza un núcleo de convolución 1x1 para reducir la dimensionalidad en la estructura mejorada . Diagrama de estructura de Inception-v1 de [a] y [b] antes de la actualización:

 2. Diagrama de arquitectura de red:

 GoogLeNet adopta una estructura modular, que se realiza superponiendo continuamente bloques Inception. Al final de la red, se utiliza la agrupación promedio en lugar de la capa completamente conectada, lo que permite que la red reciba entradas de imágenes de diferentes tamaños. La deserción también se utiliza en la red. Para evitar la desaparición del gradiente, Haier agregó 2 clasificadores auxiliares softmax para el gradiente de guía directa.

La siguiente figura es también el diagrama de estructura de GoogLeNet: el azul en el camino representa la capa convolucional, el rojo representa la capa de agrupación y el amarillo representa la capa softmax: 

2.2 Artículos

Traducción:《Profundizando con las convoluciones》

https://arxiv.org/pdf/1409.4842v1.pdf

Contribución: el bloque inicial aumenta el ancho de la red y se pueden extraer características de diferentes escalas durante las operaciones de convolución;

Defecto: hay una estructura de bloque no válida;

3.InceptionV2 (BN - Inicio)

Ese mismo año, Ioffe y otros mejoraron Inceptionv1 y propusieron Inceptionv2, que dividió el núcleo de convolución grande (5 × 5) en el módulo Inceptionv1 original en dos núcleos de convolución pequeños (3 × 3). En comparación con Inceptionv1, su mayor contribución es la introducción del concepto de normalización por lotes (BN).

3.1 Arquitectura de red

 1. Diagrama de estructura de bloques de Inceptionv2

Inceptionv2 divide el núcleo de convolución grande (5 × 5) en el módulo Inceptionv1 original en dos núcleos de convolución pequeños (3 × 3), y una convolución de 5 × 5 es una convolución de 3 × 3 en términos de costo computacional 2,78 veces, por lo que el rendimiento ha mejorado.

 2. Diagrama de arquitectura de red InceptionV2

3.2 Funciones de red

En comparación con Inceptionv1, su mayor contribución es la introducción del concepto de normalización por lotes (BN) . Utilice BN para procesar la salida de un determinado nodo de red, de modo que obedezca aproximadamente la distribución normal con un valor medio de 0 y una varianza de 11, aliviando así los problemas de desaparición y explosión de gradiente en la propagación hacia atrás.

Beneficios de la normalización por lotes (BN):

1. BN permite que el modelo utilice una tasa de aprendizaje mayor sin prestar especial atención a problemas de optimización como la explosión o desaparición de gradientes;

2. Reducir la dependencia del efecto del modelo del peso inicial;

3. Puede acelerar la convergencia: hasta cierto punto, no es necesario utilizar Dropout, un método para reducir la velocidad de convergencia, pero juega un papel de regularización y mejora la generalización del modelo;

4. Incluso si no se utiliza ReLU, el problema de saturación de la función de activación se puede resolver;

5. Capacidad para aprender los coeficientes de escala de distribución (escala (varianza), desplazamiento (expectativa)) de la capa actual a la siguiente capa;

3.3 Artículos 

Resumen: "Normalización de lotes: acelerar el entrenamiento profundo de la red reduciendo el cambio de covariables interno"

https://arxiv.org/pdf/1502.03167.pdf

Contribución: Introducción e introducción de la normalización por lotes (BN);

Contras: capas convolucionales optimizables;

4.InicioV3

Ioffe y Szegedy et al.propusieron la arquitectura Inceptionv3 en 2016, con el objetivo de reducir la sobrecarga computacional de redes más profundas sin afectar la generalización.

4.1 Arquitectura de red

1. Estructura del bloque Inceptionv3

Inceptionv3 introduce un núcleo de convolución asimétrico, que descompone un núcleo de convolución n × n en n × 1 y 1 × n, y cuanto mayor es n, mayor es la cantidad de cálculo ahorrada. Pero este tipo de descomposición no funciona bien en la capa anterior y el tamaño del mapa de características está entre 12 y 20. El uso de una relación de convolución apilada asimétrica de 1 × 3, 3 × 1 descompone el núcleo de convolución de 3 × 3 en dos núcleos de convolución de 2 × 2, lo que reduce la cantidad de parámetros en un 28%. En comparación con Inceptionv2, Inceptionv3 también reemplaza los filtros grandes de 7×7 y 5×5 con pilas de filtros de 1×7, 7×1 y 1×5, 5×1. Además, Inceptionv3 utiliza un clasificador auxiliar para acelerar la convergencia del entrenamiento de CNN y el rendimiento mejora en un 04% la precisión superior.

                                    (Módulo inicial después de la descomposición de convolución n × n)

                                      (Diagrama esquemático de convolución asimétrica)

 2. Diagrama de arquitectura de Inceptionv3:

4.2 Tesis

论文:《Repensar la arquitectura inicial para la visión por computadora》

https://arxiv.org/pdf/1512.00567v3.pdf

contribuir:

Proponer criterios generales de diseño de la estructura de la red;

Introducir descomposición de convolución (convolución asimétrica) para mejorar la eficiencia;

Introducir una reducción eficiente de la dimensionalidad del mapa de características;

Muestras etiquetadas lisas;

Defecto: el diseño estructural complejo dificulta el ajuste de los hiperparámetros; 

5.InicioV4

Se propone una mejor estructura de red GoogLeNet Inception v4; combinada con la red residual (ResNet), se propone una estructura GoogLeNet Inception ResNet que no es inferior a v4 pero tiene una velocidad de entrenamiento más rápida (presentada en la siguiente sección).

5.1 Arquitectura de red

5.2 Artículos 

论文:《Inception-v4, Inception-ResNet y el impacto de las conexiones residuales en el aprendizaje》

https://arxiv.org/pdf/1602.07261.pdf

Contribución: construcción de redes modulares;

Desventaja: Computacionalmente costoso;

6.Inception-ResNet

Inspirados por el rendimiento superior de ResNet, los investigadores propusieron un módulo inicial híbrido. Inception-ResNet con conexiones residuales tiene la misma capacidad de generalización que Inceptionv4 simple a pesar de su mayor profundidad y ancho. Además, Inception-ResNet converge más rápido que Inceptionv4, lo que demuestra más directamente que el uso de conexiones residuales puede acelerar significativamente el entrenamiento de la red Inception. Inceptionv4 e Inception: ResNet entrena más rápido y funciona mejor.

Inception ResNet tiene dos subversiones: v1 y v2.

El costo computacional de Inception-ResNet v1 es cercano al de Inception v3.

El costo computacional de Inception-ResNetv2 es cercano al de Inception v4.

Ambas subversiones tienen el mismo módulo A, B, C y estructura de bloques reducida. La única diferencia está en la configuración de los hiperparámetros.

 6.1 Arquitectura de red

La arquitectura de red de Inception-ResNet v1 e Inception-ResNet v2 se muestra en la siguiente figura (el área del cuadro rojo es V1 y el área del cuadro verde es V2):

6.2 Tesis 

论文:《Inception-v4, Inception-ResNet y el impacto de las conexiones residuales en el aprendizaje》

https://arxiv.org/pdf/1602.07261.pdf

Contribución: Integración del módulo inicial y residual;

Defecto: Extracción optimizable de características multiescala;

7. Contraste

8. Publicaciones de blog de referencia

1. Clasificación de imágenes para aprendizaje profundo (5): GoogLeNet - Estudiante de escuela primaria de Magic Academy 

2. Explicación detallada de la estructura de red GoogLeNet y la construcción de modelos_Blog Mung Bean de Sunflower-Blog CSDN 

3. ​​Introducción al aprendizaje profundo (31) Redes neuronales convolucionales - GoogLeNet_google Redes neuronales convolucionales_Blog de Miomio-Blog CSDN

Supongo que te gusta

Origin blog.csdn.net/damadashen/article/details/130864392
Recomendado
Clasificación