Le routage de capsules désigne le processus itératif dans les réseaux de capsules, où les sorties des capsules de bas niveau sont transmises et pondérées vers des capsules de niveau supérieur afin de former une représentation hiérarchique cohérente.
Formellement, dans le routage dynamique par accord, la pondération (coefficients de routage) c_{ij} entre une capsule inférieure i et une capsule supérieure j est calculée par un softmax sur les soi-disant logits de routage b_{ij} :
c_{ij} = softmax(b_{ij})
La prédiction ŷ_{j|i} est formée par la multiplication de la sortie u_i de la capsule inférieure avec une matrice de poids W_{ij} :
ŷ_{j|i} = W_{ij} u_i
L'entrée s_j de la capsule supérieure est alors la somme pondérée des prédictions :
s_j = ∑_i c_{ij} ŷ_{j|i}
La sortie v_j de la capsule supérieure est calculée par une fonction de squash non linéaire appliquée à s_j.
Lors de plusieurs itérations de routage, les logits b_{ij} sont ajustés en fonction de la concordance entre ŷ_{j|i} et v_j, afin d'affiner les coefficients de routage.
Cette méthode permet aux capsules de ne transmettre des signaux qu'aux capsules supérieures qui correspondent à leurs prédictions, modélisant ainsi une relation partie-tout.
Définition :
Le routage de capsules est un mécanisme itératif dans les réseaux de capsules, où la transmission des signaux entre capsules est pondérée dynamiquement en fonction de la concordance de leurs prédictions, afin de modéliser des relations hiérarchiques et partie-tout dans les données.
Source :
Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. Advances in Neural Information Processing Systems (NeurIPS).