卷积神经CNN
课程链接:https://datawhalechina.github.io/unusual-deep-learning/#/5.CNN
卷积
自然图像中物体大多具有局部不变性特征[①][②][③],但全连接的前馈网络很难提取这些局部不变性特征,但卷积神经网络(Convolutional Neural Networks)则可以。
表达式
(f**g*)(n)称为 f 和 g 的卷积,表达式:
应用场景
- 常用于处理输入,经过cnn系统后输出一个所需要的合适的输出。
如:在信号处理中,计算信号的时延累积 - 在图形处理中,图像是以二维矩阵的形式输入到神经网络,故需要二维卷积。
- 滤波器/卷积核
卷积神经网络基本原理
卷积神经网络的基本结构大致包括:卷积层、激活函数、池化层、全连接层、输出层
数据填充
如果我们有一个 𝑛×𝑛 的图像,使用𝑓×𝑓 的卷积核进行卷积操作,在进行卷积操作之前我们在图像周围填充 𝑝 层数据,输出的维度
感受野
卷积神经网络每一层输出的特征图(featuremap)上的像素点在输 入图片上映射的区域大小,即特征图上的一个点对应输入图上的区 域.
那么如何计算感受野的大小,可以采用从后往前逐层的计算方法:
第 i 层的感受野大小和第 i - 1 层的卷积核大小和步长有关系,同时也与第 (i - 1)层感受野大小有关
假设最后一层(卷积层或池化层)输出特征图感受野的大小(相对于其直 接输入而言)等于卷积核的大小
激活函数
激活函数是用来加入非线性因素,提高网络表达能力,卷积神经网络中最常用的是ReLU,Sigmoid使用较少。
- ReLU函数
ReLU函数的优点:
计算速度快,ReLU函数只有线性关系,比Sigmoid和Tanh要快很多
输入为正数的时候,不存在梯度消失问题
ReLU函数的缺点:
强制性把负值置为0,可能丢掉一些特征
当输入为负数时,权重无法更新,导致“神经元死亡”(学习率不 要太大) - Parametric ReLU
当 𝛼=0.01 时,称作Leaky ReLU
当 𝛼 从高斯分布中随机产生时,称为Randomized ReLU(RReLU)
PReLU函数的优点:
比sigmoid/tanh收敛快
解决了ReLU的“神经元死亡”问题
PReLU函数的缺点:需要再学习一个参数,工作量变大 - ELU函数
ELU函数的优点:
处理含有噪声的数据有优势
更容易收敛
ELU函数的缺点:计算量较大,收敛速度较慢
CNN在卷积层尽量不要使用Sigmoid和Tanh,将导致梯度消失。
首先选用ReLU,使用较小的学习率,以免造成神经元死亡的情况。
如果ReLU失效,考虑使用Leaky ReLU、PReLU、ELU或者Maxout,此时一般情况都可以解决
特征图
浅层卷积层:提取的是图像基本特征,如边缘、方向和纹理等特征
深层卷积层:提取的是图像高阶特征,出现了高层语义模式,如“车轮”、“人脸”等特征
池化层
池化操作使用某位置相邻输出的总体统计特征作为该位置 的输出,常用最大池化**(max-pooling)和均值池化(average- pooling)**。
池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、操作步幅以及池化类型。
池化的作用:
减少网络中的参数计算量,从而遏制过拟合
增强网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微 小扭曲不会改变池化输出——因为我们在局部邻域已经取了最大值/ 平均值)
帮助我们获得不因尺寸而改变的等效图片表征。这非常有用,因为 这样我们就可以探测到图片里的物体,不管它在哪个位置
全连接层
对卷积层和池化层输出的特征图(二维)进行降维
将学到的特征表示映射到样本标记空间的作用
主要应用
图像处理领域主要应用
图像分类(物体识别):整幅图像的分类或识别
物体检测:检测图像中物体的位置进而识别物体
图像分割:对图像中的特定物体按边缘进行分割
图像回归:预测图像中物体组成部分的坐标
自然语言处理领域主要应用
- 分析文本体现的情感(正负向、正负中或多态度类型)