深度学习之卷积神经网络

为什么需要卷积神经网络

(1)全连接层参数太多:100x100的图片作为输入,隐藏层设为1000,则计算一次有10的7次方个参数

(2)需要局部不变性:当对图片进行平移、缩放、旋转等操作时,我们认为这些操作并不会影响这张图片的语义,但是对于全连接层,它并不能有效的提取这些局部不变的特征

卷积

卷积就是信号的延迟累积

信息的衰减率w的组合称为滤波器或卷积核

卷积名称的由来

w与x的乘积是相反的,w1*xt,w2*xt-1,w3*xt-2,升序与降序相乘,在图上表示出来的时候就像被反转了,被翻卷着做乘积,所以叫作卷积

假设卷积核为[-1, 0, 1],则上面的-1是由 (1*1) + (0*-1) + (-1*2) = -1得到的

卷积前长度为7,卷积后长度为5,卷积核长度为3。所以 input-kernel+1 = output

卷积的作用

近似微分

1/2*x(t+1) + 0*x(t) + -1*x(t-1)得到上式

将x'(t)换元带入上图红色式子,得出x''(t),其也可用卷积表示

滤波

找出序列信号中的高频信息和低频信息

卷积扩展

滑动步长与零填充

卷积类型
二维卷积

特征提取

第一个为高斯卷积核,中间1/4,上下左右1/8,角上1/16,意义是用周围信息取填补噪声点

第二个为边缘提取,中间-4,上下左右1,意义是周围四个点加起来减去中间这个点,可以提取图像的高维信息

第三个为有针对性的提取,用右上角的值减去左下角的值,意义是提取主对角线方向的特征

卷积神经网络

权值共享

每一根红色、绿色、蓝色的线,对应的权重w都是相同的,加上bias,一共只有4个参数需要学习

互相关

对于标准的卷积操作,计算时需要翻转卷积核进行计算,然而对于神经网络而言,参数的位置并不重要,w3*xt可以是w1*xt,值会随着学习不断改变

因此在日常的卷积中默认w与x正序乘正序这种现象为互相关

多卷积核

卷积核里面的参数都是随机初始化的,所以每个卷积核不一样。多个卷积核去计算,最后得到的结果代表提取出的不同特征,把这些不同卷积核得出的结果个数称为通道数或深度

利用多卷积核可以实现特征映射

特征映射

从D个特征,映射到P个特征,D与P的关系是:P相当于是通过D的全连接层得出来的,P中每一个结果都与D中所有的特征有关

蓝色是3个feature map,想通过卷积来特征映射得到2个feature map,需要6个卷积核

左边三个卷积核计算结果相加+bias等于绿色feature map中的结果,右边同理

对于绿色的feature map来说,它们与蓝色的feature map是全连接关系

特征映射三维图

汇聚层(池化层)

卷积层减少了需要训练的参数,但是并没有大幅减少神经元个数

早期的时候,默认卷积步长为1,所以引入了池化层,图中做的是最大池化,去每个颜色中的最大值

卷积网络结构

感受野

卷积层越深,一个神经元对应的信号就越多,感受野就越大

其他种类卷积

空洞卷积

转置卷积/微步卷积

卷积是越卷越小,反卷积就是越卷越大,通过减小步长来实现

例如对2x2的矩阵中间填充0,如何对周边再进行零填充,这样原来的1个步长就相当于现在的1/2步长,所以每次卷积就能放大一倍

典型的卷积网络

1x1卷积作用

如上图右下角,1x1卷积将不同通道、不同深度的同一位置的特征进行加权求和,做到了特征融合

同时,特征的深度与卷积核大小无关,与卷积核数量有关,因此1x1卷积可以增加或者降低深度

实验中发现想让神经网络学习出一个f(x, θ)去逼近一个线性函数h(x)太难了,因此期望一个非线性的h(x),让f(x, θ)去逼近h(x) - x

将组合的卷积块看作f(x, θ),则得到了我们的目标函数h(x) = x + (h(x) - x)

梯度有个1,保证了层数加深时,梯度也不会太小,不容易出现梯度消失

应用到文本数据

Ngram

UNIGRAMS提取一个个词,但是丢掉了句子的语义信息

BIGRAMS提取两个连续词,TRIGRAMS提取三个连续词

但是固定提取几个连续词并不好,可能一句话中有的两个更好,有的三个更好,于是有了Ngram,像滑动窗口一样提取N个连续词

Ngram是用来在离散的信号上提取特征的,而卷积是在连续的信号上提取特征的,因此需要先把文本序列变成连续的信号

通过一个look up table把单词变成一个向量

Text CNN

卷积核大小不同,最后得出的向量长度也不同,需使用Max over time pooling处理得到Pooling层的结果

视频链接:5 卷积神经网络_哔哩哔哩_bilibili

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值