放图

输入是5*5的图片,有三个通道,即R、G 、B,也可以理解深度为3,从三个不同角度看图片,输入就是5*5*3,里面的每个像素或者元素都是输入x.
为了避免全连接导致参数太多,训练复杂,引入卷积核,从小角度看图片,而不是整体看图片。下图是5*5*3的卷积核,输入是32*32*3,输出是深度为6,图片是28*28,则采用卷积和:(5*5*3+1)*6=456个参数,那个1是偏置b;采用全连接参数是(32*32*3)*(28*28)*6=?

卷积核是3*3*3,是自己定义的,一般是5*5*3、3*3*3、7*7*3、11*11*3这几个奇数,红色的3是对应rgb三通道,里面 的每个元素值相当于权重w。
步长可以理解为滑窗,按照3*3的窗口在图片上左右,上下滑动。
假如步长为3,则w−f+ss=图片宽−卷积核宽+步长步长=5−3+33=1.7假如步长为3,则\frac{w-f+s} {s}=\frac{图片宽-卷积核宽+步长} {步长}=\frac{5-3+3} {3}=1.7假如步长为3,则sw−f+s=步长图片宽−卷积核宽+步长=35−3+3=1.7
不能整除时,为了不丢失最后一列和最后一行的像素,可以填充列和行,一般框架自己维护,先填充一列,如果不能整除,再加一列,尽量最少的填充,上图是填充了1列1行,553=》663的图片了。
p+w−f+ss=填充列+图片宽−卷积核宽+步长步长=1+5−3+33=2\frac{p+w-f+s} {s}=\frac{填充列+图片宽-卷积核宽+步长} {步长}=\frac{1+5-3+3} {3}=2sp+w−f+s=步长填充列+图片宽−卷积核宽+步长=31+5−3+3=2
还是以上图的步长为1考虑,多扩了2列2行,来计算卷积核的公式:

得到R与w1[:,:,0]的卷积和0*0+0*(-1)+2*(-1)等等R1,G与w1[:,:,1]的卷积和G1,B与w1[:,:,2]的卷积和b1,
最后的卷积和=R1+G1+B1+b1=-1,b1是偏置项,目的与机器学习中wx+b=y的道理差不多,只是x代表RGB三个通道3*3*3中的元素即特征,w代表三组w1中每个元素的值也是3*3*3

输入层是5*5*3,增加填充列和行,变成7*7*3,卷积核是两组的3*3*3的,两组决定输出层深度是2,即有两个输出,即是输出层的深度
上图中的输出层为3*3*2,如果有50组3*3*3的卷积核,输出层就会有50的深度,输出层为3*3*50,深度指从不同角度去看图片,比如形状,颜色。
3*3*3(这是一组,分别对应rgb三个通道的卷积核)卷积核中每个元素的初始值任意指定,最后由模型训练得到,可以定义N组,就可以输出深度为N的输出层,越多越能从更多角度发掘图像特征,相应计算也会更大
输入层深度由输入决定,一般都是RGB三通道,输出层深度由自己设置W的组数决定,下图每一个平面都代表一个深度。


931

被折叠的 条评论
为什么被折叠?



