实际上,胶囊网络真的轮换不变吗?

时间:2018-07-06 05:51:09

标签: tensorflow machine-learning artificial-intelligence

据说胶囊网络在旋转条件下表现良好。?? *

我用(train-dataset)训练了一个胶囊网络,以获得约100%的火车精度。

我使用(test-dataset-original)对该网络进行了测试,以获得〜99%的测试准确性

i将(test-dataset-original)旋转0.5(test-dataset-rotate0p5),然后

1度获得(test-dataset-rotate1)并获得约10%的测试精度

我将此仓库中的网络用作种子https://github.com/naturomics/CapsNet-Tensorflow

4 个答案:

答案 0 :(得分:1)

在旋转的测试数据上,完全不接受

10%acc。也许某些事情执行不正确。

我们在一些非英语数字数据集(类似于mnist)上实现了capsnet,结果令人难以置信。

实现的模型不仅在旋转方面不变,而且在平移,缩放,透视图等其他变换上也不变

答案 1 :(得分:0)

胶囊网络的第一层是正常卷积。这里的过滤器不是旋转不变的,主要的胶囊层仅将输出特征图应用于姿态矩阵。

我认为这就是为什么您还需要显示Capsnet旋转图像的原因。但是比普通的卷积网要少得多。

答案 2 :(得分:0)

胶囊网络将胶囊矢量或4x4矩阵封装在神经网络中。但是,矩阵可以用于许多事物,旋转只是其中之一。网络没有办法知道您要使用封装表示来进行旋转,除非您专门进行显示,否则网络可以学习将其用于旋转。

答案 3 :(得分:0)

胶囊网络的出现是为了解决卷积神经网络(CNN)中的视点方差问题。 CapsNet被称为视点不变,包括旋转不变和平移不变。

通过使用最大池,CNN具有平移不变性,但是这会导致接收场中的信息丢失。随着网络的深入,接收场也逐渐增加,因此,更深层的最大池化会导致更多信息丢失。这导致空间信息的丢失,并且网络仅学习本地/时间信息。 CNN无法了解更大的输入内容。

权重 W ij (在主胶囊层和辅助胶囊层之间)进行反向传播,以了解第i个 在第一层中的胶囊,并生成预测向量u j | i 。因此,基本上,这个W ij 负责学习给定实体的旋转变换。