图像分类
判断图片中是否有某个物体,一个图对应一个标签
卷积神经网络(CNN)
网络进化:
网络: AlexNet→VGG→GoogLeNet→ResNet
深度: 8→19→22→152
VGG结构简洁有效: 容易修改,迁移到其他任务中去,高层任务的基础网络
性能竞争网络: GooLeNet:Inception V1→V4,ResNet:ResNet1024→ResNeXt
AlexNet网络
ImageNet-2012竞赛第一
标志着DNN深度学习革命的开始:5个卷积层+3个全连接层,60M个参数,650K个神经元,2个分组,2个GPU
新技术: ReLU非线性激活,Max Pooling 池化,Dropout regularization,LRN
局部响应归一化(Local Response Normalization LRN): 神经元的侧抑制机制,某个位置(x,y)上沿通道方向的归一化,n为邻域值,N为通道值,超参数:k=2,n=5,α=0.0001,β=0.75
Network in Network网络(NiN)
提高CNN的局部感知区域的非线性
卷积层→1X1卷积层→Max池化层
1X1卷积
1X1卷积,实现的是同一个像素点上的各个通道的值的线性组合
作用: 实现跨通道的交互和信息整合,进行卷积核通道数的降维和升维
VGG网络
VGG网络提出的目的是为了探究在大规模图像识别任务中,卷积网络深度对模型精度有何影响。将一个大的卷积核分解成连续多个小卷积核。减少参数,降低计算,增加深度,是网络改造的首选基础网络
从左至右每一列代表着深度增加的不同的模型,从上到下代表模型的深度。conv<滤波器数,通道数>,随着层数的增加,参数增加并不是很多
GooLeNet
GooLeNet 出现之前,主流的网络结构突破大致是网络更深(层数),网络更宽(神经元数),但现在看来这纯粹是增大网络的缺点
进化顺序:Inception V1 →Inception V2 →Inception V3 →Inception V4
为了提升性能,减少参数,降低计算,增加深度,宽度
Inception V1网络
核心组件Inception Architecture(稀疏连接结构):Split-Merge→1X1卷积,3X3卷积,5X5卷积,3X3池化,增加网络对多尺度的适应性,增加网络宽度。Bottleneck Layer->使用NiN的1X1卷积进行特征降维,大幅减低运算量。
取消全连接,减负
辅助分类器,解决前几层的梯度消失问题
全局平均池化(Global average pooling GAP)
去局平均池化就没有size,它针对的是整张feature map
Inception V2网络
核心组件: Batch Normalization(批归一化):在batch范围内,对每个特征通道分别进行归一化。
白化:使每一层的输出都规范化到N(0,1)。解决Internal Covariate Shift问题,允许较高的学习率,取代部分Dropout
5X5卷积核->2个3X3卷积核
训练阶段:实时计算
测试计算:使用固定值(对训练求平均)
位置: 卷积->BN->ReLU
Inception V3网络
核心组件: 非对称卷积,NXN卷积分解成1XN -> NX1,降低参数数量和计算量
在中度大小的feature map上使用效果才会更好,对于m*m大小的feature map,建议m在12到20之间
Inception V3优化了Inception Module的结构,V3有三种不同的结构。这些Inception Module只在网络的后部出现,前部还是普通的卷积层
取消浅层的辅助分类器,深层辅助分类器只在训练后期使用,加上BN和Dropout
Inception V4网络
Inception 总结
**代替人工确定卷积层中的过滤器类型或者确定是否需要创建卷积层和池化层;不需要人为的决定使用哪个过滤器,是否需要池化层等,由网络自行决定这些参数;即:预先给网络添加所有可能值,将输出连接起来,让网络自己学习它需要什么样的参数。Inception网络有个问题:网络的超参数设定的针对性比较强,当应用在别的数据集上时需要修改许多参数,因此可扩展性一般。
**
ResNet残差网络
核心组件Skip/shortcut connection
Plain net:可以拟合出任意目标映射H(x)
Residual net:可以拟合出任意目标映射F(x),H(x)=F(x)+x,F(x)是残差映射,相对于identity来说
其他设计: 全是3X3卷积核,卷积步长2取代池化,使用Batch Normalization,取消Max池化,全连接层,Dropout
**更深网络:**根据Bootleneck优化残差映射网络。
原始:3x3x256x256->3x3x256x256
优化:1x1x256x64->3x3x64x64->1x1x64x256
Inception-ResNet网络
ResNeXt网络
提出深和宽之外的第三个维度,cardinality(基数),采用Split-Transform-Aggregate策略,将卷积按通道分组,形成32个并行分支,低纬度卷积进行特征变换,加法合并。同参数规模下,增加结构,提高模型表达力
ResNeXt实际上就是将group convolution引进ResNet中,以获得更少参数。
增加cardinality基数可以不断提高性能
典型的CNN参数与效果对比
CNN设计准则
**避免信息瓶颈:**卷积过程中,空间尺寸HxW逐渐变小,输出通道数C逐渐变多,HxWxC要缓慢变小
通道(卷积核)数量保持在可控范围内 :输入通道数量C,输出通道数量K
感受野要足够大: 卷积时依据局部图片的操作,捕捉大尺寸内容,多个小卷积核好过一个大尺寸卷积
分组策略,降低计算量
低秩分解,降低参数计算量