¿Qué es la agrupación en una arquitectura profunda?

La agrupación es un concepto en el reconocimiento de objetos visuales de aprendizaje profundo que va de la mano con la convolución.

La idea es que una convolución (o un detector de características de la red neuronal local) asigne una región de una imagen a un mapa de características. Por ejemplo, una matriz de píxeles 5 × 5 podría asignarse a entidades de borde orientadas. La convolución se repite una y otra vez en todas las ubicaciones posibles de píxeles en lo que a veces se llama un “rectángulo deslizante”.

El siguiente nivel en la red quiere detectar características de nivel superior de los bloques de construcción de bajo nivel, como detectar una esquina desde dos bordes que se cruzan. La cuestión es que no se quería ser demasiado rígido con respecto a la posición exacta de los bordes para que la característica de nivel superior aún se pueda detectar bajo distorsiones de traslación como desplazamiento lateral o sesgo.

Esta invariancia traslacional en el nivel de característica se logra insertando una capa de agrupación justo después del paso de convolución pero antes del siguiente paso de detección / convolución de característica de nivel. Por ejemplo, las salidas de los detectores de borde vertical adyacentes se “agruparán al máximo” a una unidad que diga “hay un borde vertical cerca de esta ubicación”.

Al organizar la detección alterna de características y la agrupación de capas en una jerarquía, las estructuras deformadas de manera flexible se pueden reconocer como “variaciones sobre el mismo tema estructural”. En el nivel más alto, las características pueden ser categorías de objetos que son completamente independientes de la posición del objeto dentro del marco.

Uno de los conceptos más importantes de la red neuronal convolucional es la agrupación [4], que divide el mapa de entrada en un conjunto de rectángulos y genera el máximo para el muestreo descendente no lineal. El filtro de capa de agrupación más común es de tamaño 2 × 2, que descarta tres cuartos de las activaciones. El papel de la capa de agrupación es reducir la resolución del mapa de características pero conservando las características del mapa requeridas para la clasificación a través de invariantes traslacionales y rotacionales. La retropropagación se utiliza para el entrenamiento de la operación de agrupamiento [3].

Aunque, el profesor Hinton no creía en la operación de agrupación y afirmó que la operación de agrupación utilizada en redes neuronales convolucionales es un gran error y el hecho de que funcione tan bien es un desastre. Propuso una alternativa, que implica una representación explícita de Posición, Orientación y Escala.

Sobreajuste

Como la validación cruzada es costosa para una gran red, el remedio del sobreajuste en una red neuronal moderna se considera a través de dos raíces:

  1. Reducir el número del parámetro representando el modelo de manera más efectiva.
  2. Regularización

Por lo tanto, la arquitectura dominante en los últimos tiempos para la clasificación de imágenes es la red neuronal de convolución, donde el número de parámetros se reduce de manera efectiva a través de la técnica de convolución en las capas iniciales y las capas completamente conectadas al final de la red [5].

Por lo general, la regularización se realiza mediante el aumento de datos, la deserción o la normalización por lotes [10]. La mayoría de estas técnicas de regularización tienen dificultades para implementar en capas convolucionales. Entonces, alternativamente, dicha responsabilidad puede llevarse a cabo agrupando capas en una red neuronal convolucional.

Raíz estocástica del conjunto

Existen tres variantes de la operación de agrupación según las raíces de la técnica de regularización:

  1. Agrupación estocástica,
  2. Agrupación superpuesta,
  3. Agrupación fraccional.

Agrupación estocástica

La activación elegida aleatoriamente dentro de cada región de agrupación se considera que las operaciones de agrupación deterministas para la regularización de la red. La agrupación estocástica reduce el tamaño de la función, pero niega el papel de seleccionar juiciosamente las funciones en aras de la regularización. Aunque el recorte de salida negativa de la activación de ReLU ayuda a llevar parte de la responsabilidad de la selección.

Roulette wheel Pooling (RWP) : lo que se suele llamar literatura como agrupación estocástica [1], debería denominarse Roulette wheel Pooling, tomando el concepto de selección de ruleta, que es un operador genético utilizado en algoritmos genéticos para seleccionar soluciones potencialmente útiles para recombinación [7]. Aunque en la comunidad de algoritmos genéticos, la selección de la ruleta ahora se reemplaza por la selección de torneos [8]. Una de las soluciones de RWP para atender rendimientos degradados durante el tiempo de prueba es usar una forma probabilística de promediación (PFA).

Agrupación de torneos : toma dos activaciones distintas de cero (tamaño de torneo) con la misma probabilidad y selecciona una más grande. También se requiere una solución similar de PFA durante el tiempo de prueba, pero su distribución es más estricta en comparación con RWP. Aunque, la agrupación de torneos utiliza un enfoque suave en comparación con la agrupación máxima, se combina en un factor de su tamaño de torneo sobre la agrupación estocástica (RWP) para cada grupo, lo que aumenta exponencialmente a lo largo de la red. Personalmente, espero que mejore el rendimiento de la red debido a su falta de ruido estocástico [9].

Agrupación superpuesta

La operación de agrupación superpuesta comparte la responsabilidad de la conexión local más allá del tamaño del filtro convolucional anterior, lo que rompe la responsabilidad ortogonal entre la capa de agrupación y la capa convolucional. Por lo tanto, no se obtiene información si las ventanas de agrupación se superponen. Además, podría ser necesario acumular varias señales de error en una unidad durante la propagación hacia atrás [6]. Pero, algunos investigadores suponen que la conexión fija de la localidad entre la capa de convolución y la capa de agrupación es mejor que la conexión de ubicación articulada y esperan que las regiones de agrupación no superpuestas pierdan información espacial rápidamente que la agrupación superpuesta.

Agrupación fraccional (FP)

La relación de reducción del tamaño del filtro debido a la agrupación se puede controlar mediante un concepto de agrupación fraccional, que ayuda a aumentar la profundidad de la red. A diferencia de la agrupación estocástica, la aleatoriedad está relacionada con la elección de las regiones de agrupación, no con la forma en que se realiza la agrupación dentro de cada una de las regiones de agrupación [2]. Aunque para una muestra individual, FP no está violando la responsabilidad ortogonal de la conexión local con la capa de convolución, pero en forma conjunta está violando. Por lo tanto, muestra un mejor resultado si coexiste con una agrupación superpuesta.

Pero se requiere más teoría.

[1] https://arxiv.org/pdf/1301.3557v

[2] http://arxiv.org/pdf/1412.6071v4

[3] La respuesta de Debiprasad Ghosh a En redes neuronales, ¿cómo se transporta la propagación hacia atrás a través de las capas de maxpool?

[4] Red neuronal convolucional

[5] La respuesta de Debiprasad Ghosh a ¿Por qué se usan capas completamente conectadas en el “extremo” [lado de salida] de las NN convolucionales? ¿Por qué no antes?

[6] http://ais.uni-bonn.de/papers/ic

[7] Selección proporcional de aptitud

[8] Selección de torneo

[9] Revistas de prensa del MIT – Computación evolutiva – Resumen

[10] La respuesta de Debiprasad Ghosh a ¿Por qué ayuda la normalización por lotes?

La agrupación es una forma de submuestreo, es decir, reduce la dimensión de la entrada (o en alguna capa oculta). Se utiliza principalmente para hacer que la entrada / características / patrones de transición sea independiente.

ref: http://i.stack.imgur.com/HyAs5.png

Ahora, como puede ver en el diagrama anterior (convNet por lay lecun), sesenta y cuatro entidades 10X10 en la capa 1 se transforman en sesenta y cuatro entidades 14X14.
Básicamente, agrupa un número fijo de unidades y obtiene un valor único para ese grupo.

Ex.
asumir un tamaño de grupo de 2X2 en la siguiente matriz 4X4

4 5 | 4 5
6 7 | 8 7
_____
2 3 | 6 1
9 6 | 5 4

luego,
1) Agrupación máxima: saca el máximo de cada grupo:
entonces la matriz después de la agrupación máxima será:
7 | 8
——
9 | 6 6

2) Agrupación promedio: toma el promedio de cada grupo
entonces la matriz después de la agrupación promedio será:
5,50 | 6 6
——–
5,25 | 4 4

Imp leer:
El uso principal de la agrupación es hacer que la transición de características sea independiente.
Suponga que tiene dos imágenes de entrada del mismo número en un fondo blanco muy grande.
-En la primera imagen, el número está escrito en la esquina inferior derecha.
-En la segunda imagen, el número se escribe en el medio de la imagen.

Suponga que el píxel de fondo tiene el valor cero y los píxeles del dígito tienen el valor 1. Ahora, si sigue aplicando la agrupación máxima después de un tiempo, ambas imágenes del dígito se reducirán a imágenes similares, con solo un dígito en el medio.

Ej: para el dígito 7 sobre fondo blanco, la matriz se verá como
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 0
Y
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

Aplique la agrupación máxima en la imagen de arriba en el grupo de 2X2.

0 0 0 0
0 0 0 0
0 0 1 1
0 0 0 1
Y
0 0 0 0
1 1 0 0
0 1 0 0
0 0 0 0

Ahora, si vemos en el ejemplo anterior, el número siete está cubierto en una región más pequeña en comparación con la imagen original.
Imagine un caso de entrada muy grande con alta transición del patrón que estamos buscando, la agrupación hace que la transición de entrada sea independiente.

PD: Esto fue solo para darle una vaga idea de la agrupación de una definición teórica real, lea “Red neuronal convolucional de Yann Lecun”, quien la usó primero para el reconocimiento de dígitos.

El propósito de usar la capa de agrupación es lograr la invariancia espacial (traslación y rotación hasta un umbral) reduciendo la resolución del mapa de características. Las ventanas de agrupación pueden tener un tamaño arbitrario y pueden superponerse. Sin embargo, “Aplicar una función de ventana a un vecindario superpuesto es peor que usar ventanas de agrupación no superpuestas”. La función de ventana puede tener la forma de un rectángulo, cono, pirámide o ser una distribución binomial. Además de la robustez de la invariancia espacial, la agrupación reducirá en gran medida el costo de cálculo.

Aquí hay un ejemplo de agrupación ampliamente utilizada en CNN llamada max-pooling:

Otras variantes de la agrupación son:

  • agrupación mínima
  • agrupación promedio
  • agrupación estocástica
  • agrupación wavelet
  • agrupación de árboles
  • agrupación de promedio máximo
  • agrupación de pirámides espaciales

Contestaré esta pregunta con CNN (redes neuronales convolucionales) aplicadas a las imágenes en mente.

El procedimiento de convolución consiste en aplicar un filtro en una parte local de la imagen (llamemos a esta capa de entrada L1) para capturar alguna característica (pueden ser características simples como bordes en el comienzo de la red, pueden ser características más avanzadas como ‘oreja -detector ‘en alguna capa más profunda de la red). La capa que sigue inmediatamente a la convolución (llamemos a esta capa L2) tendrá información sobre las propiedades locales de L1. El filtro está buscando esencialmente una característica particular en toda la imagen. Las regiones locales de L2 tendrán contenido similar porque los filtros se superponen. Por lo tanto, tiene sentido considerar la neurona que da la ‘señal más fuerte’ sobre la característica en una pequeña región circundante. Por lo tanto, la agrupación máxima (tomar el máximo en un área local pequeña de L2) solo considera la neurona con la mayor información sobre la característica que el filtro está buscando.

Además, como Paul King mencionó en su respuesta, las capas futuras realmente no se preocupan por la ubicación exacta de la característica. Solo necesitan saber la ubicación aproximada de la función en la imagen. Por lo tanto, el submuestreo (o agrupación) no afecta mucho a la red (de hecho, ayuda a reducir el número de parámetros de la red y, por lo tanto, puede ayudar a reducir el sobreajuste en cierta medida).

More Interesting

¿Cuáles son algunos algoritmos para resolver el problema de los bandidos multi-armados?

Cómo decidir el tamaño de la muestra para el aprendizaje automático con datos de series temporales

¿Son los enfoques variacionales estocásticos la forma de hacer ML bayesiano a gran escala o ves alguna esperanza de ampliar los algoritmos basados ​​en MCMC?

¿Qué métodos (sin supervisión) deberían usarse para la categorización jerárquica automática de documentos?

¿Por qué es óptimo establecer el tamaño del paso para la regresión logística con el descenso del gradiente al recíproco de la consistencia de lipschitz?

¿Se puede utilizar el aprendizaje automático para mejorar la situación de los agricultores en los países en desarrollo? En caso afirmativo, ¿cuál sería su enfoque?

¿Pueden las redes neuronales resolver problemas de optimización?

¿Dónde puedo descargar datos de proyecto disponibles públicamente para entrenar mi red neuronal?

¿R necesita una herramienta de flujo de trabajo visual como RapidMiner y Knime?

¿Los principales profesionales de aprendizaje profundo a menudo tienen grandes lagunas de conocimiento debido a lo rápido que se mueve el campo?

¿Cuál es la naturaleza de la red neuronal multicapa en el aprendizaje Deep Q?

Cómo decidir si usar modelos de aprendizaje automático supervisados ​​o de refuerzo

¿Puede un autoencoder sobreajustar cuando tiene una cantidad mucho menor de neuronas de capa oculta que la capa de entrada y también se usa la deserción?

¿Se puede usar tensorflow en SVM?

¿Qué herramientas están disponibles para extraer PCFG lexicalizados de un corpus analizado?