胶囊网络 - 面部表情识别

时间:2018-05-14 17:43:38

标签: machine-learning neural-network deep-learning conv-neural-network

我想在FER上试验Capsule Networks。目前我正在使用fer2013 Kaggle数据集。

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

对于我的实验,输入尺寸图像为48x48。我应该在开始时使用相同的hyperparams,还是我可以使用任何建议的超行星?

2 个答案:

答案 0 :(得分:1)

开始时,图片为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)

答案 1 :(得分:0)

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

如果您要使用6 * 6胶囊编号,则过滤器尺寸应为19 * 19。

因为:

48 - (19-1) = 30

30 - (19-1) = 12

12 / 2 = 6  (because stride is 2)