Dynamic Routing
Dynamic Routing is the mechanism in Capsule Networks used to determine the connections between layers — an iterative clustering process where lower-level capsules "vote" for higher-level capsules, and only the consistent votes are allowed to pass signal.
What Is Dynamic Routing?
- Problem: In a face, a "mouth" capsule should only activate the "face" capsule, not the "house" capsule.
- Algorithm:
1. Prediction: Low Capsule $i$ predicts High Capsule $j$.
2. Comparison: Check scalar product (similarity).
3. Update: Increase coupling coefficient $c_{ij}$ if prediction was good.
4. Repeat.
- Effect: Creates a dynamic computational graph specific to the image.
Why It Matters
- Parse Trees: Effectively builds a dynamic parse tree of the image (Eye + Nose + Mouth -> Face).
- Occlusion Handling: Robust to parts being missing or moved, as long as the remaining geometry is consistent.
Dynamic Routing is unsupervised clustering inside a network — grouping features into coherent objects on the fly.