CS231n:卷积神经网络

Fully Connected Layer

对于一个32×32的RGB图像,有三个颜色通道,故转换成30172×1的向量

Wx 10×3072表示有10个类别,每个类别的权重用1×3072的向量表示,图像向量与类别权重作点乘即得到每个类别的评分

Convolution Layer

5×5×3 的卷积核用来做过滤器

图像是32×32×3的 ,所以卷积核需要在图像上滑动才能在空间覆盖整张图像

做点乘的时候,为方便计算依然是转成向量的方式

当卷积核从图像的边角处开始,以步长为1的速度划过整张图,对每一个位置都进行点积运算,得到一个28*28*1的activation map

如果我们使用6个5*5*3的卷积核,则得到一个28*28*6的activation maps

在这里,原始图像深度为3,中间的激活映射深度为6,绿色的深度是10,一个深度递增的过程,也是实践中得到的经验

具体的在操作中卷积核的大小,滑动的步长,采用多少个卷积核都需要视情况而定

卷积核通常从图像(输入层)的边界处开始滑动,从左往右,从上往下,移动的步长通常可以设为1, 2,...等,输出的activation map的尺寸的计算公式为(N - F)/stride + 1 ,

N表示输入尺寸

F表示卷积核的尺寸

stride表示步长

上图中的N = 7,F = 3,当步长等于1或2时,都没有问题,但当步长等于3时,卷积核不能完全覆盖整个输入

In practice: Common to zero pad the border

做零填充的目的是为了保持输入图像的尺寸,假如你有多个卷积层时,输入层的迟钝会迅速缩小,这样就丢失了很多信息,你只能用到很少的值来表示你的原始图像,另外每次图像尺寸缩小,边角处的信息也会丢失更多

 

猜你喜欢

转载自blog.csdn.net/GreenHandCGL/article/details/81320710
今日推荐