胶囊网络动态路由专家解读


胶囊网络动态路由指的是一种迭代路由算法,用于优化神经网络中低层胶囊向高层胶囊的激活分配,以映射特征之间的层级关系。

形式上,路由系数 \( 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).