cnn卷积神经网络图 卷积神经网络cnn训练
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
- 卷积计算层 1.1卷积的通俗理解-为什么参数会大大减少 1.2卷积的计算
- ReLu激励层/ReLu layer 2.1 为什么要用激励层? 2.2 sigmoid函数 2.3 tanh函数 2.4 RELU 2.5 Leaky-Relu 2.6 maxout 2.7 所有激活函数汇总
上一篇文章((CNN)卷积神经网络(一))说了卷积神经网络的层级结构和数据输入层的数据具体是怎么处理的,以及权值应该怎么初始化,这篇文章具体讲一下卷积层都做了什么操作。
1.卷积计算层 1.1 卷积的通俗理解-为什么参数会大大减少
第二层叫做卷积计算层。 如果是看一张图片,人工神经网络做的是用很多神经元,用线性分类器划分平面是吧,他会对这些数据有自己的一套评价体系。它是一下子看完整张图的,但如果神经节点说我一下子看不过来这张图,即使看完了,也不一定能记住全部信息,就像我们考试一样,虽然考试前一天我们都很努力的背答案,但大脑说我们一天背不了那么多,聪明的做法就是延长几天背的时间。
那对于图像,每个神经元也是不希望一下子全部看完所有的图像信息, 那可以一次就看一部分呀,假如这张照片是32X32X3的,可以选取左上角3X3的数据呀,这样子这个神经元就可以看完了,但光看这一点不能看完整张图呀,就像你去考试,光看第一章,不能保证你考试考100分呀,还是要看完的!所以让这个神经元滑动这个窗口来看其他的区域,通过向右滑,向下滑,不就可以看完整张图片了吗?
用术语表示:每个神经元为filter,窗口(receptive field)滑动,filter对局部数据做计算,每次这个窗口滑动多少步,称为步长(stride)。 那哪里体现了权重参数的减少呢? 仔细一点就会发现,我们的窗口大小是不变的,都是3X3(当然还可以是其他的,比如4X4),那既然窗口大小不变,那每个神经元看这幅图片,是不是就可以用相同的参数去看了呢。就像你和你朋友,同样是看这幅美女图:
你可能觉得她很漂亮,但我觉得她一般般,是什么造成了两个不同的看法呀?对于同一张图,每个人的审美标准不一样,但看这张图都是用眼睛看的。
对应于神经元,就是不同的神经元,有一组不同的参数(3X3),这组参数就是这个神经元的审美标准,它和图片上的数据做内积,得到的结果就是这个神经元带着它的参数看这幅图得到的看法,每个神经元得到的看法不一样,最后汇集起来,就是所有神经元看到的综合评价 。
人工神经网络最耗资源的就是每个神经元都要有一个32X32X3的参数,去看一整张图,相比之下,卷积神经网络中,每个神经元只用一组参数(3X3)看图片,不就大大减少了参数的数量了吗?
1.2 卷积的计算
这里面涉及了一些概念: depth:表示有多少个像3X3 的神经元去看一张图片; feature map:每个这样的神经元是不是都会得到一个它对这张图片的理解呢?所以每个这样的神经元都会有一个feature map(是一个矩阵); zero-padding:如下图,你会如果步长是1,则刚刚好:
但如果窗口大小是4,或者移动的步长不是1的时候呢?是不是有在边缘地带有一些空白的呀,对,就是在空白的这些地方补0,称为zero-padding.
更具体的看一个神经元,对一张图片的一部分是怎么处理的,可以发现,中间的那个矩阵就是这个神经元的审美标准(参数矩阵)了,它和图片的一部分做点乘,然后相加有:
这还有一张是三个颜色通道的图:cs231n-conv-demo
我截一个时刻出来解释一下: 左边三个矩阵分别代表REB三个颜色通道对应的矩阵,所以是7X7X3的图片;
中间这两列,每一列都对应一个神经元,所以有两个filter,W0,W1,因为每个神经元都要看三个颜色通道,所以会有三个对应的矩阵;你会发现同一列的三个矩阵也是不一样的,说明同一个神经元,在看不同的颜色通道的时候,可以用不同的审美标准去看;
最后那个矩阵是窗口滑动之后,对应一整张图片的数据: