Routing by Agreement en Capsule Networks explicado para expertos


Routing by Agreement es un algoritmo iterativo en Capsule Networks que ajusta los coeficientes de enrutamiento \( c_{ij} \) entre cápsulas inferiores \( i \) y cápsulas superiores \( j \) basándose en la concordancia de sus activaciones.

La predicción de una cápsula inferior para una superior es \( \hat{u}_{j|i} = W_{ij} u_i \), donde \( W_{ij} \) es una matriz de pesos y \( u_i \) es el vector de activación de la cápsula inferior.

La suma \( s_j = \sum_i c_{ij} \hat{u}_{j|i} \) se normaliza mediante una función squash no lineal a \( v_j = squash(s_j) \).

Los coeficientes de enrutamiento se definen mediante la normalización softmax de los logits de enrutamiento \( b_{ij} \):

\[ c_{ij} = rac{\exp(b_{ij})}{\sum_k \exp(b_{ik})} \]

Los logits de enrutamiento se actualizan iterativamente basándose en la concordancia entre \( \hat{u}_{j|i} \) y \( v_j \):

\[ b_{ij} \leftarrow b_{ij} + \hat{u}_{j|i} \cdot v_j \]

Este ajuste fomenta el refuerzo de conexiones donde las predicciones de las cápsulas inferiores coinciden con la salida de las cápsulas superiores, modelando eficazmente relaciones jerárquicas entre características.


Definición:
«Routing by Agreement es un mecanismo iterativo de enrutamiento en Capsule Networks que ajusta la fuerza de las conexiones entre capas de cápsulas basándose en la concordancia de sus activaciones para modelar relaciones jerárquicas de características.»


Fuente:
Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. Advances in Neural Information Processing Systems (NeurIPS).