Le routage dynamique des réseaux de capsules désigne un algorithme de routage itératif qui optimise la répartition des activations des capsules inférieures vers les capsules supérieures dans un réseau neuronal afin de modéliser les relations hiérarchiques entre les caractéristiques.
Formellement, les coefficients de routage \( c_{ij} \) entre la capsule inférieure \( i \) et la capsule supérieure \( j \) sont définis par une normalisation Softmax sur les logits de routage \( b_{ij} \) :
\[ c_{ij} = rac{\exp(b_{ij})}{\sum_k \exp(b_{ik})} \]
La sortie de la capsule supérieure \( s_j \) est obtenue comme la somme pondérée des prédictions \( \hat{u}_{j|i} = W_{ij} u_i \) :
\[ s_j = \sum_i c_{ij} \hat{u}_{j|i} \]
Les logits de routage \( b_{ij} \) sont mis à jour de manière itérative en fonction de la concordance entre \( \hat{u}_{j|i} \) et la sortie \( v_j = squash(s_j) \), la fonction squash assurant une normalisation non linéaire.
Ce mécanisme permet au réseau de capturer des relations spatiales complexes et des relations partie-tout, renforçant ainsi la capacité à reconnaître correctement les objets même en cas de variations.
Définition :
« Le routage dynamique dans les réseaux de capsules est un mécanisme itératif d’ajustement adaptatif des poids des connexions entre couches de capsules, qui modélise les relations hiérarchiques des caractéristiques et améliore la reconnaissance de structures complexes. »
Source :
Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. Advances in Neural Information Processing Systems (NeurIPS).