Innovaciones arquitectónicas en redes neuronales

En este post veremos una introducción a las Innovaciones arquitectónicas en redes neuronales convolucionales de LeNet, AlexNet, VGG, Inception y ResNet.

Las redes neuronales convolucionales se componen de dos elementos muy simples, a saber, capas convolucionales y capas conjuntas .

Aunque simple, hay formas casi infinitas de organizar estas capas para un problema de visión de computadora determinado.

Afortunadamente, existen patrones comunes para configurar estas capas e Innovaciones arquitectónicas en redes neuronales que puede utilizar para desarrollar redes neuronales convolucionales muy profundas.

El estudio de estas decisiones de diseño arquitectónico desarrolladas para tareas de clasificación de imágenes de vanguardia puede proporcionar tanto una justificación como una intuición sobre cómo usar estos diseños al diseñar sus propios modelos de redes neuronales convolucionales profundas.

En este tutorial, descubrirá los hitos clave de la arquitectura para el uso de redes neuronales convolucionales para problemas de clasificación de imágenes desafiantes.

Después de completar este tutorial, sabrás:

  • La manera de configurar el número de filtros y tamaños de filtros al implementar redes neuronales convolucionales.
  • Cómo organizar capas convolucionales y de agrupación en un patrón uniforme para desarrollar modelos con buen desempeño.
  • La forma de utilizar el módulo de inicio y el módulo residual para desarrollar redes convolucionales mucho más profundas.

Comencemos.

Descripción general del tutorial

Este tutorial está dividido en seis partes; son:

  1. Diseño arquitectónico para CNNs.
  2. LeNet-5
  3. AlexNet
  4. VGG
  5. Inicio y GoogLeNet
  6. Red Residual o ResNet

Diseño de Innovaciones arquitectónicas en redes neuronales.

Los elementos de una red neuronal convolucional. Como las capas convolucional y de agrupación, son relativamente fáciles de entender.

La parte difícil del uso de redes neuronales convolucionales en la práctica es cómo diseñar arquitecturas de modelos que utilicen mejor estos elementos simples.

Un enfoque útil para aprender a diseñar arquitecturas de redes neuronales convolucionales efectivas es estudiar aplicaciones exitosas.

Esto es particularmente sencillo de realizar debido al intenso estudio y la aplicación de las CNN hasta el 2012 al 2016 para el Reto de Reconocimiento Visual de Gran Escala de ImageNet, o ILSVRC.

Este desafío resultó tanto en el rápido avance en el estado del arte para tareas de visión de computadora muy difíciles como en el desarrollo de Innovaciones arquitectónicas en redes neuronales generales en la arquitectura de los modelos de redes neuronales convolucionales.

Comenzaremos con la LeNet-5 que a menudo se describe como la primera aplicación exitosa e importante de las CNN anteriores a la ILSVRC.

Luego veremos cuatro Innovaciones arquitectónicas en redes neuronales desarrollada para la ILSVRC, a saber, AlexNet, VGG, Inception, y ResNet.

Al comprender estos modelos de hitos y sus Innovaciones arquitectónicas en redes neuronales o arquitectónicas de alto nivel. Desarrollará una apreciación por el uso de estos elementos arquitectónicos en las aplicaciones modernas de CNN en visión por computadora.

Podrá identificar y elegir elementos arquitectónicos que puedan Sé de utilidad en el diseño de tus propios modelos.

LeNet-5

Quizás la primera aplicación exitosa y ampliamente conocida de las redes neuronales convolucionales fue LeNet-5, descrita por Yann LeCun, et al. en su documento de 1998 titulado ” Aprendizaje basado en gradiente aplicado al reconocimiento de documentos ” ( obtenga el PDF).

El sistema se desarrolló para su uso en un problema de reconocimiento de caracteres a mano y se demostró en el conjunto de datos estándar del MNIST.

Logrando una precisión de clasificación de aproximadamente el 99,2% (o una tasa de error del 0,8%). La red fue descrita como la técnica central en un sistema más amplio denominado Graph Transformer Networks.

Es un documento largo, y quizás la mejor parte para centrarse en la Sección II. B. que describe la arquitectura LeNet-5.

En la sección, el documento describe que la red tiene siete capas con imágenes de escala de grises de entrada que tienen la forma 32 × 32. El tamaño de las imágenes en el conjunto de datos MNIST.

El modelo propone un patrón de una capa convolucional seguida de una capa de agrupamiento promedio, denominada capa de submuestreo.

Este patrón se repite dos veces y media antes de que los mapas de características de salida se aplanen y se envíen a varias capas completamente conectadas para su interpretación y una predicción final.

Se proporciona una imagen de la arquitectura de la red a continuación:

 

Innovaciones arquitectónicas en redes neuronales - Arquitectura de la red neuronal convolucional LeNet-5
Innovaciones arquitectónicas en redes neuronales – Arquitectura de la red neuronal convolucional LeNet-5 para el reconocimiento de caracteres manuscritos (tomado del documento de 1998).

El patrón de bloques de capas convolucionales y capas de agrupación agrupadas y repetidas sigue siendo un patrón común en el diseño y el uso de redes neuronales convolucionales de hoy, más de veinte años después.

Curiosamente, la arquitectura utiliza un pequeño número de filtros como la primera capa oculta. Específicamente seis filtros cada uno con el tamaño de 5 × 5 píxeles.

Después de la agrupación (llamada capa de submuestreo), otra capa convolucional tiene muchos más filtros.

De nuevo con un tamaño más pequeño pero más pequeño que la capa convolucional anterior, específicamente 16 filtros con un tamaño de 5 × 5 píxeles, nuevamente seguido de la agrupación.

En la repetición de estos dos bloques de convolución y capas agrupadas, la tendencia es un aumento en el número de filtros.

En comparación con las aplicaciones modernas, el número de filtros también es pequeño. Pero la tendencia de aumentar el número de filtros con la profundidad de la red también sigue siendo un patrón común en el uso moderno de la técnica.

El aplanamiento de los mapas de características y la interpretación y clasificación de las entidades extraídas por capas totalmente conectadas también sigue siendo un patrón común en la actualidad.

En la terminología moderna, la sección final de la arquitectura se suele denominar clasificador. Mientras que las capas convolucional y de agrupación anteriores en el modelo se denominan extractores de características.

Podemos resumir los aspectos clave de la arquitectura relevantes en los modelos modernos de la siguiente manera:
  • Imágenes de entrada de tamaño fijo.
  • Grupo convolucional y agrupamiento de capas en bloques.
  • Repetición de bloques convolucionales en la arquitectura.
  • Incremento en la cantidad de filtros con la profundidad de la red.
  • Extracción de rasgos distintivos y partes clasificadoras de la arquitectura.

Innovaciones arquitectónicas en redes neuronales: AlexNet

El trabajo que quizás podría acreditarse con un renovado interés en las redes neuronales y el comienzo del dominio del aprendizaje profundo en muchas aplicaciones de visión artificial fue el documento de 2012 de Alex Krizhevsky, et al. Titulado ” Clasificación de ImageNet con redes neuronales convolucionales profundas “.

El artículo describe un modelo que luego se denomina “ AlexNet “. Diseñado para abordar el Reconocimiento visual a gran escala de ImageNet Desafío o ILSVRC-2010 concurso para clasificar fotografías de objetos en una de las 1,000 categorías diferentes.

El ILSVRC fue un concurso celebrado de 2011 a 2016. Diseñado para estimular la innovación en el campo de la computadora. visión.

Antes del desarrollo de AlexNet, la tarea se pensaba muy difícil y mucho más allá de la capacidad de los métodos modernos de visión artificial.

AlexNet demostró con éxito la capacidad del modelo de red neuronal convolucional en el dominio y encendió un incendio que dio lugar a muchas más mejoras e innovaciones.

Muchas de las cuales se demostraron en la misma tarea de ILSVRC en los años siguientes.

En términos más generales, el documento demostró que es posible desarrollar modelos de extremo a extremo eficaces y profundos para un problema desafiante sin utilizar técnicas de pre-entrenamiento sin supervisión que eran populares en ese momento.

Importante en el diseño de AlexNet fue un conjunto de Métodos que fueron nuevos o exitosos, pero que no se adoptaron ampliamente en ese momento. Ahora, se han convertido en requisitos cuando se usan CNN para la clasificación de imágenes.

AlexNet utilizó la función de activación lineal rectificada o ReLU. Como no linealmente después de cada capa convolucional. En lugar de funciones en forma de S como Como la logística o el tanh que eran comunes hasta ese momento.

Además, se usó una función de activación de softmax en la capa de salida, ahora un elemento básico para la clasificación de múltiples clases con redes neuronales.

La agrupación promedio utilizada en LeNet-5 se reemplazó con un método de agrupación máxima.

Aunque en este caso, la superposición se encontró que la agrupación superaba a la agrupación no superpuesta que se usa comúnmente en la actualidad (por ejemplo, el paso de la operación de agrupación es del mismo tamaño que la operación de agrupación.

Por ejemplo, 2 por 2 píxeles), para abordar el sobreajuste. El método de abandono propuesto recientemente se usó entre las capas totalmente conectadas de la parte clasificadora del modelo para mejorar el error de generalización.

La arquitectura de AlexNet es profunda y se extiende sobre algunos de los patrones Establecido con LeNet-5.

La imagen a continuación resume la arquitectura del modelo:

En este caso, dividida en dos conductos para entrenar en el hardware de la GPU de la época.

 

Innovaciones arquitectónicas en redes neuronales - Arquitectura de la red neuronal convolucional de AlexNet
Innovaciones arquitectónicas en redes neuronales – – Arquitectura de la red neuronal convolucional de AlexNet para clasificación de fotos de objetos (tomada del documento de 2012).

 

El modelo tiene cinco capas convolucionales en la parte de extracción de características del modelo y tres capas completamente conectadas en la parte clasificadora del modelo.

Las imágenes de entrada se fijaron al tamaño 224 × 224 con tres canales de color. En términos del número de filtros utilizados en cada capa convolucional.

El patrón de aumentar el número de filtros con la profundidad observada en LeNet se respetó principalmente, en este caso, los tamaños: 96, 256, 384, 384 y 256.

Similarmente , se utilizó el patrón de disminución del tamaño del filtro (núcleo) con la profundidad.

Comenzando desde el tamaño más pequeño de 11 × 11 y disminuyendo a 5 × 5, y luego a 3 × 3 en las capas más profundas. El uso de filtros pequeños como 5 × 5 y 3 × 3 es ahora la norma.

Se utilizó un patrón de una capa convolucional seguida de una capa de agrupamiento al principio y al final de la parte de detección de características del modelo.

Curiosamente, se utilizó un patrón de capa convolucional seguida inmediatamente por una segunda capa convolucional. Este patrón también se ha convertido en un estándar moderno.

El modelo se entrenó con el aumento de datos. Lo que aumentó artificialmente el tamaño del conjunto de datos de entrenamiento y le dio al modelo una mayor oportunidad de aprender las mismas características en diferentes orientaciones.

Podemos resumir los aspectos clave de la arquitectura relevantes en los modelos modernos de la siguiente manera:

  • Empleo de la función de activación ReLU después de capas convolucionales y softmax para la capa de salida.
  • Uso de la agrupación máxima en lugar de la agrupación media.
  • Utilización de la regularización de Dropout entre las capas totalmente conectadas.
  • Patrón de capa convolucional alimentada directamente a otra capa convolucional.
  • Uso del aumento de datos.

Innovaciones arquitectónicas en redes neuronales: VGG

El desarrollo de redes neuronales convolucionales profundas para tareas de visión computacional parece ser un poco de arte oscuro después de AlexNet.

Un trabajo importante que buscó estandarizar el diseño de la arquitectura para redes convolucionales profundas y desarrollar modelos mucho más profundos y de mejor rendimiento en el proceso fue el documento de 2014 titulado “ Redes convolucionales muy profundas para el reconocimiento de imágenes a gran escala ” por Karen Simonyan y Andrew Zisserman.

Su arquitectura se conoce generalmente como VGG después del nombre de su laboratorio, el Grupo de Geometría Visual en Oxford. Su modelo se desarrolló y demostró en la misma competencia de ILSVRC, en este caso, la versión ILSVRC-2014 del desafío.

La primera diferencia importante que se ha convertido en un estándar de facto es el uso de un gran número de filtros pequeños.

Específicamente, los filtros con el tamaño 3 × 3 y 1 × 1 con el paso de uno. Diferentes de los filtros de gran tamaño en LeNet-5 y los filtros más pequeños pero relativamente grandes y el paso grande de cuatro en AlexNet.

Las capas de agrupación máxima se utilizan después de la mayoría, pero no todas, de las capas convolucionales, aprendiendo del ejemplo en AlexNet.

Aunque todas las agrupaciones se realizan con el tamaño 2 × 2 y el mismo paso, que también se ha convertido en un estándar de facto.

Específicamente, las redes VGG utilizan ejemplos de dos, tres e incluso cuatro capas convolucionales apiladas antes de usar una capa de agrupación máxima.

El razonamiento fue que las capas convolucionales apiladas con filtros más pequeños aproximan el efecto de una capa convolucional con un filtro de mayor tamaño. Por ejemplo, tres capas convolucionales apiladas con 3 × 3 filtros se aproxima a una capa convolucional con un filtro 7 × 7.

Otra diferencia importante es la gran cantidad de filtros utilizados. El número de filtros aumenta con la profundidad del modelo.

Aunque comienza en un número relativamente grande de 64 y aumenta a través de los filtros 128, 256 y 512 al final de la parte de extracción de características del modelo.

Se desarrollaron y evaluaron varias variantes de la arquitectura. Aunque se hace referencia a dos de ellas.Más comúnmente debido a su rendimiento y profundidad. Se nombran por el número de capas: son el VGG-16 y el VGG-19 para 16 y 19 capas aprendidas respectivamente.

A continuación se muestra la tabla:

Tenga en cuenta las dos columnas del extremo derecho que indican la configuración (número de filtros) utilizada en las versiones VGG-16 y VGG-19 de la arquitectura.

Innovaciones arquitectónicas en redes neuronales - Arquitectura de la red neuronal convolucional VGG
Innovaciones arquitectónicas en redes neuronales – Arquitectura de la red neuronal convolucional VGG para clasificación de fotos de objetos (tomada del documento de 2014).

Las decisiones de diseño en los modelos VGG se han convertido en el punto de partida para el uso simple y directo de las redes neuronales convolucionales en general.

Finalmente, el trabajo de VGG fue uno de los primeros en lanzar las valiosas ponderaciones de los modelos bajo una licencia permisiva que condujo a una tendencia entre los investigadores de visión profunda de computadoras.

Esto, a su vez, ha llevado al uso intensivo de modelos pre-entrenados como VGG en el aprendizaje por transferencia como un punto de partida en nuevas tareas de visión artificial.

Podemos resumir los aspectos clave de la arquitectura relevantes en los modelos modernos de la siguiente manera:

  • Uso de filtros convolucionales muy pequeños. Por ejemplo, 3 × 3 y 1 × 1 con un paso de uno.
  • Uso de la combinación máxima con un tamaño de 2 × 2 y un paso de las mismas dimensiones.
  • La importancia de apilar capas convolucionales juntas antes de usar una capa de agrupación para definir un bloque.
  • Repetición dramática del patrón de bloques de convolución.
  • Desarrollo de modelos muy profundos (16 y 19 capas).

Innovaciones arquitectónicas en redes neuronales: Inicio y GoogLeNet

Innovaciones importantes en el uso de capas convolucionales fueron propuestos en el documento de 2015 por Christian Szegedy, et al. titulado “ Profundizando con las convoluciones “.

En el artículo, los autores proponen una arquitectura denominada inicio (o inicio v1 para diferenciarla de las extensiones) y un modelo específico llamado GoogLeNet que logró los mejores resultados. en la versión de 2014 del desafío ILSVRC .

La innovación clave en los modelos de inicio se llama módulo de inicio. Este es un bloque de capas convolucionales paralelas con filtros de diferentes tamaños (por ejemplo, 1 × 1, 3 × 3, 5 × 5) y una capa de agrupación máxima de 3 × 3, cuyos resultados se concatenan.

A continuación se muestra un ejemplo del módulo de inicio:

Innovaciones arquitectónicas en redes neuronales - Ejemplo del módulo de inicio ingenuo.
Innovaciones arquitectónicas en redes neuronales – Ejemplo del módulo de inicio ingenuo.

Un problema con una implementación ingenua de el modelo inicial es que la cantidad de filtros (profundidad o canales) comienza a acumularse rápidamente. Especialmente cuando se apilan los módulos iniciales.

La realización de circunvoluciones con tamaños de filtro más grandes (por ejemplo, 3 y 5) puede ser computacionalmente costosa en una gran cantidad de filtros.

Para abordar esto, se utilizan capas convolucionales 1 × 1 para reducir el número de filtros en el modelo inicial.

Específicamente antes de las capas convolucionales 3 × 3 y 5 × 5 y después de la capa de agrupación.

Innovaciones arquitectónicas en redes neuronales - Ejemplo del módulo de inicio con reducción de dimensiones.
Innovaciones arquitectónicas en redes neuronales – Ejemplo del módulo de inicio con reducción de dimensiones.

Un segundo La decisión de diseño importante en el modelo inicial fue la conexión de la salida en diferentes puntos del modelo.

Esto se logró mediante la creación de pequeñas redes de salida desde la red principal que fueron entrenadas para hacer una predicción.

La intención era proporcionar una señal de error adicional de la tarea de clasificación en diferentes puntos del modelo profundo para abordar el problema de los gradientes de fuga.

Estas pequeñas redes de salida se eliminaron después del entrenamiento.

A continuación se muestra una versión rotada (de izquierda a derecha para entrada a salida) de la arquitectura del modelo de GoogLeNet tomada del papel utilizando los módulos de Inicio desde la entrada en la izquierda a la clasificación de salida a la derecha y las dos redes de salida adicionales que solo se usaron durante el entrenamiento.

Innovaciones arquitectónicas en redes neuronales - Arquitectura del modelo de GoogLeNet
Arquitectura del modelo de GoogLeNet utilizado durante el entrenamiento para la clasificación de fotos de objetos (tomado del documento de 2015).

Arquitectura del modelo GoogLeNet utilizado durante el entrenamiento para el objeto Clasificación de la foto (tomada del documento de 2015).

Resulta interesante que se usó el agrupamiento máximo superpuesto y se usó una operación de agrupamiento promedio grande al final de la parte de extracción de características del modelo antes de la parte de clasificador del modelo.

Podemos resumir los aspectos clave de la arquitectura relevantes en los modelos modernos de la siguiente manera:

  • Desarrollo y repetición del módulo Inception.
  • Uso intensivo del convolu 1 × 1 Para reducir el número de canales.
  • Uso de la retroalimentación de error en múltiples puntos de la red.
  • Desarrollo de modelos muy profundos (22 capas).
  • Uso de agrupación promedio global para la salida del modelo.

Red Residual o ResNet

Una última Innovaciones arquitectónicas en redes neuronales importante que revisaremos fue propuesta por Kaiming He, et al. en su documento de 2016 titulado “ Aprendizaje profundo residual para el reconocimiento de la imagen “.

En el documento, los autores propusieron un modelo muy profundo llamado Red Residual, o ResNet. Para abreviar, un ejemplo de lo que logró el éxito. en la versión 2015 del desafío ILSVRC.

Su modelo tenía un impresionante 152 capas. La clave para el diseño del modelo es la idea de bloques residuales que hacen uso de conexiones de acceso directo.

Estas son simplemente conexiones en la arquitectura de red donde la entrada se mantiene tal como está (no ponderada) y se pasa a una capa más profunda, por ejemplo. omitir la siguiente capa.

Un bloque residual es un patrón de dos capas convolucionales con activación ReLU donde la salida del bloque se combina con la entrada al bloque, por ejemplo, la conexión de acceso directo.

Una versión proyectada de la entrada utilizada a través de 1 × 1 si la forma de la entrada al bloque es diferente a la salida del bloque, las llamadas convoluciones 1 × 1.

Estas se conocen como conexiones de acceso directo proyectadas. En comparación con las conexiones de acceso directo no ponderadas o de identidad.

Los autores comienzan con lo que llaman una red plana. Que es una red neuronal convolucional profunda inspirada en VGG con filtros pequeños (3 × 3) . Se agruparon capas convolucionales seguidas sin agrupación entre ellas.

Una agrupación promedio al final de la parte del detector de características del modelo antes de la capa de salida completamente conectada con una función de activación de softmax.

La red simple se modifica para convertirse en un red residual mediante la adición de conexiones de acceso directo para definir bloques residuales.

Normalmente, la forma de la entrada para la conexión de acceso directo es del mismo tamaño que la salida del bloque residual.

La imagen de izquierda a derecha compara la arquitectura de un modelo VGG, un modelo simple convolucional:

Una versión del plano convolucional con módulos residuales, llamado red residual.

Innovaciones arquitectónicas en redes neuronales -Arquitectura de la Red Residual para Clasificación de Fotos
Innovaciones arquitectónicas en redes neuronales -Arquitectura de la Red Residual para Clasificación de Fotos de Objetos (tomada del documento de 2016).
Podemos resumir los aspectos clave de la arquitectura relevantes en los modelos modernos de la siguiente manera:
  • Uso de conexiones de acceso directo.
  • Desarrollo y repetición de los bloques residuales.
  • Desarrollo de modelos muy profundos (152 capas).

 

Lecturas adicionales

Esta sección proporciona más recursos sobre el tema si está buscando profundizar.

Documentos

API

Resumen

En este tutorial, descubrió los hitos clave de la arquitectura parael uso de redes neuronales convolucionales para la clasificación de imágenes desafiantes.

Específicamente, usted ha aprendido como:
  • Modelar la cantidad de filtros y tamaños de filtros cuando se implementa Entendiendo redes neuronales convolucionales.
  • Organizar capas convolucionales y agrupadas en un patrón uniforme para desarrollar modelos de buen desempeño.
  • Usar el módulo de inicio y el módulo residual para desarrollar redes convolucionales mucho más profundas.
¿Tiene alguna pregunta?

Haga sus preguntas en los comentarios a continuación y haré mi mejor esfuerzo para responder.

 

Dejá un comentario