据说胶囊网络在旋转条件下表现良好。?? *
我用(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
答案 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 负责学习给定实体的旋转变换。