logogohappy new year歌词CNN(ConvolutionalNeuralNetwork)
jonny deep1. What is CNN
ImageNet Classification with Deep Convolutional Networks算是深度学习的起源(当然,更远可以追溯到Yann LeCun1998年
东南方的Gradient-Bad Learning Applied to Document Recognition)。
Alex Krizhevsky, Ilya Sutskever, 以及Geoffrey Hinton三⼈创造了⼀个“⼤规模、有深度的卷积神经⽹络”,并⽤它赢得了2012年度ILSVRC挑战(ImageNet Large-Scale Visual Recognition Challenge)从那时起CNN就变成了业内家喻户晓的名字。
CNN 核⼼思想:局部感受野(local field) + 权值共享 + 亚采样
tef
1.1. CN N⽹络结构
如下图所⽰,CNN⼀般由卷积层,池化层和全连接层组成。
典型CNN结构
1.1.1 卷积层
卷积层是CNN的精髓所在,对局部感受野进⾏卷积操作。了解数字图像处理的同学知道,对图像进⾏平滑操作,就是图像各个区域与核(Kernel)相乘相加。如图3*3的核
图1.1.1.1. 核
图1.1.1.2. 图像平滑操作
卷积层中的卷积操作从信号处理的⾓度来说,是滤波器(卷积核)对信号做频率筛选。CNN的训练就是找到最好的滤波器(Filter)使得滤波后的信号更容易分类。从模版匹配的⾓度看卷积,每个卷积核都可以看成⼀个特征模版,训练就是为了得到合适的滤波器,使得对特定模式有⾼的激活,以达到分类/检测的⽬的。
nsitivity与图像中的卷积不同的是,CNN的卷积层可设置多个滤波器,得到不同的feature map。⽽且每个Filter的值不是固定的,⽽是可变的,可训练的。
卷积核(Kernel)有⼏个重要参数:
Kernel_size: 卷积核的⼤⼩,如3x3,以图像为例就是在图像的heightxwidth上的卷积核⼤⼩,当然也可以是6x3。
Stride:步长,即卷积核在各个⽅向上移动的步长。对于⼀个NxMx3的图像,设置的卷积核步长通常是AxBx1,即第三通道步长是1,即各个通道之间是互不影响的。
Kernel_nums:,卷积核的个数。Kernel_nums决定了卷积层输出的深度,即下图中'⾖腐块'的个数
图4. 卷积核个数
穷爸爸 富爸爸>汉英字典在线查询
6级查分
Padding:以图像为例,做卷积操作的时候,卷积核按照⼤⼩和步长移动⾄图像边缘的时候,剩下的数据不⾜⼀个卷积核⼤⼩时的处理⽅式。⼀般有两种SAME和VALID
--SAME⽅式:不⾜补零
SAME⽅式会将不⾜⼀个kernel的⼀列再补零⾄kernel⼤⼩
--VALID⽅式:不⾜舍弃
VALID⽅式会将不⾜⼀个kernel的最后⼀列舍弃
下⾯,我们以具体的数据详细介绍卷积操作:
omar
Stride的影响:
对⽐图5和图6,以width⽅向为例(hight⽅向相同),Stride=1时,每做完⼀次卷积操作,卷积核向右移动⼀列。⽽Stride=2时则向右移动两列。
Pad的影响:
对⽐图6和图7, pad=same,补零。
图5. 卷积操作,Stride=1, Pad=Valid
图6. 卷积操作, Stride=2, Pad=Valid
图7. 卷积操作,Stride=2, Pad=Same
多通道卷积:当输⼊有多个通道(channel)时(例如图⽚可以有 RGB 三个通道),卷积核需要拥有相同的channel数,每个卷积核 channel 与输⼊层的对应 channel 进⾏卷积,将每个 channel 的卷积结果按位相加得到最终的 Feature Map。
图8. 3通道卷积操作
多卷积核:当有多个卷积核时,可以学习到多种不同的特征,对应产⽣包含多个 channel 的 Feature Map, 例如上图有两个 filter,所以