💈胶囊网络
2023-5-12
| 2023-5-20
0  |  阅读时长 0 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
Geoffrey Hinton是深度学习的开创者之一,反向传播等神经网络经典算法发明人,他和他的团队提出了一种全新的神经网络,这种网络基于一种称为胶囊(capsule)的结构,并且还发表了用来训练胶囊网络的囊间动态路由算法。

研究动机——CNN的缺陷

CNN着力于检测图像像素中的重要特征。考虑简单的人脸检测任务,一张脸是由代表脸型的椭圆、两只眼睛、一个鼻子和一个嘴巴组成。而基于CNN的原理,只要存在这些对象就有一个很强的刺激,因此这些对象空间关系反而没有那么重要。
右图不是人脸但都具备了人脸需要的对象,所以CNN有很大可能通过具有的对象激活了是人脸的判断,从而使得结果判断出错。
右图不是人脸但都具备了人脸需要的对象,所以CNN有很大可能通过具有的对象激活了是人脸的判断,从而使得结果判断出错。
💡
重新审视CNN的工作方式,高层特征是低层特征组合的加权和,前一层的激活与下一层神经元的权重相乘并且相加,接着通过非线性激活函数进行激活。在这么一个架构中,高层特征和低层特征之间的位置关系变得模糊(我认为还是有一些的只是没有很好的利用)。而CNN解决这个问题的方法是通过最大池化层或者或许的卷积层来扩大下续卷积核的视野(我认为最大池化层不管怎么说或多或少会丢掉信息甚至是重要信息)。

胶囊网络

胶囊将特征检测的概率作为其输出向量的长度进行编码,检测出的特征的状态被编码为该向量指向的方向。当检测出的特征在图像中移动或其状态发生变化时,概率仍然保持不变(向量的长度没有改变),但它的方向改变了。
💡
胶囊是一组神经元,其活动向量表示特定类型实体(如对象或对象部分)的实例化参数。我们用活动向量的长度来表示实体存在的概率,用它的方向来表示实例化参数。

整体框架

notion image
  1. 9*9的图像经过256个9*9的卷积核生成256*20*20的矩阵。
  1. 256*20*20的矩阵再经过256个9*9的卷积核生成256*6*6的矩阵。再通过切分获得32*8*6*6的矩阵代表32个主胶囊,每个胶囊含有6*6个像素,每个像素有由8维向量组成
  1. 经过胶囊 计算得到10维的数字胶囊(因为预测数字0~9,所以是10维数字胶囊)

胶囊

notion image
  • 编码了低层特征(例如:眼睛、嘴巴和鼻子)和高层特征(例如:面部)之间的空间关系和其他重要关系。
  • 加权向量的求和:这个步骤同人造神经元对应的步骤类似,但神经元的权重是通过反向传播学习的,而胶囊则使用动态路由。
  • 非线性变换:胶囊神经网络的非线性激活函数接受一个向量,然后在不改变方向的前提下,将其长度压缩到 1 以下。

训练

动态路由(正向传播——无监督训练

动态路由的思路就是将第层变换后的输出(上图中的)和第层的输出(上图中的)做点积,点积的结果代表两个向量的相似度。
图4. 胶囊网络的动态路由
图4. 胶囊网络的动态路由
💡
我们用紫色向量表示高层胶囊,橙色向量表示低层胶囊1的输入,其他黑色向量表示接收自其他低层胶囊的输入,如下图所示:
notion image
左侧的紫色输出和橙色输入指向相反的方向,这意味着他们的点积是一个负数,从而路由系数减少;右侧的紫色输出和橙色输入指向相同的方向,从而路由系数增加。在所有高层胶囊及其所有输入上重复该过程,得到一个路由系数集合,达成了来自低层胶囊的输出与高层胶囊的输出的最佳匹配。

反向传播(训练其他参数)

DigitCaps 层的输出为 10 个 16 维的向量,根据上面的公式计算每个向量的损失值,然后将 10 个损失值相加得到最终损失。
在损失函数中,当正确的标签与特定 DigitCap 的数字对应时为 1,否则为 0。加号前一项用于计算正确 DigitCap 的损失,当概率值大于时为 0,当概率值小于 时为非零值;加号后一项用于计算错误 DigitCap 的损失,当概率值小于 时值为 0,当概率值大于时为非零值。公式中的用于确保训练中数值的稳定性。

可解释性

解码器:从正确的 DigitCap 中接收一个 16 维向量,并学习将其解码为数字图像。
解码器:从正确的 DigitCap 中接收一个 16 维向量,并学习将其解码为数字图像。
解码器接收正确的 DigitCap 的输出作为输入,并学习重建一张28×28像素的图像,损失函数为重建图像与输入图像之间的欧式距离。

实验结果

notion image
💡
作者将DigitCap层的16维的胶囊向量的每一个维度以此增加0.05,查看其通过解码器重建的数字的效果,如上图所示。胶囊向量的每个维度编码了目标数字的各种空间姿态信息。
 
  • 图像
  • huggingface的Evaluate多目标模型
    Loading...
    目录