CNN1

关键词:卷积、池化、全连接层、zero-padding

相关文章链接: http://blog.csdn.net/KangRoger/article/details/55681297

CNN整体架构

CNN

常用层示例

CIFAR-10 CNN图示

以一个分类CIFAR-10图像的卷积网络为例,网络结构[INPUT-CONV-RELU-POOL-FC],具体如下:

INPUT Layer:[32x32x3],数据为原始像素值,宽 * 高 --> 32 * 32 ,三通道RGB,深度为3。

CONV layer:卷积层计算对象连接到输入层神经元的输出,每次计算都是权重和局部输入的点乘。如果使用12个滤波器(核),输出为[32x32x12],深度为12.

RELU layer:ReLU是逐元素操作(elementwise),使用函数max(0,x)max(0,x),经过ReLU后,输出大小不会变,还是[32x32x3]。

POOL layer:池化层是下采样操作(宽weight和高height),使用max pool (2*2 卷积核,stripe = 2), 样输出会变小为[16x16x12],depth不变。

FC layer:将之前最后一层的输出全部展开为一列数据,全连接层将会计算每类别对应的得分,输出大小为[1x1x10],代表10类每个类别的得分。全连接顾名思义,这一层的每个神经元和上一层的每个神经元之间都有连接。

注:深度Depth - 输出的深度对应卷积核的个数,不同的卷积核查找输入中不同的物体。例如,输入是原始图像,那么深度方向上不同神经元可能被颜色、边缘、特定形状(不同卷积核)所激活。


卷积层

卷积操作是输入的局部区域和卷积核的点乘。卷积层是卷积网络的核心,大部分的计算量都在这个层。

卷积操作

每一个神经元都不需要对全局图像做感受,每个神经元只感受局部的图像区域,然后在更高层,将这些不同局部的神经元综合起来就可以得到全局信息。

卷积层参数包含要学习参数的一个集合。每个滤波器的长度和宽度比较小(3*3,5*5),但是深度和输入数据保持一致。在前向传播过程中,把卷积核沿着输入数据在宽和高上滑动,把对应的数据和卷积核做内积运算;随着卷积核的滑动,可以得到一个2维的激活图(activation map),激活图的值是卷积核在不同空间位置的响应。直观上看,网络会让卷积核学到“对某些特定物体或颜色产生激活”。

假设我们有一个卷积核的集合,每个卷积核都会生成一个2维激活图,多个卷积核就会生成多个激活图,就可以在深度方向上得到输出。

如果在一个深度切片上使用相同的权重(滤波器中的数值),那么前向传播就是输入数据和权重的卷积运算(卷积层名字的由来),这也是为什么称权重为滤波器或卷积核。

参数共享:一个卷积核学习一种特征,如,检测某一位置水平方向边界很重要,那么也应该适用于其他地方,因为具有平移不变性。因此没有必要再学习一个检测水平边界的卷积核了。但有时参数共享假设并没有意义。例如输入图像有明确的中心结构,这时我们希望在不同位置学习到不同特征。一个典型的例子就是人脸检测,人脸就位于图像中心位置,其他位置可能学到眼睛或头发特征;这种情况,就需要放松参数共享的限制,称这样的层叫做局部连接层Locallly-Connected Layer。

Filter


More filter/ kernel

池化层

在卷积神经网络中,常常在连续卷积层中间隔插入池化层。池化操作可以减小数据量,从而减小参数,降低计算,因此防止过拟合。

池化操作在每个深度切片上进行,例如使用MAX Pooling。常用的池化核:2x2大小,在每个深度切片的width和height方向下进行下采样,在覆盖的2*2的面积内(4个像素)取最大数值,忽略掉75%(3/4)的激活信息。池化操作,保持深度depth大小不变。

max pooling

池化层没有参数,F和S一般是固定取值。而且,在池化层一般不会使用零填充。

Common setting

全连接层

如果一层的神经元和前一层的每个神经元都有连接,这样的层叫做全连接层。这样的层可以使用矩阵相乘再加上bias即可。

FC

Zero-Padding 零填充

1. 为什么要用zero-padding?

如果在CONV不使用padding,经过CONV后,数据空间维度尺寸会略微减小,这样图像的边缘信息将会很快丢失掉

2. Zero-Padding是如何运作的?

如下如,P = 1时,相当于将7*7的输入转化为了9 * 9,滤波器 F = 3,S=1,输出的size = 7*7。也就是在CONV使用zero-padding,可以保持输入输出空间维度尺寸不变,也可以提升性能。

Zero-Padding

局部连接

每个神经元只跟前一层输入的一个局部区域相连接,这个局部区域大型是一个超参数,叫做感受视野receptive field,其大小就是卷积核大小,其深度和输入数据深度一致。

左图是32x32x3(CIFAR-10)的一个输入,卷积核只是连接到输入的局部部分,但是扩展到输入的整个深度。右边是一个神经元,它计算输入数据和权重的内积,再加上一个bias,随后经过一个非线性函数。

局部连接

CNN定义

输入数据size:W1×H1×D1

需要使用的超参数:

1、卷积核个数K

2、卷积核大小F:如F = 3,表示3*3 的卷积核(滤波器)

3、步长S:卷积核滑动的距离,如S=1,表示每次滑动一个像素

4、零填充大小 P

输出大小size:W2×H2×D2,其中

W2 = ( W1 − F +2*P ) /S +1

H2 = ( H1 − F + 2*P) /S+1

D2 = K

使用超参数共享,每个滤波器权重个数 = F⋅F⋅D1,共有权重= (F⋅F⋅D1)⋅K个,bias有K个。

输出中,在深度的第d个切片上(size为W2 × H2),其结果是第d个卷积核与输入卷积的结果,卷积步长为S。

超参数的设置,习惯为F=3,S=1,P=1

Why pad?

层模式

INPUT->[[CONV->RELU]*N]->POOL?]*M->[FC->RELU]*K->FC

其中*表示重复,POOL?表示可选;一般N >= 0(通常N <= 3), M >= 0, K >= 0(通常K < 3)。例如一些常见的卷积网络架构模式如下:

    *  INPUT->FC,实现的是一个线性分类器,这里N=M=K=0。

    * INPUT->[CONV->RELU->POOL]*2->FC->RELU->FC,在每个CONV后面有一个POOL。

    * INPUT->[CONV->RELU->CONV->RELU->POOL]*3->[FC->RELU]*2->FC,这里每2个CONV后面有一个POOL,这样的结构在大的深度网络常常见到,在POOL层破坏特征前,连续多个CONV层可以提取更复杂的特征。

宁愿使用连续多个小的滤波器,不使用一个大的滤波器

例如连续3个CONV,每层滤波器核大小都是3x3。第一层CONV对于INPUT感受视野是3x3,第二层CONV对于INPUT感受视野是5x5,第三层对于INPUT的感受视野是7x7;如果换用一层CONV,核大小为7x7,将会有以下缺点:

1、一层对于输入来说是线性计算,三层具有很好的非线性,具有更强的表达能力。

2、假设channel数为C,对于一层7x7卷积层,共有权重C×(7×7×C)=49C^2,而三层3x3卷积,共有参数3×(C×(3×3×C))=27C^2。可以看出,连续的小卷积核,具有更少的参数和更强的表达能力;但是连续小的卷积核在训练时占用更多内存,因为在反向传播时需要用到中间结果。

Summary
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容