Machine learning 胶囊网络-面部表情识别

Machine learning 胶囊网络-面部表情识别,machine-learning,neural-network,deep-learning,conv-neural-network,Machine Learning,Neural Network,Deep Learning,Conv Neural Network,我想在FER上试验胶囊网络。目前,我正在使用fer2013 Kaggle数据集 在Capsule Net中,我不明白的一件事是在第一个conv层中,大小减小到20x20-输入图像为28x28,过滤器为9x9,步幅为1。但在胶囊中,尺寸减小到6x6。这是怎么发生的?因为输入大小为20x20,过滤器大小为9x9,步幅为2,所以我无法获得6x6。也许我错过了什么 在我的实验中,输入的图像大小是48x48。我应该在开始时使用相同的超参数,还是有任何建议的超参数可以使用?在开始时,图片是28*28,您应用

我想在FER上试验胶囊网络。目前,我正在使用fer2013 Kaggle数据集

在Capsule Net中,我不明白的一件事是在第一个conv层中,大小减小到20x20-输入图像为28x28,过滤器为9x9,步幅为1。但在胶囊中,尺寸减小到6x6。这是怎么发生的?因为输入大小为20x20,过滤器大小为9x9,步幅为2,所以我无法获得6x6。也许我错过了什么


在我的实验中,输入的图像大小是48x48。我应该在开始时使用相同的超参数,还是有任何建议的超参数可以使用?

在开始时,图片是28*28,您应用了大小为9的内核,因此会丢失(9-1)个像素。(每侧4个)。所以在第一个卷积层的末尾,你有(28-8)*(28-8)=20*20像素,你应用了相同的内核,同样,(20-8)*(20-8)=12*12。但是对于第二层,步幅是2,因此只剩下12/2=6像素


对于48*48像素,如果应用相同的卷积层,则最后将显示16*16图片。((48-8-8)/2)

标准Capsnet有两个卷积层。第一个步幅为1,第二个步幅为2

如果你想有6*6个胶囊编号,你的过滤器大小应该是19*19

因为:

48 - (19-1) = 30

30 - (19-1) = 12

12 / 2 = 6  (because stride is 2)