Enrutamiento de cápsulas explicado para expertos


El enrutamiento de cápsulas se refiere al proceso iterativo en las redes de cápsulas, donde las salidas de cápsulas de bajo nivel se transmiten y ponderan a cápsulas de nivel superior para formar una representación jerárquica coherente.

Formalmente, en el enrutamiento dinámico por acuerdo, la ponderación (coeficientes de enrutamiento) c_{ij} entre una cápsula inferior i y una cápsula superior j se calcula mediante un softmax sobre los llamados logits de enrutamiento b_{ij}:

c_{ij} = softmax(b_{ij})

La predicción ŷ_{j|i} se forma multiplicando la salida u_i de la cápsula inferior por una matriz de pesos W_{ij}:

ŷ_{j|i} = W_{ij} u_i

La entrada s_j de la cápsula superior es entonces la suma ponderada de las predicciones:

s_j = ∑_i c_{ij} ŷ_{j|i}

La salida v_j de la cápsula superior se calcula mediante una función de squash no lineal aplicada a s_j.

En varias iteraciones de enrutamiento, los logits b_{ij} se ajustan basándose en la concordancia entre ŷ_{j|i} y v_j para refinar los coeficientes de enrutamiento.

Este método permite que las cápsulas solo transmitan señales a cápsulas superiores que coincidan con sus predicciones, modelando así una relación parte-todo.


Definición:
El enrutamiento de cápsulas es un mecanismo iterativo en las redes de cápsulas donde la transmisión de señales entre cápsulas se pondera dinámicamente según la concordancia de sus predicciones para modelar relaciones jerárquicas y parte-todo en los datos.


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