笔记:ML-LHY-10: Convolutional Neural Network

这节课开始讲深度学习中重要的网络:
卷积神经网络(Convolutional Neural Network)CNN。
理解卷积操作在神经网络中的作用,理解CNN在做什么,以及CNN的可视化。
pdf 视频
补充: GNN(Graph Neural Network)

首先回顾一下及深度学习(CNN)中的卷积

为什么要用CNN?

局部检测

在这里插入图片描述
卷积核有大小之分,对应感受视野,而一个卷积核一般远远小于整张图片,所以卷积后的到视野也是比较小的。而检测一个物体的特征,比如鸟有鸟嘴,其实只用局部检测就行。注意卷积是滑动窗口操作,所以会遍历整张图(只是每次的窗口比较小),上图就会识别到鸟嘴、鸟爪、翅膀等多个局部特征。那识别局部特征往往还不够,要从全局的视野来看是什么东西,就是下面要说的下采样。

下采样(池化)

在这里插入图片描述

我们知道SIFT特征有个很关键的步骤解决尺度不变性,那就是高斯金字塔。其实就是在不同分辨率下模拟人类由进到远,有细到粗看物体。下采样(池化)的意义也就是这样,比如上图,下采样后我们依然能够分辨是鸟,因为我们可以根据轮廓看出。轮廓就是一种粗特征。还有关键一点,下采样减低分辨率,后面全连接参数也就相应减少。

模式共享

在这里插入图片描述
这个理解可能没那么直观,卷积核就是一个对应一个滤波器,不同的滤波器可以提取不同类型的特征,比如aplacian、soble算子。前面也提到,卷积是滑动窗口操作,就意味着一个卷积核会在多个区域应用,那么一个模式可以应用在多个区域,也就减少了总模式的参数。换句话说,把卷积核看做一组参数,既然可以共用,那当然减少了总的需要的参数

小结

在这里插入图片描述

  • 卷积的窗口提现视野局部性(细特征)
  • 卷积的滑动操作提现参数共享性
  • **下采样(池化)**提现视野全局性(粗特征)

上图是CNN的总框架

输入 -> 卷积 -> 池化 -> 卷积 -> 池化 … 全连接… -> softmax -> 输出

tip: 输出层神经元个数和类别数一样

卷积池化操作

卷积

卷积就是图像处理中的卷积,这里就不重复了,关键是滤波器(就是卷积核一个意思,卷积对应滤波)的通道数和输入的通道数一样,而输出的通道数取决于滤波器的数目。

例如:输入时RGB图像3通道 滤波器也是3通道 那么输出就是1通道
而我们想用多个滤波器提取多种特征,比如用2个滤波器每个滤波器都是3通道,那么输出就是2通道。卷积还涉及步长、padding大小,具体看这个笔记

在这里插入图片描述

池化

一般指最大池化 max pooling
就是在给定窗口内取最大的值
在这里插入图片描述
上图池化完就是:
3 0
3 1
更重要的是,分辨率简报,原来4个值,池化只保留了一个值。其实可以把池化看做特殊的卷积操作,步长是和卷积核大小一样,padding为0。

CNN学习到了什么?

现在训练完一个model后,里面的参数都是固定的,在卷积层的最后一层,如果输入时1 8 28 * 28 经过2层卷积层和池化后就是 50 *11 * 11:
在这里插入图片描述
最后一层是有50个滤波器,我们取第k个滤波器的输出结果为 a k a^k ak
在这里插入图片描述

a k = ∑ i = 1 11 ∑ j = 1 11 a i j k a^{k}=\sum_{i=1}^{11} \sum_{j=1}^{11} a_{i j}^{k} ak=i=111j=111aijk

现在要找是怎么样的输入,使得这个滤波器activation。其实就是找一个输入x使得 a k a^k ak最大。步骤和知道输入求参数一样,这里知道参数当然可以用梯度下降方法求输入使得 a k a^k ak最大。

选其中12个滤波器,对应的最大化 a k a^k ak的输入:
在这里插入图片描述
可以看到每个filter对应特征同,比如水平,催着、斜条纹,可以激活对应的filter参数。而在一张图中,可以看到条纹是布满整张图的,提现CNN的参数共享性。

那在全连接层会怎么样呢?由于flatten后,全连接层的神经元是和输入整张图是相关的:
在这里插入图片描述
取得神经元输出结果为 a j a_j aj,同样求一个输入图片,使得 a j a_j aj最大:
在这里插入图片描述
上图每一张图对应一个神经元输出 a j a_j aj,可以看到每个神经元想要激活的图片,这不是一个完整的数字,只是这个神经元想要激活的pattern。

继续往后,到输出层 y i y_i yi
在这里插入图片描述
是不是使得 y i y_i yi最大的就对应的数字呢?
结果却是这样:在这里插入图片描述
这明显就不是人类手写的数字,右边是加了L1正则化约束的结果(避免整张图都是笔画),可以看到部分关联。

Deep Dream

现在不是无中生有,而是在原图基础上更新图像,这样就会在保留原图的基础上,朝网络想识别的方向变换(因为要最大化上面提到的目标函数)。如果想让效果更明显,还可以强化参数,大的变得更大,小的变得更小。

风格迁移 Deep Style

精神就是找一张图,同时像content图 p ⃗ \vec{p} p 和style图 a ⃗ \vec{a} a ,求 L content ( p ⃗ , x ⃗ ) L_{\text {content}}(\vec{p}, \vec{x}) Lcontent(p ,x ) L style ( a ⃗ , x ⃗ ) L_{\text {style}}(\vec{a}, \vec{x}) Lstyle(a ,x )

如下:
L total ( p ⃗ , a ⃗ , x ⃗ ) = α L content ( p ⃗ , x ⃗ ) + β L style ( a ⃗ , x ⃗ ) L_{\text {total}}(\vec{p}, \vec{a}, \vec{x})=\alpha L_{\text {content}}(\vec{p}, \vec{x})+\beta L_{\text {style}}(\vec{a}, \vec{x}) Ltotal(p ,a ,x )=αLcontent(p ,x )+βLstyle(a ,x )

而怎么找在上面说过了,用梯度下降法。

内容损失 L content ( p ⃗ , x ⃗ , l ) L_{\text {content}}(\vec{p}, \vec{x}, l) Lcontent(p ,x ,l)的定义是:
L content ( p ⃗ , x ⃗ , l ) = 1 2 ∑ i , j ( F i j l − P i j l ) 2 L_{\text {content}}(\vec{p}, \vec{x}, l)=\frac{1}{2} \sum_{i, j}\left(F_{i j}^{l}-P_{i j}^{l}\right)^{2} Lcontent(p ,x ,l)=21i,j(FijlPijl)2

还原图像的方法是梯度下降法。设原始图像为𝑝⃗ ,期望还原的图像为𝑥⃗ (即自动生成的图像)。使用的卷积是第𝑙层,原始图像𝑝⃗ 在第𝑙层的卷积特征为 P i j l P_{ij}^{l} Pijl。𝑖表示卷积的第𝑖个通道,𝑗表示卷积的第𝑗个位置。通常卷积的特征是三维的,三维坐标分别对应(高、宽、通道)。此处不考虑具体的高和宽,只考虑位置𝑗,相当于把卷积“压扁”了。比如一个10x10x32的卷积特征,对应1⩽𝑖⩽32,1⩽𝑗⩽100。对于生成图像𝑥⃗ ,同样定义它在𝑙层的卷积特征为 F i j l F_{ij}^{l} Fijl

风格损失 L s t y l e ( p ⃗ , x ⃗ , l ) L_{s t y l e}(\vec{p}, \vec{x}, l) Lstyle(p ,x ,l)的定义应用了Gram矩阵,这里不在展开。参考这篇博客:图像风格迁移原理

L s t y l e ( p ⃗ , x ⃗ , l ) = 1 4 N l 2 M l 2 ∑ i , j ( A i j l − G i j l ) 2 L_{s t y l e}(\vec{p}, \vec{x}, l)=\frac{1}{4 N_{l}^{2} M_{l}^{2}} \sum_{i, j}\left(A_{i j}^{l}-G_{i j}^{l}\right)^{2} Lstyle(p ,x ,l)=4Nl2Ml21i,j(AijlGijl)2

应用例子

Alpha Go

在这里插入图片描述
也是使用了CNN,为什么?

  • 在 5 * 5的范围内就知道要怎么下,不需要看整个棋盘
  • 位置可以不同
  • 需要注意的是,Alpha Go用的CNN没有max pooling,因为围棋的特性不需要下采样

Speech

在这里插入图片描述
滤波器移动是在frequency维度上,因为不同频率的组合就可以表示不同的词,所以在频率上检测是有效的。在时间上检测词就不是那么好,有可能存在同一个词在用部分频率是一样的。

Text

在这里插入图片描述
文本语义识别任务滤波器就需要在时间纬度上移动,因为不同的word embedding就可以表示不同的语义,所以在时间纬度上检测是有效的。在embedding维上检测就可能完全检测不出语义。

以上参考李宏毅老师视频和ppt,仅作为学习笔记交流使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值