当前位置:   article > 正文

Convolutional Neural Network(卷积神经网络超详细解释)

convolutional neural network

Why CNN for Image?

我们可以使用fully connect神经网络去进行图像识别,但是所需要的参数太多了!!我们要使用CNN(卷积神经网络)来简化。
在这里插入图片描述
一个神经元不必接收整张图的特征,比如说我有一个判断鸟嘴的神经元,我只需如下图所示,将鸟嘴那一部分传给神经元。
在这里插入图片描述
相同的pattern在不同区域时,我这个神经元就可以使用相同的参数来学习不同位置的pattern。
在这里插入图片描述

将图像缩小也是减少特征值或参数的方法,如下图,subsampling后还是能分辨出是鸟。

在这里插入图片描述

Convolutional Neural Network

下图展示了CNN的整体流程。
在这里插入图片描述
convolution层主要做两件事,第一件事侦测某个pattern不需要看整张image,然后第二件事是同一个pattern会出现在图片的不同区域。Max Pooling主要做缩放图片。
在这里插入图片描述

黑白图

在convolution layer里有一组filter,每个filter是一个neural(一个Matrix),每个Matrix里的元素都是神经网络的参数。这些参数都是学出来的。如下图,如果每一个filter都是3x3的,那么就是在侦测一个3x3的pattern。
在这里插入图片描述然后我们将filter1放到这张image的左上角,然后做内积,得到3,然后将这个filter1向右移动一步,因为我这里stride步长设为1,然后移动之后右做内积,得到-1。
在这里插入图片描述这个stride是人为自己设定的,设为2也行。
在这里插入图片描述如下图,我们还是用stride=1来讨论,我们移动filter1,从左至右移动做内积,从上至下移动做内积,将会得到一个4x4的矩阵,这个filter1的对角线元素均为1,然后该image的对角线为1的pattern在image的左上角和左下角,恰好在4x4的矩阵里的左上角和左下角的数最大,所以就找到了该pattern的位置。这是卷积做的property2的工作。我们用同一个filter1就能侦测出来。
在这里插入图片描述同理,我们用filter2做同样的操作,会得到另一个不同的4x4的矩阵,我们发现,该矩阵的最大值在右下角,这也恰好是image右下角的pattern所在的位置。有多少个filter就能得到多少个新的matrix。
在这里插入图片描述

彩色图

彩色图又如何识别?我们知道彩色图使用RGB值组成,也就是我们将一张彩色图提取成三张单色的图,然后将其特征值抽取出来,如下图所示,假设这张彩图是6x6的,那么它的特征就是6x6x3,看成一个长方体!!当然,filter的维度也要变,这里的filter1就相当于一个3x3x3的立方体,然后用filter1的每一层去扫描自己相应的单色层的特征。
在这里插入图片描述下图举了一个实际的例子,将一张7x7的彩图分成三个单色,也就是三个7x7的矩阵,然后用两个3x3x3的filter去扫描他,每个filter里的每一层扫描自己对应单色的矩阵。由于是两个filter扫描,所以输出也是两个feature map。(这应该很容易看懂吧)
在这里插入图片描述
在这里插入图片描述

convolution v.s.Fully Connected

每一个filter就相当于一个神经元。
在这里插入图片描述如下图,我们将36个特征值排成一列,而filter1就相当于是9个w,下图红框的那9个位置在这36个特征值的序号分别是1,2,3,7,8,9,13,14,15.然后将这9个位置序号所代表的真实值与filter做内积,这不就跟普通的神经网络一样吗??下图用不同的颜色代表不同的w,而且,卷积的时候并没有将所有的特征值与filter做内积,这也减少了参数的使用。
在这里插入图片描述
同时,当我移动filter时,仅仅是改变input,但是我filter里面的参数并未改变,这也实现了less parameters。
在这里插入图片描述

Max Pooling

下面我们来讲Max pooling
在这里插入图片描述我们还是用上面的6x6的例子,我们得到了两个4x4的feature map。
现在,我们将每个feature map划分成四等分,取每一份里最大的。
在这里插入图片描述这时,我的feature map变成了2x2的矩阵了,再次减少了特征。
在这里插入图片描述我们得到了一张新的image,比原图更小,然后filter的数量等同于通道的数量,我这里用了两个filter,所以输出的new image是两层,也就是说有两个通道。
在这里插入图片描述

Flatten

在这里插入图片描述 最后一步就是做扁平化,这没有什么技术含量,就是将多层的输出拉直成一维的。最后将结果传入fully connected network
在这里插入图片描述

CNN in keras

Keras是一个高层神经网络API,Keras由纯Python编写而成并基于Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)支持CNN和RNN,或二者的结合无缝CPU和GPU切换。
下面我们来看看用keras如何实现卷积神经网络?很简单,就像下面调用几个方法就行了。
在这里插入图片描述我们来看看每一层有多少参数?如下图,第一层Convolution的filter有25个3x3的,所以每一个filter就是9个参数。输入的image是一张28x28的,然后用这25个3x3的filter去扫描,所以会产生25个26x26的矩阵。然后对其进行池化,产生25个13x13的矩阵。然后将这25个13x13的矩阵作为输入,然后进入下一次的卷积。回忆一下之前彩色图片的卷积,输入有三层,则一个filter也有三层,同理,本例中输入有25层,则一个filter也应该有25层,然后每层有九个参数,所以总共225个参数。
在这里插入图片描述
在这里插入图片描述

what does CNN learn?

CNN到底学习了什么?
如下图,第一层卷积我们还比较容易能想明白里面的学习过程,但是第二层卷积就很复杂了,因为它的输入是第一层池化后的结果,那我们怎么来想第二层卷积所做的事呢?
我们可以看到第二层有50个filter,那么我们任取一个filter,我们用ak=∑∑aij…来表示该filter每一个参数的和,这个和表示该filter被激活(被训练)的程度。这时我们要找一个很牛逼的输入x,这个x可以让这个和最大,当这个和最大的时候,被激活的程度也就越大。这时,我们使用梯度上升的方法去寻找使ak最大的x*
在这里插入图片描述假设说我在50个filter里任取12个filter,然后来分别看这12个filter找的x*,我们发现每个filter找的x都比较有特点,也就是说每一个filter可以识别一张图的某一类特点。
在这里插入图片描述然后我们将经过CNN的image在flatten后传入fully connect network。然后任取一个神经元记为aj,我要找到使aj最大的x
,这时我们随意查看九个神经元挑选出来的x*,我们发现fully connect network是挑选的更大范围的image。
在这里插入图片描述然后我们来找令output最大的x*,结果如下,我们发现这就张图我们是看不懂的。但是神奇的是机器可以识别它们分别代表哪一个数字。
在这里插入图片描述那么我们对他进行处理,使其精确度更高,就用L1正则化(之后会讲),这时的识别效果会好很多。
在这里插入图片描述

前沿

给一张照片,机器会增加它所想象的。如下图,给一张image到cnn里,会得到一个向量,我们让正数正得更多,负数负得更多,然后将新的向量当作目标值,然后反过来去找到一张能得到该向量的图。
在这里插入图片描述就像下图一样,机器会将右边的石头想象成熊之类的。这就是deep dream
在这里插入图片描述什么是deep style?给一张image,使它的风格像毕加索的那样。
在这里插入图片描述如下图的这种效果,那具体是怎么做的呢?
在这里插入图片描述我们先用一个cnn学到照片里的内容,再用一个cnn去学习油画的style,然后再用一个cnn,将上述照片内容与style当作目标值,寻找一张图片能得到该目标值。

在这里插入图片描述

More Application

下围棋用fully connected feedforward network也行,但是CNN执行率更高。
在这里插入图片描述
在这里插入图片描述CNN只需观察局部是怎样的
在这里插入图片描述alpha go的cnn里面没有池化层,因为subsampling在下围棋时会直接去掉某些行或某些列!!!这与普通的图像识别有区别,普通的图像识别少了几行或几列无所谓,但是下围棋如果缺少某一行或某一列结局就完全不一样了。
在这里插入图片描述CNN用于语音识别,filter沿着频率的方向移动
在这里插入图片描述CNN用于文本识别
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/846665
推荐阅读
相关标签
  

闽ICP备14008679号