Respuesta corta: no
Respuesta larga: son una variante diferente de las redes neuronales convolucionales (CNN). Tengamos una visión más detallada de las CNN para obtener una idea de Capsule Networks y qué deficiencias intentan solucionar de las CNN.
Una CNN puede considerarse una clase de redes neuronales de avance. Normalmente consisten en una capa de entrada y salida y múltiples capas ocultas en el medio. La mayoría de las capas ocultas aplican una operación de convolución a su entrada y pasan el resultado a la siguiente capa. Las razones por las cuales se usan las convoluciones en lugar de las capas completamente conectadas son que las capas completamente conectadas tienen muchos parámetros ya que se considera toda la entrada, mientras que la convolución generalmente tiene una pequeña ventana de kernel (normalmente de tamaño 5 × 5), que se desliza sobre la entrada y los parámetros se comparten en varias ubicaciones (por lo que para una de esas ventanas el número de parámetros es solo 25). Además, la convolución introduce algún tipo de localidad al considerar solo la vecindad inmediata de 5 × 5 para un píxel.
- ¿Qué método de aprendizaje profundo es el más adecuado para PNL?
- ¿Qué algoritmo de aprendizaje automático se debe usar para eliminar palabras innecesarias en una consulta de búsqueda realizada para recuperar datos de un texto grande?
- ¿Cuál es la diferencia entre el análisis factorial y las técnicas de selección de características, como el análisis de componentes principales y la asignación de dirichlet latente?
- ¿Cuáles son las principales conferencias sobre inteligencia artificial, procesamiento del lenguaje natural y aprendizaje automático?
- ¿Cuál es el lugar de las redes neuronales en una arquitectura más amplia de cognición mecánica?
Entonces, ¿qué problema tiene Hinton con la convolución? En realidad, no tiene ningún problema con la convolución per se sino con la arquitectura que usan la mayoría de las CNN. Para ver el problema, consideremos una arquitectura típica de CNN:
Esta es una de las formas típicas de acercarse a una arquitectura CNN; una capa conv. seguida de una capa de agrupación (y más capas conv y agrupación, de modo que los niveles inferiores puedan detectar características de bajo nivel como bordes y las capas de alto nivel puedan detectar abstracciones como ojos, esquinas, etc.)
Así que aquí puedes ver algo llamado capa de agrupación. Quizás se pregunte qué hace una capa de agrupación. Primer aviso, que existen múltiples estrategias de agrupación, centraremos nuestra atención en Max Pooling para saber:
Como puede ver, Max Pooling redujo el tamaño de la característica a la mitad del tamaño de la característica de entrada. Generalmente, la agrupación máxima (o cualquier tipo de agrupación) se utiliza para reducir el tamaño de la característica a un nivel manejable. Además de reducir el tamaño del vector de características, tiene algunas otras ideas detrás. Al considerar solo el máximo, esencialmente solo nos interesa si una característica está presente en una determinada ventana, pero realmente no nos importa la ubicación exacta. Si tenemos un filtro de convolución, que detecta bordes, un borde dará una alta respuesta a este filtro y la agrupación máxima solo conserva la información si hay un borde presente y arroja información “innecesaria”; que también incluyen la ubicación y la relación espacial entre ciertas características.
Y este tipo de Agrupación es exactamente lo que a Hinton no le gusta y aborda en las Redes de Cápsulas. Sus críticas en pocas palabras son:
Dado que Max Pooling no se preocupa por las relaciones espaciales (descarta la información), la mera presencia de ciertas características puede ser un buen indicador de la presencia del objeto. Sin embargo, porque no le importa la relación espacial, diría que la imagen de la derecha
También es una cara. Uno puede evitar esto, agregando estos ejemplos en el conjunto de datos y etiquetándolos como no faciales, pero es una forma bastante cruda de tratarlo.
Además, Max Pooling es, según Hinton, una forma cruda de redirigir la información al máximo, hay otras formas de redirigir que son un poco más sofisticadas que un simple Max Pooling. (volveremos a eso más tarde)
Los inconvenientes más importantes de CNN es que no pueden modelar bien las relaciones espaciales, no tenemos una representación interna de las restricciones geométricas de los datos; el único conocimiento que tenemos proviene de los datos en sí; Si queremos poder detectar automóviles en muchos puntos de vista, necesitamos tener estos autos de puntos de vista diferentes en el conjunto de entrenamiento, porque no codificamos el conocimiento previo de la relación geométrica en la red.
Si pensamos en Computer Graphics, puede modelar la representación jerárquica interna de datos, combinando varias matrices para modelar la relación de ciertas partes de una cara y también la relación. Hinton argumenta que cuando hacemos reconocimiento de imágenes con nuestro cerebro realizamos algún tipo de soluciones gráficas inversas; a partir de la información visual recibida por los ojos, deconstruyen una representación jerárquica del mundo que nos rodea y tratan de relacionarla con patrones y relaciones ya aprendidos almacenados en el cerebro. Así es como ocurre el reconocimiento. Y la idea clave es que la representación de objetos en el cerebro no depende del ángulo de visión. Solo necesitamos hacer que la representación interna suceda en una red neuronal. Y para este propósito las cápsulas vienen a rescatar.
Entonces, para tener una idea de lo que es realmente una cápsula, consideremos una cita del propio Hinton:
Cada cápsula aprende a reconocer una entidad visual implícitamente definida sobre un dominio limitado de condiciones de visualización y deformaciones y genera tanto la probabilidad de que la entidad esté presente dentro de su dominio limitado como un conjunto de “parámetros de instanciación” que pueden incluir la pose precisa, la iluminación y deformación de la entidad visual en relación con una versión canónica implícitamente definida de esa entidad. Cuando la cápsula funciona correctamente, la probabilidad de que la entidad visual esté presente es invariable localmente; no cambia a medida que la entidad se mueve sobre la variedad de posibles apariencias dentro del dominio limitado cubierto por la cápsula. Sin embargo, los parámetros de instanciación son “equivalentes”: a medida que cambian las condiciones de visualización y la entidad se mueve sobre la variedad de apariencia, los parámetros de instanciación cambian en una cantidad correspondiente porque representan las coordenadas intrínsecas de la entidad en la variedad de apariencia [1]
Por lo tanto, lleva algún tiempo digerir esta información; Hinton introduce una palabra importante; a saber, equivalencia (que no es lo mismo que invariancia). Esta distinción es clave para entender las cápsulas; Max Pooling introduce algún tipo de invariancia; si traduce o cambia un poco la entrada, la salida no debería cambiar; y en Max Pooling no lo hace. Si cambia la entrada un poco, el Máximo sigue siendo el mismo (y no tiene en cuenta el cambio en la entrada proveniente, por ejemplo, de un cambio de punto de vista). Volviendo a Hinton, afirma que queremos que la probabilidad de la presencia de una entidad permanezca igual, incluso si cambiamos la entrada cambiando el punto de vista, por ejemplo. Esto tiene sentido; La probabilidad de la presencia de una nariz no debería cambiar si solo cambiamos el punto de vista.
Sin embargo, él también quiere lograr la equivalencia de los parámetros, eso significa que si cambiamos la entrada, los parámetros deberían cambiar en consecuencia para codificar los cambios de orientación (que se denominan parámetros). Para tener una mejor comprensión, veamos la arquitectura de la red de cápsulas:
Recuerde cuando dije que una red de cápsulas es solo una variante de una CNN. Aquí puedes ver que al principio tenemos convoluciones normales. Además, las cápsulas aquí están abstraídas, pero ¿qué hay dentro de ellas?
Citemos al hombre mismo
Las redes neuronales convolucionales (CNN) usan réplicas traducidas de detectores de características aprendidas. Esto les permite traducir el conocimiento sobre buenos valores de peso adquiridos en una posición en una imagen a otras posiciones. Esto ha demostrado ser extremadamente útil en la interpretación de imágenes. A pesar de que estamos reemplazando los detectores de características de salida escalar de CNN con cápsulas de salida de vectores y la agrupación máxima con enrutamiento por acuerdo, todavía nos gustaría replicar el conocimiento aprendido a través del espacio. Para lograr esto, hacemos que todas menos la última capa de cápsulas sean convolucionales. Al igual que con las CNN, hacemos que las cápsulas de nivel superior cubran regiones más grandes de la imagen [2]
Como puede ver, incluso las cápsulas consisten en capas convolucionales, pero la novedad es la estructura de la cápsula, dentro de la cual se anidan algunas capas convolucionales.
El concepto clave de las Cápsulas se puede resumir en esta imagen:
Así que solo para hacer un breve resumen. U1 a U3 son las salidas vectoriales de las Cápsulas un nivel por debajo; Indican la probabilidad de la presencia de una entidad (ya sea nariz o lo que sea) y su estado también codifican la pose y otras propiedades como la deformación, etc.
Además de las relaciones espaciales de codificación, hay dos novedades que introduce una red de cápsulas: el algoritmo de enrutamiento y la nueva no linealidad llamada aplastamiento. Hablemos brevemente sobre ellos:
Algoritmo de enrutamiento:
La ruta puede considerarse como un acoplamiento entre cápsulas en la capa inferior y superior; intuitivamente significa que la cápsula de abajo envía la salida a la cápsula de arriba que son “expertos” para tratarla. Puede considerarlo como coeficientes de acoplamiento entre dos jerarquías de cápsulas (por lo tanto, estamos viendo los coeficientes [matemática] c_i [/ matemática] Estos son los coeficientes de acoplamiento iniciales, y se refinan midiendo el acuerdo entre la salida actual [matemática] v_j [/ math] de cada cápsula, j, en la capa de arriba y la predicción [math] \ hat {u_ {j | i}} [/ math] hecha por la cápsula i en la capa de abajo. El acuerdo se calcula como escalar producto de la salida y la predicción de la cápsula en la capa de abajo. Los coeficientes de acoplamiento iniciales [matemática] c_i [/ matemática] se refinan iterativamente con el acuerdo calculado.
Función de aplastamiento
Entonces, hasta ahora hemos multiplicado la salida de la cápsula anterior por matrices de peso para codificar las relaciones espaciales, luego las hemos multiplicado con coeficientes de acoplamiento para recibir solo la información relevante de las cápsulas anteriores (o la información con la que la cápsula actual es experta las cápsulas anteriores), ahora ejecutamos esto a través de una función de aplastamiento. Esencialmente es una nueva no linealidad introducida por Hinton, y su definición es:
, donde [math] s_j [/ math] es la salida después del paso de acoplamiento. El concepto detrás de esto era que querían que la longitud del vector de salida de una cápsula representara la probabilidad de que la entidad representada por la cápsula (en nuestro caso, una cara) esté presente en la entrada actual. La función de aplastamiento garantiza que los vectores cortos se reduzcan a una longitud casi nula y los vectores largos se reduzcan a una longitud ligeramente inferior a 1, lo que, por lo tanto, puede considerarse como una probabilidad. El vector largo significa que había mucha evidencia presente de la entidad en la entrada, y los vectores cortos significan que había menos evidencia.
El enrutamiento descrito entre cápsulas, generalmente se realiza entre PrimaryCapsules y DigitCaps (Digit proviene del hecho de que muchos experimentos se realizaron en Mnist, creo) y el aplastamiento se realiza en las capas DigitCaps.
El último paso de la red es un paso de reconstrucción resumido en esta imagen:
Durante el entrenamiento, se oculta todo, excepto el vector de activación del dígito correcto, y este vector de actividad se utiliza para reconstruir la imagen de entrada utilizando un decodificador de 3 capas totalmente conectado. Esto alienta a DigitCaps a capturar información relevante para la reconstrucción y se utiliza como técnica de regularización.
Toda esta arquitectura reduce la tasa de error en el conjunto de datos smallNorb en un 45% [3]. Sin embargo, todavía necesitan muchas pruebas en grandes conjuntos de datos, pero la idea es prometedora y es un posible regreso de Computer Vision haciendo gráficos inversos como lo hizo inicialmente.
¿Reemplazarán las redes neuronales? No porque ellos mismos son redes neuronales
¿Reemplazarán a las CNN? No porque ellos mismos incluyen capas de convolución. Lo nuevo es anidar las capas convolucionales.
A pesar de todo esto, es un enfoque muy prometedor, y uno que puede obligarnos a pensar en las CNN existentes y Max Pooling; ya existen enfoques para la agrupación que se puede aprender en lugar del código rígido y puede haber formas alternativas de enrutar en lugar de la agrupación máxima, y con el propósito de repensar el documento puede ser muy importante como sugerente. Si Cápsulas será el camino a seguir a partir de ahora, es difícil de decir, porque todavía necesitamos experimentos en grandes conjuntos de datos para conocer la capacidad real de ellos. Una tarea difícil podría ser lograr el estado del arte en ImageNet utilizando una fracción de las imágenes de entrada, ya que el objetivo de incluir relaciones geométricas es utilizar menos datos para aprender.
Notas al pie
[1] Comprender las redes de cápsulas de Hinton. Parte II: Cómo funcionan las cápsulas.
[2] https://arxiv.org/pdf/1710.09829…
[3] https://openreview.net/pdf?id=HJ…