我们要有一个概念,就是卷积核就是我们的w1,w12,w2
那么我们的5*5卷积核怎么表达,当他在14*14的图像中流动时,对应的像素也在变化
这个和我们的上面w1,w12,w2不同,因为这几个都是全连接,比如,w1【0,0】对应图像第一像素和hi的第一个。
假定我们给5*5卷积核起名w1cnn,图像第一像素和hi的第一个对应w1cnn【0】,那么5*5卷积核走到第二个像素又用到了w1cnn【0】,w1cnn应该有25个,即w1cnn【0-24】
我们backward时,求应该对应哪个像素?
我们先用这一个5*5卷积核,捋一下forward:
14*14(w1cnn【25】)-》10*10(2*2池化,取最大)-》5*5-》80-》10,期望d【10】
14*14图像x第一个像素即x【0】所在位置5*5方阵像素与5*5的卷积核(w1cnn【25】)生成了10*10图像temphicnn的第一个像素。
我们用公式描述一下:
temphicnn【0】+=x[i=j=0,5*5方阵像素]*w1cnn[0-24],
temphicnn【1】+=x[i=1,j=0,5*5方阵像素]*w1cnn[0-24],
。。。。。。。。
这样重复下去,我们就有100个temphicnn【0-99】图像,来自14*14图像x每一个像素卷积。
然后temphicnn【0-99】图像2*2池化,取最大,变成25个像素图像hicnn【0-24】。
这里要注意的是,我们要记录下这25个最大值图像,在10*10图像中的位置,以及在14*14图像中开始卷积的位置,我找到一个公式:如果在25个最大值图像中,i=3;j=4,池化时记录最大位置在(1,0)
那么