CNN网络进化:AlexNet-》VGG->GoogleNet->ResNet,深度8-》19-》22-》152
GoogleNet:Lsplit-》transform-》merge,分治思想
ResNeXt:在ResNet上增加cardinality基数,即通道数,残差~缓解梯度消失问题
Bag of words:视觉词汇组成一组一组的
ground truth:任何标签都可以称为~
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的黑塞矩阵为不定矩阵。
卷积核/滤波器的个数~通道数
Relu:解决梯度消失,深度网络能进行优化的关键
卷积层+激活函数:激活函数类似于人眼-达到一定阈值才会被激活,传到下一次;增加非线性-》分段线性,拟合所有函数
卷积步长大于1:特征降维作用
池化:特征融合,尺寸降维
全连接层:等效全局卷积/全尺寸卷积,卷积核大小维上一层输出尺寸即W*H*C,卷积核个数维最终分类个数即K;去除空间信息
工程tricks:
图像像素中心化~rgb各自减通道均值
防止过拟合:数据增强;dropout;weigth decay权重衰减(L2正则)
Alexnet:新技术~Relu;dropout;max pooling
注意双gpu交互:卷积层一中特征通道96在2中显卡评分-》48
三中通道合并,即跨显卡做卷积
LRN局部响应归一化~模拟神经元侧抑制机制,某位置跨通道方向上的归一化~超参是实验定出的
VGG:卷积核7*7拆解为3个3*3
GoogleNet:进化InceptionV1到V4
核心组件:Inception模块,先分支再合并
inception3a:128=1*1,3*3,3*3,pooling四个的输出值和~即串接
卷积分支中1*1先放前面,pooling中1*1放在后面~先pooling特征合并保证原始信息量再降维
Split-Merge:四个不同卷积/池化~多尺度,宽度
Bottleneck:NiN的1*1卷积来解决多尺度带来的高额参数,特征降维
Inception V1:两大贡献(1)取消全连接:global average pooling+softmax可以代替,对应主分类器取消全连接层增加两个辅助分类器,辅助是有全连接的 (2)辅助
InceptionV2:核心组件
(1)批归一化:解决相关偏移问题~内部神经元的数据分布发生变化;本质是白化即每一层的输出都规范化到0,1的正态分布,取代dropout,允许较高学习率;
详细:在batch范围内,对每个特征通道分别进行归一化~每个batch如32个图片,每个图片k通道,那么每个通道对应32个值~长*宽*1*batchsize的均值和标准差来归一化;注意~每张图片的每个通道的矩阵表示:长*宽*1
位置:卷积层和激活层之间,归一化在非线性变换之前
因为不同特征的均值和方差本来就是有相对差异 的,强制化为0,1的正态分布是有问题的,比如有的特征是在均值1附近的-》尺度变换和偏移,即scale和shift即尺度和偏移即乘子和偏置要学习出来即需训练,配对使用,每个通道都有一对共k组,乘以scale加上shift后的y才是传入后面的
训练中每个batch中的k组均值和标准差都会被保存,测试时存储的所有batch的k组均值和标准差会分别求平均,使用k组平均
(2)5*5卷积核拆为3*3
Inception3:
(1)非对称卷积:N*N分解成1*N-》N*1
(2) 低层处低分辨35*35上将5*5拆为两个3*3;分辨率17*17上火将两个N*N分别拆了;分辨率8*8上并行操作做分解 why好-- 工程实践经验
(3)高效的降尺寸Grid size :
现象:25*25*320先pooling后Incepion~有表达瓶颈计算量小,因为pooling后hi是低维的17*17*320,inception后17*17*640;25*25*320先inception后pooling~无表达瓶颈但是计算量大,因为inceptin后时25*25*640,pooiling后维17*17*640
目的:避免表达瓶颈增加特征通道
操作:两个并行分支,卷积分支+池化分支,串接分支结果
卷积分支1:1*1特征降维减少计算量-》3*3卷积步长1-》3*3卷积步长2
卷积分支2:1*1卷积-》3*3步长2
池化:步长2,即池化照常做
卷积分支1出160,卷积分支2出160,池化出320,串接为640的特征通道数,卷积的串接补充了信息
(4)取消浅层辅助分类器。深层辅助分类器只在训练后期有用-工程经验
Inception4:Inception模块加上了resnet的直连
ResNet:核心组件为skip/shortcut connection
目标映射=残差映射+identity即H=F+x,求导,该模块倒数永远大于1
卷积核基本都为3*3,池化层用卷积步长2代替~淡紫和黄色之间,步长为2使得尺寸降维度通道升维,使用BN;取消了全连接层,max池化,dropout
基础网络时VGG
当H是最优映射接近identity时,很容易捕捉到小的扰动
更深层用Bootleneck优化残差映射网络