卷积层的维度计算
假设卷积层的输入大小x*x为5*5,卷积核大小k*k为3*3,步长stride为2,假设不填充,输出维度将会是(x-k)/2+1,即为2*2;如果步长为1,那么输出将会是3*3.步长为1的前向传波和反向传播已有很多推导,不再赘述。
前向传播
假设输入如下:
卷积核:
卷积结果
通过卷积计算可以得出:
Z1=W1*X1+W2*X2+W3*X3+W4*X6+W5*X7+W6*X8+W7*X11+W8*X12+W9*X13;
Z2=W1*X3+W2*X4+W3*X5+W4*X8+W5*X8+W6*X10+W7*X13+W8*X14+W9*X15;
同理Z2 Z3也如此。
假设由下一层回传的灵敏度为:
那么αJ/αW1=
同理W2 与X2 X4 X12 X14 相关。同理W3 W4等也如此。
按照卷积回传原理,只需将灵敏度矩阵插入零行零列,即可按步长1与输入做卷积,即可得到卷积核的梯度:
即
可以理解为前向输出按步长为1卷积,但每隔一步,卷积核要置零。以上推导没有考虑激活函数,默认为线性输出。