Capsule Networks/es

    From Marovi AI
    This page is a translated version of the page Capsule Networks and the translation is 100% complete.
    Other languages:
    Article
    Topic area Deep Learning
    Prerequisites Convolutional Neural Network, Backpropagation


    Resumen

    Una red de cápsulas (CapsNet) es una arquitectura de red neuronal en la que grupos de neuronas, llamados cápsulas, codifican colectivamente los parámetros de instanciación de una entidad visual en lugar de emitir una única activación escalar. Cada cápsula produce un vector (o matriz) cuya longitud expresa la probabilidad de que una entidad esté presente y cuya orientación expresa propiedades como pose, deformación, color o textura. Las cápsulas se conectan entre capas mediante un mecanismo de enrutamiento dinámico que reemplaza la ponderación escalar de las redes convolucionales convencionales, permitiendo que las cápsulas de nivel superior escuchen selectivamente a las cápsulas de nivel inferior cuyas predicciones coinciden.

    Las redes de cápsulas fueron introducidas por Sabour, Frosst y Hinton en 2017 como respuesta a las limitaciones percibidas de las arquitecturas convolucionales: su dependencia del max pooling para lograr la invariancia traslacional, que descarta relaciones espaciales precisas, y su tendencia a confundir objetos rotados, reflejados o transformados de otro modo. Al obligar a cada cápsula a modelar una pose explícita, una red de cápsulas pretende ser equivariante frente a cambios de punto de vista en lugar de meramente invariante, recuperando parte de la estructura que las capas de pooling descartan.

    Aunque las redes de cápsulas siguen siendo una arquitectura de nicho en sistemas de producción, han influido en la investigación sobre jerarquías parte-todo, representaciones equivariantes y atención basada en enrutamiento. Variantes posteriores —enrutamiento EM, enrutamiento autónomo, autoencoders de cápsulas apilados y GLOM— exploran reglas de enrutamiento y objetivos de entrenamiento alternativos.

    Motivación e intuición

    Una capa convolucional estándar detecta características calculando activaciones escalares en cada ubicación espacial y luego las agrega mediante pooling. El pooling descarta la ubicación precisa de una característica a cambio de tolerancia a la traslación. Hinton ha argumentado durante mucho tiempo que esto es un desperdicio: el cerebro casi con seguridad conserva información de pose y se apoya en el acuerdo entre las poses de las partes para reconocer los todos, una idea que a veces se resume como "equivarianza, no invarianza".

    Una cápsula intenta codificar una entidad junto con su pose. Si una cara es un todo y los ojos, la nariz y la boca son partes, entonces cada cápsula de parte puede predecir dónde debería estar la cápsula de cara —por ejemplo, la posición de los ojos, dada la geometría facial típica, predice la posición de la cara. Cuando varias cápsulas de partes predicen la misma pose de cara, la red tiene una fuerte evidencia de que hay una cara presente. El desacuerdo entre las predicciones de las partes, en cambio, indica una detección errónea o una disposición de características que no corresponde a una cara. Esta detección por coincidencia es el principio operativo detrás del enrutamiento de cápsulas.

    Representación de cápsulas

    Una cápsula primaria suele surgir de una convolución cuyos canales de salida se reorganizan en vectores. Para una capa de cápsulas indexada por $ i $, cada cápsula produce un vector de salida $ u_i \in \mathbb{R}^{d_i} $. La longitud $ \|u_i\| $ se restringe al intervalo $ [0, 1) $ mediante una no linealidad llamada función squash:

    $ {\displaystyle v = \frac{\|s\|^2}{1 + \|s\|^2}\, \frac{s}{\|s\|}} $

    donde $ s $ es el vector de entrada previo a la activación y $ v $ es la salida tras aplicar squash. Los vectores cortos son empujados hacia cero; los vectores largos se saturan justo por debajo de la longitud unitaria. La norma $ \|v\| $ se interpreta como la probabilidad de que la entidad modelada por la cápsula esté presente, mientras que la dirección $ v / \|v\| $ codifica sus parámetros de instanciación.

    Las cápsulas de nivel superior consumen predicciones de las cápsulas de nivel inferior. Cada cápsula de nivel inferior $ i $ aporta un vector de predicción $ \hat{u}_{j|i} = W_{ij} u_i $, donde $ W_{ij} $ es una matriz de transformación aprendida que convierte la pose de la cápsula $ i $ en una predicción de la pose de la cápsula $ j $. La entrada total a la cápsula $ j $ es una suma ponderada de estas predicciones, con pesos determinados por el enrutamiento.

    Enrutamiento dinámico por acuerdo

    El enrutamiento dinámico refina iterativamente los pesos de asignación $ c_{ij} $ que conectan la cápsula $ i $ de una capa con la cápsula $ j $ de la siguiente. Inicialmente, los logits log-previos $ b_{ij} $ se establecen en cero. El procedimiento de enrutamiento se repite durante un pequeño número de iteraciones (normalmente 3):

    1. Calcular los coeficientes de acoplamiento mediante softmax sobre las cápsulas de destino: $ c_{ij} = \mathrm{softmax}_j(b_{ij}) $.
    2. Calcular la pre-activación de cada cápsula de salida: $ s_j = \sum_i c_{ij}\,\hat{u}_{j|i} $.
    3. Aplicar squash para obtener $ v_j = \mathrm{squash}(s_j) $.
    4. Actualizar los logits por acuerdo: $ b_{ij} \leftarrow b_{ij} + \hat{u}_{j|i} \cdot v_j $.

    El producto escalar $ \hat{u}_{j|i} \cdot v_j $ es grande cuando la predicción de la cápsula $ i $ se alinea con la salida consenso de la cápsula $ j $, aumentando el acoplamiento y reforzando el acuerdo. Las cápsulas cuyas predicciones discrepan ven decaer su acoplamiento. El enrutamiento ocurre tanto en el tiempo de inferencia como durante el entrenamiento, pero las matrices de transformación $ W_{ij} $ son los únicos parámetros entrenados mediante descenso de gradiente.

    Función de pérdida

    La CapsNet original utiliza la pérdida de margen, un objetivo por clase que incentiva a la cápsula de salida correspondiente a tener un vector largo cuando la clase está presente y un vector corto cuando está ausente:

    $ {\displaystyle L_k = T_k \max(0, m^+ - \|v_k\|)^2 + \lambda (1 - T_k)\, \max(0, \|v_k\| - m^-)^2} $

    donde $ T_k = 1 $ si la clase $ k $ está presente, $ m^+ = 0.9 $, $ m^- = 0.1 $ y $ \lambda = 0.5 $ reduce el peso del término de clase ausente para evitar un encogimiento temprano. La pérdida total se suma sobre las clases. Un decodificador de reconstrucción, alimentado con el vector de la cápsula activa, añade opcionalmente un pequeño término de reconstrucción de error cuadrático medio para incentivar a la cápsula a retener información suficiente para redibujar la entrada.

    Variantes

    Se han propuesto varias reglas de enrutamiento y extensiones arquitectónicas:

    • Enrutamiento EM (Hinton et al., 2018) reemplaza el acuerdo basado en producto escalar con un procedimiento de esperanza-maximización. La pose se representa mediante una matriz de 4x4 y un logit de activación; el acuerdo se ajusta como una mixtura gaussiana, lo que agudiza la decisión de enrutamiento cuando las partes se agrupan fuertemente.
    • Las cápsulas con auto-enrutamiento aprenden una función de enrutamiento directamente a través de una pequeña subred en lugar de iterar hasta la convergencia, sacrificando interpretabilidad a cambio de velocidad.
    • Los autoencoders de cápsulas apilados invierten la configuración típica: cada cápsula predice las poses de sus partes, y la red se entrena de forma no supervisada para reconstruir plantillas de partes.
    • GLOM (Hinton, 2021) generaliza aún más la idea parte-todo, reemplazando las cápsulas discretas por islas de acuerdo en una representación tipo transformer.
    • Las cápsulas convolucionales aplican las mismas matrices de transformación a través de las ubicaciones espaciales, recuperando la eficiencia de compartición de parámetros de la convolución.

    Comparación con redes convolucionales

    Las redes de cápsulas difieren de las CNNs estándar en tres aspectos. Primero, reemplazan las características escalares con poses vectoriales, de modo que cada unidad transporta información estructural que de otro modo el pooling borraría. Segundo, sustituyen el pooling por enrutamiento por acuerdo, que es una asignación aprendida y dependiente de la entrada en lugar de una reducción fija. Tercero, buscan la equivarianza: cuando la entrada se transforma, las salidas de las cápsulas cambian de manera estructurada en lugar de permanecer idénticas. Las CNNs logran invariancia mediante aumentación de datos y pooling; las redes de cápsulas intentan integrar la equivarianza en la propia arquitectura.

    En la práctica, en conjuntos de datos pequeños como MNIST y smallNORB, las CapsNets igualan o superan ligeramente a las CNNs comparables y se recuperan de manera más elegante ante puntos de vista nuevos. Sin embargo, en conjuntos de datos más grandes como ImageNet, la arquitectura original no ha cerrado la brecha con las redes residuales profundas ni con los transformers de visión, en parte porque el enrutamiento dinámico es difícil de escalar y parametrizar de forma eficiente.

    Limitaciones y problemas abiertos

    Las redes de cápsulas enfrentan varios obstáculos prácticos. El enrutamiento es iterativo y no se paraleliza fácilmente, por lo que el rendimiento por lote es inferior al de las capas feed-forward con un número de parámetros similar. El coste de memoria crece con el producto del número de cápsulas en capas adyacentes, porque cada par tiene su propia matriz de transformación. La estabilidad del entrenamiento es sensible al número de iteraciones de enrutamiento y a la no linealidad squash, que está acotada superiormente y puede aplanar los gradientes. Por último, el sesgo inductivo arquitectónico hacia las jerarquías parte-todo ha producido hasta ahora sus beneficios más claros en conjuntos de datos pequeños y estructurados; si la equivarianza puede explotarse a la escala de los modelos fundacionales modernos sigue siendo una pregunta abierta de investigación.

    A pesar de estas limitaciones, la contribución conceptual —que las representaciones deben codificar la pose de forma explícita y que el acuerdo entre predicciones es una señal de aprendizaje poderosa— sigue informando el trabajo sobre redes equivariantes, redes neuronales de grafos y atención estructurada.

    Referencias

    Cite error: <ref> tag with name "sabour2017" defined in <references> has group attribute "" which does not appear in prior text.
    Cite error: <ref> tag with name "hinton2018em" defined in <references> has group attribute "" which does not appear in prior text.
    Cite error: <ref> tag with name "kosiorek2019" defined in <references> has group attribute "" which does not appear in prior text.
    Cite error: <ref> tag with name "hinton2021glom" defined in <references> has group attribute "" which does not appear in prior text.