En este post, voy a hablar comúnmente utilizado arquitecturas para convolucional redes. Como verá, casi todas las arquitecturas de CNN siguen los mismos principios generales de diseño de aplicar sucesivamente capas convolucionales a la entrada, reduciendo periódicamente las dimensiones espaciales y aumentando el número de mapas de entidades.,

mientras que las arquitecturas de red clásicas se componían simplemente de capas convolucionales apiladas, las arquitecturas modernas exploran formas nuevas e innovadoras para construir capas convolucionales de una manera que permite un aprendizaje más eficiente. Casi todas estas arquitecturas se basan en una unidad repetible que se utiliza en toda la red.

estas arquitecturas sirven como pautas generales de diseño que los profesionales del aprendizaje automático adaptarán para resolver varias tareas de visión por computadora., Estas arquitecturas sirven como ricos extractores de características que se pueden utilizar para la clasificación de imágenes, detección de objetos, segmentación de imágenes, y muchas otras tareas más avanzadas.

Clásico arquitecturas de red (incluido para fines históricos)

  • LeNet-5
  • AlexNet
  • VGG 16

Modernas arquitecturas de red

  • Inicio
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

Yann Lecun del LeNet-5 modelo fue desarrollado en 1998 para identificar manuscrita dígitos para el código postal reconocimiento en el servicio postal., Este modelo pionero introdujo en gran medida la red neuronal convolucional tal como la conocemos hoy en día.

arquitectura

Las capas convolucionales utilizan un subconjunto de los canales de la capa anterior para cada filtro para reducir el cálculo y forzar una ruptura de simetría en la red. Las capas de submuestreo utilizan una forma de agrupación Media.

Parámetros: 60.000

papel: Aprendizaje Basado en gradientes aplicado al reconocimiento de documentos

AlexNet

AlexNet fue desarrollado por Alex Krizhevsky et al. en 2012 para competir en el concurso ImageNet., La arquitectura general es bastante similar a LeNet-5, aunque este modelo es considerablemente más grande. El éxito de este modelo (que obtuvo el primer lugar en el concurso ImageNet de 2012) convenció a muchos de la comunidad de visión por computador a considerar seriamente el aprendizaje profundo para tareas de visión por computador.

Architecture

Parameters: 60 million

Paper: ImageNet Classification with Deep Convolutional Neural Networks

VGG-16

la red VGG, introducida en 2014, ofrece una variante más profunda pero más simple de las estructuras convolucionales discutidas anteriormente., En el momento de su introducción, Este modelo se consideraba muy profundo.

Architecture

Parameters: 138 million

Paper: Very Deep Convolutional Networks for Large-Scale Image Recognition

Inception (GoogLeNet)

en 2014, los investigadores de Google presentaron la red Inception, que obtuvo el primer lugar en el concurso ImageNet 2014 para desafíos de clasificación y detección.

el modelo se compone de una unidad básica denominada «célula de inicio» en la que realizamos una serie de circunvoluciones a diferentes escalas y posteriormente agregamos los resultados., Para ahorrar cálculos, se utilizan convoluciones de 1×1 para reducir la profundidad del canal de entrada. Para cada celda, aprendemos un conjunto de filtros 1×1, 3×3 y 5×5 que pueden aprender a extraer características a diferentes escalas de la entrada. Max pooling también se utiliza, aunque con» same » padding para preservar las dimensiones para que la salida se pueda concatenar correctamente.

Estos investigadores publicaron un artículo de seguimiento que introdujo alternativas más eficientes a la célula inicial original., Las circunvoluciones con filtros espaciales grandes (como 5×5 o 7×7) son beneficiosas en términos de su expresividad y capacidad para extraer características a una escala más grande, pero el cálculo es desproporcionadamente caro. Los investigadores señalaron que una convolución de 5×5 puede ser representada más barata por dos filtros apilados de 3×3.

Mientras que $5 \5 veces \times c$ filtro requiere de $25c$ parámetros, dos de $3 \times 3 \times c$ filtros sólo se requieren $18k$ parámetros. Para representar con mayor precisión un filtro de 5×5, no debemos usar activaciones no lineales entre las dos capas de 3×3., Sin embargo, se descubrió que «la activación lineal siempre fue inferior al uso de unidades lineales rectificadas en todas las etapas de la factorización.»

también se demostró que las circunvoluciones de 3×3 podían deconstruirse en sucesivas circunvoluciones de 3×1 y 1×3.

la Generalización de esta idea, podemos de manera más eficiente calcular una $n \times n$ convolución como un $1 \times n$ convolución seguido por un $n \times 1$ convolución.

arquitectura

para mejorar el rendimiento general de la red, se agregan dos salidas auxiliares en toda la red., Más tarde se descubrió que la salida auxiliar más temprana no tenía un efecto discernible en la calidad final de la red. La adición de salidas auxiliares benefició principalmente el rendimiento final del modelo, convergiendo a un valor ligeramente mejor que la misma arquitectura de red sin una rama auxiliar. Se cree que la adición de salidas auxiliares tuvo un efecto de regularización en la red.

una versión revisada y más profunda de la red Inception que aprovecha las celdas Inception más eficientes se muestra a continuación.,

Parámetros: 5 millones (V1) y 23 millones (V3)

Artículos:

  • ir más profundo con convoluciones
  • repensar la arquitectura Inception para la visión por computadora

ResNet

Las redes residuales profundas fueron una idea revolucionaria que permitió el desarrollo de redes mucho más profundas (cientos de capas en lugar de decenas de capas).

Es un principio generalmente aceptado de que las redes más profundas son capaces de aprender funciones y representaciones más complejas de la entrada que deberían conducir a un mejor rendimiento., Sin embargo, muchos investigadores observaron que la adición de más capas finalmente tuvo un efecto negativo en el rendimiento final. Este comportamiento no fue intuitivamente esperado, como lo explican los autores a continuación.

consideremos una arquitectura menos profunda y su contraparte más profunda que agrega más capas a ella. Existe una solución por construcción para el modelo más profundo: las capas agregadas son mapeo de identidad, y las otras capas se copian del modelo más superficial aprendido., La existencia de esta solución construida indica que un modelo más profundo no debería producir un error de entrenamiento más alto que su contraparte más superficial. Pero los experimentos muestran que nuestros solucionadores actuales son incapaces de encontrar soluciones que sean comparativamente buenas o mejores que la solución construida (o incapaces de hacerlo en un tiempo factible).,

Este fenómeno es referido por los autores como el problema de degradación, aludiendo al hecho de que aunque mejores técnicas de inicialización de parámetros y normalización de lotes permiten que las redes más profundas converjan, a menudo convergen a una tasa de error más alta que sus contrapartes menos profundas. En el límite, simplemente apilar más capas degrada el rendimiento final del modelo.,

los autores proponen un remedio a este problema de degradación mediante la introducción de bloques residuales en los que las capas intermedias de un bloque aprenden una función residual con referencia a la entrada del bloque. Puede pensar en esta función residual como un paso de refinamiento en el que aprendemos a ajustar el mapa de entidades de entrada para entidades de mayor calidad. Esto se compara con una red» simple » en la que se espera que cada capa aprenda mapas de características Nuevos y distintos., En el caso de que no se necesite refinamiento, las capas intermedias pueden aprender a ajustar gradualmente sus pesos hacia cero de modo que el bloque residual represente una función de identidad.

Nota: más tarde se descubrió que una ligera modificación a la unidad propuesta original ofrece un mejor rendimiento al permitir que los gradientes se propaguen a través de la red durante el entrenamiento.,

redes residuales amplias
aunque el documento original de ResNet se centró en crear una arquitectura de red para permitir estructuras más profundas al aliviar el problema de la degradación, otros investigadores han señalado desde entonces que aumentar el ancho de la red (profundidad del canal) puede ser una forma más eficiente de expandir la capacidad general de la red.

arquitectura

cada bloque coloreado de capas representa una serie de circunvoluciones de la misma dimensión., La asignación de entidades se reduce periódicamente mediante una convolución estriada acompañada de un aumento en la profundidad del canal para preservar la complejidad de tiempo por capa. Las líneas punteadas denotan conexiones residuales en las que proyectamos la entrada a través de una convolución 1×1 para que coincida con las dimensiones del nuevo bloque.

el diagrama anterior visualiza la arquitectura ResNet 34., Para el modelo ResNet 50, simplemente reemplazamos cada bloque residual de dos capas con un bloque de cuello de botella de tres capas que utiliza convoluciones 1×1 para reducir y posteriormente restaurar la profundidad del canal, lo que permite una carga computacional reducida al calcular la convolución 3×3.,

Parameters: 25 million (ResNet 50)

Papers:

  • Deep Residual Learning for Image Recognition
  • Identity Mappings in Deep Residual Networks
  • Wide Residual Networks

la arquitectura ResNeXt es una extensión de la red residual profunda que reemplaza el bloque residual estándar por uno que aprovecha una estrategia de «split-transform-merge» (es decir. caminos ramificados dentro de una celda) utilizados en los modelos Inception., Simplemente, en lugar de realizar convoluciones sobre el mapa completo de características de entrada, la entrada del bloque se proyecta en una serie de representaciones dimensionales inferiores (canales) de las cuales aplicamos por separado algunos filtros convolucionales antes de fusionar los resultados.

esta idea es bastante similar a las convoluciones de grupo, que fue una idea propuesta en el documento de AlexNet como una forma de compartir el cálculo de convolución a través de dos GPU. En lugar de crear filtros con la profundidad de canal completa de la entrada, la entrada se divide en grupos con cada canal como se muestra a continuación.,

se descubrió que el uso de convoluciones agrupadas condujo a un grado de especialización entre grupos donde los grupos separados se centraron en diferentes características de la imagen de entrada.

el documento de ResNeXt se refiere al número de ramas o grupos como la cardinalidad de la celda de ResNeXt y realiza una serie de experimentos para comprender las ganancias de rendimiento relativas entre el aumento de la cardinalidad, la profundidad y el ancho de la red. Los experimentos muestran que aumentar la cardinalidad es más efectivo para beneficiar el rendimiento del modelo que aumentar el ancho o la profundidad de la red., Los experimentos también sugieren que » las conexiones residuales son útiles para la optimización, mientras que las transformaciones agregadas son (útiles para) representaciones más fuertes.»

arquitectura

la arquitectura ResNeXt simplemente imita los modelos ResNet, reemplazando los bloques ResNet por el bloque ResNeXt.

Documento: transformaciones residuales agregadas para redes neuronales profundas

DenseNet

la idea detrás de las redes convolucionales densas es simple: puede ser útil hacer referencia a mapas de entidades anteriores en la red., Por lo tanto, el mapa de entidades de cada capa se concatena a la entrada de cada capa sucesiva dentro de un bloque Denso. Esto permite que las capas posteriores dentro de la red aprovechen directamente las entidades de las capas anteriores, fomentando la reutilización de entidades dentro de la red. Los autores afirman: «la concatenación de mapas de características aprendidos por diferentes capas aumenta la variación en la entrada de capas posteriores y mejora la eficiencia.»

Cuando me encontré por primera vez con este modelo, pensé que tendría un número absurdo de parámetros para soportar las conexiones densas entre capas., Sin embargo, debido a que la red es capaz de usar directamente cualquier Mapa de características anterior, los autores encontraron que podían trabajar con profundidades de canal de salida muy pequeñas (es decir. 12 filtros por capa), reduciendo enormemente el número total de parámetros necesarios. Los autores se refieren al número de filtros utilizados en cada capa convolucional como una «tasa de crecimiento», since k., ya que cada capa sucesiva tendrá channels k more más canales que la última (como resultado de acumular y concatenar todas las capas anteriores a la entrada).,

en comparación con los modelos ResNet, se informa que los DenseNets obtienen un mejor rendimiento con menos complejidad.

Architecture

para la mayoría de los experimentos en el artículo, los autores imitaron la arquitectura general del modelo ResNet, simplemente intercambiando el bloque denso como la unidad repetida.

Parámetros:

  • 0,8 millones (DenseNet-100, k=12)
  • 15.,3 million (DenseNet-250, k=24)
  • 40 million (DenseNet-190, k = 40)

Paper: Densely Connected Convolutional Networks
Video: CVPR 2017 Best Paper Award: Densely Connected Convolutional Networks

Further reading