胶囊网络精华浓缩版第一部分中,我们就吐槽过Max pooling的一堆缺陷:
- 虽然最大池化层可帮助辨别图像中元素的位置关系,但是有太多信息丢失(pooling操作“粗暴地”把局部相邻像素点集压缩成一个像素点)
- 缺乏空间分层和空间推理能力,缺乏“举一反三”的能力
当我们深入看胶囊网络的工作方式,我们会感觉胶囊网络就是为改进Max Pooling而生的:
上图胶囊网络整体架构中,卷积层Conv1输出后,跟的不再是Max Pooling层, 而是主胶囊层(PrimaryCaps layer)和数据胶囊层(DigitCaps layer)。
这些胶囊层到底是如何工作的?我们先从胶囊层和一般的全连接层入手。
一般的全连接层是这样工作的:
对于上一层Max Pooling输出的所有标量(x1, x2, x3)与权重(w1,w2,w3)做卷积求和操作。最后,使用非线性激活函数 f(•)输出预测值hj
而胶囊层是这样工作的:
对于上一层胶囊层输出的所有胶囊向量(u1,u2,u3),通过一系列转换矩阵(W1j,W2j,W3j),转换为更高层的胶囊向量(,,),最后通过胶囊网络独有的动态路由算法(而不是后向传播)聚合成最后需要的胶囊向量(capsule j),再通过特殊的激活方法(squash)输出最后结果。
以人脸识别举例,
The following two tabs change content below.
David 9
邮箱:yanchao727@gmail.com
微信: david9ml
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024