胶囊网络动态路由指的是一种迭代路由算法,用于优化神经网络中低层胶囊向高层胶囊的激活分配,以映射特征之间的层级关系。
形式上,路由系数 \( c_{ij} \) 在下层胶囊 \( i \) 与上层胶囊 \( j \) 之间通过对路由对数几率 \( b_{ij} \) 进行 Softmax 归一化定义:
\[ c_{ij} = rac{\exp(b_{ij})}{\sum_k \exp(b_{ik})} \]
上层胶囊的输出 \( s_j \) 由预测值的加权和给出,预测值为 \( \hat{u}_{j|i} = W_{ij} u_i \):
\[ s_j = \sum_i c_{ij} \hat{u}_{j|i} \]
路由对数几率 \( b_{ij} \) 根据 \( \hat{u}_{j|i} \) 与输出 \( v_j = squash(s_j) \) 之间的一致性迭代更新,其中 squash 函数执行非线性归一化。
该机制使网络能够捕捉复杂的空间及部分-整体关系,并增强了在变化条件下正确识别对象的能力。
定义:
“胶囊网络中的动态路由是一种迭代机制,用于自适应调整胶囊层之间连接的权重,建模层级特征关系并提升复杂结构的识别能力。”
来源:
Sabour, S., Frosst, N., & Hinton, G. E. (2017). Dynamic Routing Between Capsules. Advances in Neural Information Processing Systems (NeurIPS).