李宏毅《机器学习》第21讲——卷积神经网络

卷积神经网络CNN

为什么CNN

Why CNN for Image?


whyCNN

CNN是为了简化neural network的架构。

图片信息有以下3个特性:

  1. 有些pattern不需要看整张图


    第1个特性
  2. 有些pattern出现在图片不同位置


    第2个特性
  3. Subsampling对判断影像没有影响


    第3个特性

CNN架构

Convolution —> Max Pooling —> Convolution —> Max Pooling
以上过程反复几层
然后—> Flatten —> Fully Connected Feedforward network —> output


CNN架构

Convolution处理第1和第2个特性,Max Pooling处理第3个特性。


Convolution和Max Pooling处理不同特性

Convolution有一组Filter,Those are the network parameters to be learned. 先把1个Filter放在图片的左上角,2组9个值做内积,再按Stride移动网格,再做内积,一直继续。最后得到feature map。Filter在每个网格里检测是否有某种pattern。
Convolution在每个Filter(小网格)里learn,每次移动距离stride。


Filter机制

Filter结果

色彩也是input的一个维度


RGB算一个维度

Convolution v.s. Fully Connected

Convolution就是Fully Connected拿掉一些weight的结果


Convolution v.s. Fully Connected

为什么这么说呢?

  1. Filter每次只连接9个参数(less parameters)。


    Less parameter
  2. Filter处理后的neuron之间share weight。


    Share weight
  3. Max pooling模拟subsampling
    把output放一起,再4个4个合一起,在块里取平均或最大值。


    Max pooling

最后一个6乘6的image输出2乘2的image,Each filter is a channel ,这个过程可以重复很多次。


Filter输出

为什么说Convolution就是Fully Connected拿掉一些weight的结果,因为feature map之后就是flatten,flatten以后就是Fully Connected的处理。


Flatten

CNN in Keras

cnn参数数目

CNN学到了什么?

计算activation

计算第k个filter的degree of the activation。


计算activation
  1. 找一张image x使某个filter的activation最大。


这些图片有明显的纹路texture,所以filter就是检测某种pattern。

  1. 找一张image x使某个neuron的activation最大。


图片不再像纹路,因为每个图代表一个neuron,也就是更大的pattern。

  1. 找一张image x使某个维度(vector)的activation最大。


这些图片为什么不像0-9的数字?
Deep Neural Networks are Easily Fooled
CNN跟人类学到的东西不一样。

有什么办法让这些图片更像数字?
所以要对x做一些control,就是告诉CNN哪些x不是数字。
比如说图里白点不是数字。


给x一些限制

Deep Dream

给CNN加张图,CNN会在input图上夸大它所看到的东西


cnn夸大

deep dream

Deep Style

给CNN加张一种style的图,CNN会使input图的style靠近加进来的这张图。


给CNN一张呐喊

[呐喊]
deep style

CNN下围棋

什么时候用CNN?

要有image那样特性的数据。

  • Some patterns are much smaller than the whole image
  • The same patterns appear in different regions.


怎么理解下棋里的max pooling?

alpha Go原文里的解释:
第一个hidden layer外围pad 0使其从19乘19变23乘23,filter是5乘5,filter数是192,stride是1,activation fuction是rectifier,然后在第2-12层hidden layer pad 0使其从5乘5变21乘21,
再接下来用3乘3的filter。
其实Alpha Go没有用max pooling。


No max pooling in alpha Go

CNN用于语音


filter只在frequency上移动有作用,在time上移动不提供帮助。

CNN用于文本

输入一句话,先embedding处理,就是每个word用一个vector来表示,这些vector排一起就是一个image。filter只在时间序列上移动,不在embedding dimension上移动。因为在embedding方向上,每一个vector是独立的。


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

推荐阅读更多精彩内容