Le routage par accord est un algorithme itératif dans les réseaux de capsules qui ajuste les coefficients de routage \( c_{ij} \) entre les capsules inférieures \( i \) et les capsules supérieures \( j \) en fonction de la concordance de leurs activations.
La prédiction d'une capsule inférieure pour une capsule supérieure est \( \hat{u}_{j|i} = W_{ij} u_i \), où \( W_{ij} \) est une matrice de poids et \( u_i \) est le vecteur d'activation de la capsule inférieure.
La somme \( s_j = \sum_i c_{ij} \hat{u}_{j|i} \) est normalisée par une fonction squash non linéaire en \( v_j = squash(s_j) \).
Les coefficients de routage sont définis par la normalisation softmax des logits de routage \( b_{ij} \) :
\[ c_{ij} = rac{\exp(b_{ij})}{\sum_k \exp(b_{ik})} \]
Les logits de routage sont mis à jour de manière itérative en fonction de la concordance entre \( \hat{u}_{j|i} \) et \( v_j \) :
\[ b_{ij} \leftarrow b_{ij} + \hat{u}_{j|i} \cdot v_j \]
Cet ajustement favorise le renforcement des connexions où les prédictions des capsules inférieures correspondent à la sortie des capsules supérieures, modélisant ainsi efficacement les relations hiérarchiques entre les caractéristiques.
Définition :
« Le routage par accord est un mécanisme de routage itératif dans les réseaux de capsules qui ajuste la force des connexions entre les couches de capsules en fonction de la concordance de leurs activations, afin de modéliser les relations hiérarchiques des caractéristiques. »
Source :
Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. Advances in Neural Information Processing Systems (NeurIPS).