电子说
1. 卷积层
常见的卷积操作如下:卷积操作 | 解释 | 图解 |
标准卷积 | 一般采用3x3、5x5、7x7的卷积核进行卷积操作。 |
|
分组卷积 | 将输入特征图按通道均分为 x 组,然后对每一组进行常规卷积,最后再进行合并。 |
|
空洞卷积 | 为扩大感受野,在卷积核里面的元素之间插入空格来“膨胀”内核,形成“空洞卷积”(或称膨胀卷积),并用膨胀率参数L表示要扩大内核的范围,即在内核元素之间插入L-1个空格。当L=1时,则内核元素之间没有插入空格,变为标准卷积。 |
|
深度可分离卷积 | 深度可分离卷积包括为逐通道卷积和逐点卷积两个过程。 |
(通道卷积,2D标准卷积)
(逐点卷积,1x1卷积)
|
反卷积 | 属于上采样过程,“反卷积”是将卷积核转换为稀疏矩阵后进行转置计算。 |
|
可变形卷积 | 指标准卷积操作中采样位置增加了一个偏移量offset,如此卷积核在训练过程中能扩展到很大的范围。 |
|
1 x 1卷积即用1 x 1的卷积核进行卷积操作,其作用在于升维与降维。升维操作常用于chennel为1(即是通道数为1)的情况下,降维操作常用于chennel为n(即是通道数为n)的情况下。
降维:通道数不变,数值改变。
升维:通道数改变为kernel的数量(即为filters),运算本质可以看为全连接。卷积计算在深度神经网络中的量是极大的,压缩卷积计算量的主要方法如下:序号 | 方法 |
1 | 采用多个3x3卷积核代替大卷积核(如用两个3 x 3的卷积核代替5 x 5的卷积核) |
2 | 采用深度可分离卷积(分组卷积) |
3 | 通道Shuffle |
4 | Pooling层 |
5 | Stride = 2 |
6 | 等等 |
2. 激活层
介绍:为了提升网络的非线性能力,以提高网络的表达能力。每个卷积层后都会跟一个激活层。激活函数主要分为饱和激活函数(sigmoid、tanh)与非饱和激活函数(ReLU、Leakly ReLU、ELU、PReLU、RReLU)。非饱和激活函数能够解决梯度消失的问题,能够加快收敛速度。常用函数:ReLU函数、Leakly ReLU函数、ELU函数等ReLU函数Leakly ReLU函数
ELU函数
affine:当设为true时,会给定可以学习的系数矩阵gamma和beta。
补充:上采样层重置图像大小为上采样过程,如Resize,双线性插值直接缩放,类似于图像缩放,概念可见最邻近插值算法和双线性插值算法。实现函数有nn.functional.interpolate(input, size = None, scale_factor = None, mode = 'nearest', align_corners = None)和nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride = 1, padding = 0, output_padding = 0, bias = True)
分类器 | 介绍 | 常见种类 | 优缺点 |
线性分类器 | 线性分类器就是用一个“超平面”将正、负样本隔离开 | LR、Softmax、贝叶斯分类、单层感知机、线性回归、SVM(线性核)等 | 线性分类器速度快、编程方便且便于理解,但是拟合能力低 |
非线性分类器 | 非线性分类器就是用一个“超曲面”或者多个超平(曲)面的组合将正、负样本隔离开(即,不属于线性的分类器) | 决策树、RF、GBDT、多层感知机、SVM(高斯核)等 | 非线性分类器拟合能力强但是编程实现较复杂,理解难度大 |
常用函数:分类问题损失(离散值:分类问题、分割问题):nn.BCELoss、nn.CrossEntropyLoss等。回归问题损失(连续值:推测问题、回归分类问题):nn.L1Loss、nn.MSELoss、nn.SmoothL1Loss等。
介绍:在不同的训练过程中随机扔掉一部分神经元,以防止过拟合,一般用在全连接层。在测试过程中不使用随机失活,所有的神经元都激活。
常用函数:nn.dropout解释 | 优化器种类 | 特点 |
基于梯度下降原则(均使用梯度下降算法对网络权重进行更新,区别在于使用的样本数量不同) | GD(梯度下降); SGD(随机梯度下降,面向一个样本); BGD(批量梯度下降,面向全部样本); MBGD(小批量梯度下降,面向小批量样本) | 引入随机性和噪声 |
基于动量原则(根据局部历史梯度对当前梯度进行平滑) |
Momentum(动量法); NAG(Nesterov Accelerated Gradient) |
加入动量原则,具有加速梯度下降的作用 |
自适应学习率(对于不同参数使用不同的自适应学习率;Adagrad使用梯度平方和、Adadelta和RMSprop使用梯度一阶指数平滑,RMSprop是Adadelta的一种特殊形式、Adam吸收了Momentum和RMSprop的优点改进了梯度计算方式和学习率) | Adagrad; Adadelta; RMSprop; Adam | 自适应学习 |
补充:卷积神经网络正则化是为减小方差,减轻过拟合的策略,方法有:L1正则(参数绝对值的和); L2正则(参数的平方和,weight_decay:权重衰退)。
常用函数:torch.optim.lr_scheduler; ExponentialLR; ReduceLROnplateau; CyclicLR等。
卷积神经网络的常见结构
常见结构有:跳连结构(ResNet)、并行结构(Inception V1-V4即GoogLeNet)、轻量型结构(MobileNetV1)、多分支结构(SiameseNet; TripletNet; QuadrupletNet; 多任务网络等)、Attention结构(ResNet+Attention)
结构 | 介绍与特点 | 图示 |
跳连结构(代表:ResNet) | 2015年何恺明团队提出。引入跳连的结构来防止梯度消失问题,今儿可以进一步加大网络深度。扩展结构有:ResNeXt、DenseNet、WideResNet、ResNet In ResNet、Inception-ResNet等 |
|
并行结构(代表:Inception V1-V4) | 2014年Google团队提出。不仅强调网络的深度,还考虑网络的宽度。其使用1×1的卷积来进行升降维,在多个尺寸上同时进行卷积再聚合。其次利用稀疏矩阵分解成密集矩阵计算的原理加快收敛速度。 |
|
轻量型结构(代表:MobileNetV1) | 2017年Google团队提出。为了设计能够用于移动端的网络结构,使用Depth-wise Separable Convolution的卷积方式代替传统卷积方式,以达到减少网络权值参数的目的。扩展结构有:MobileNetV2、MobileNetV3、SqueezeNet、ShuffleNet V1、ShuffleNet V2等 |
|
多分支结构(代表:TripletNet) | 基于多个特征提取方法提出,通过比较距离来学习有用的变量。该网络由3个具有相同前馈网络(共享参数)组成的,需要输入是3个样本,一个正样本和两个负样本,或者一个负样本和两个正样本。训练的目标是让相同类别之间的距离竟可能的小,让不同的类别之间距离竟可能的大。常用于人脸识别。 |
|
Attention结构(代表:ResNet+Attention) | 对于全局信息,注意力机制会重点关注一些特殊的目标区域,也就是注意力焦点,进而利用有限的注意力资源对信息进行筛选,提高信息处理的准确性和效率。注意力机制有Soft-Attention和Hard-Attention区分,可以作用在特征图上、尺度空间上、channel尺度上和不同时刻历史特征上等。 |
|
END
欢迎加入Imagination GPU与人工智能交流2群入群请加小编微信:eetrend89
(添加请备注公司名和职称)
推荐阅读 对话Imagination中国区董事长:以GPU为支点加强软硬件协同,助力数字化转型Imagination Technologies 是一家总部位于英国的公司,致力于研发芯片和软件知识产权(IP),基于Imagination IP的产品已在全球数十亿人的电话、汽车、家庭和工作 场所中使用。获取更多物联网、智能穿戴、通信、汽车电子、图形图像开发等前沿技术信息,欢迎关注 Imagination Tech!
原文标题:卷积神经网络结构组成与解释
文章出处:【微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !