算法总结之深度学习

深度网络

CNN

ResNet

问题:当网络加深,学习效果很差
动机:在已存在的浅层网络上加入很多恒等映射层,这样能保证学习效果不差于千层网络,受此启发,提出ResNet
解释:(1) 保证信息流动。当网络比较深,反向传播时,不同层梯度之间的相关性下降,极端情况就是梯度变化出现随机性,近似于白噪声,这样网络的训练就很差。而当加入shortcuts,一部分梯度会直接往回传,梯度的相关性能够保持,这样也保证了梯度的信息流动。
(2) 特征的组合。不同的特征可能在不同的层出现,识别某个物体可能同时需要这些特征,残差网络能实现不同层提取特征的组合。
此外,当网络层数较少时,Residual Net提升的效果不明显,但是能加速网络的收敛。

DenseNet

优点:

  1. 特征复用
  2. 有利于梯度传播,更容易收敛

VGG

Inception

成功的关键:multi-branch feature maps和multi-scale kernel
v1: 33 和 55卷积之前加一个11, maxpooling之后加一个11,目的减少计算量
v2: 两个33代替一个55,一个nn的卷积可以用1n和n1来代替
v3: 加BN、7
7卷积分解成3个33
v4: 修改Stem和添加short cut结构
与Resnet的关系,1
1卷积的特征实际上包含了前一层的信息,相当于shortcut的作用

MobileNet v2

linear bottleneck

layer的特征mainfold of interest可以在低维空间表达,如果使用ReLU会使得信息损失较多,因此采用linear bottleneck

inverted residual block

在linear bottleneck之间加上shortcut,构成类似于residual block的结构,区别在于residual block先降维后升维,而block先升维后降维(为什么要这样,可以理解为克服ReLU低维空间下信息损失较多的缺点)

ReLU

Leaky ReLU: x<0 时斜率为固定值
PReLU: x<0时斜率为一个参数,与神经网络中的参数类似,学习出来的
RReLU: x<0时斜率在一个范围内随机选择,测试时固定
在这里插入图片描述

Batch Normalization

梯度弥散、梯度爆炸

梯度爆炸:从BP的反向传播解释,链式求导使得求梯度公式中有很多的权重项相乘,这样当很多大于1的权重项相乘时,会出现梯度爆炸。
解决办法:正则化(控制权重大小),ReLU(导数为1),gradient clipping (归一化误差项(gradient scaling)或者当梯度超过一定范围时进行裁剪(gradient clipping))
梯度弥散:(1) BP反向传播,同上,当很多权重小于1时,就会出现梯度弥散;(2) 使用激活函数时,当输出值位于激活函数非线性区域的饱和区时,梯度很小趋近于0,根据梯度求导公式,此时梯度也会趋近于0,梯度弥散出现。
解决办法:BN、ReLU、gradient clipping

RNN、LSTM

RNN问题:梯度弥散,RNN当前不能有长距离的依赖,这是因为long-term依赖会出现梯度弥散(参考梯度弥散产生原因);
LSTM:LSTM相比于RNN增加了cell gate,遗忘门,输入门,输出门,这些门限能够使网络去处理或解决这种long-term依赖。

BN、GN、LN、IN

四种归一化对比
BN: NHW 维度求均值
LN: C * H * W
IN: H * W
GN: C / g * H * W

目标检测

RCNN

Fast RCNN

相比于RCNN

Faster RCNN

相比于Fast RCNN

YOLO

YOLO演变:
(1) Network architecture: replace fc with conv (v2), backbone Darknet-19 (v2) to Darknet-53 (v3)
(2) Multi-scale: v1 do nothing, v2 trained on multi-scale images, v3 prediction boxes on feature maps with different resolutions.
(3) prior boxes: directly outputs boxes (v1), predict 5 boxes at each location (v2), predict 3 boxes at each location in different feature maps (v3), use k-means to preset the anchors
(4) loss function: softmax loss (v2), sigmoid loss (v3), improve bounding box regression by constrain the center parameters in (0, 1) with sigmoid function (v2).

SSD

SSD问题:为什么小目标检测效果差

(1) 语义信息与分辨率大小的矛盾,小目标物体一般需要大分辨率的feature,但这样语义信息不够;
(2) 小物体与anchor匹配的数量少,导致关注不够,得不到足够的小物体训练样本

anchor选择

在这里插入图片描述
通过该公式 s k s_k sk s k + 1 s_{k+1} sk+1作为第k个feature map的min和max尺寸,default boxes主要分成三个部分:

  1. 以min为边的正方形;
    2)以sqrt(min*max)作为边的正方形;
    3)以min作为面积,根据设置的不同比例计算框的height和width.

小目标检测

三个方面展开:
(1) 从augment角度:一是对含有小目标的样本重采样,二是对样本中的小目标进行重采样(如1个球变成多个球);
(2) 从特征提取的角度考虑:Deformable Convolutional Networks、FPN;
(3) Loss:小目标regresion损失加上 ( 2 − h × w ) (2-h \times w) (2h×w),还可以变成 (2-w*h)*1.5,性能会上涨

Anchor-free based object detection

CornerNet

  1. 不用设置anchor,直接预测top-left和bottom-down corners.
  2. 网络的输出分为三部分:heatmaps (corner位置预测)、offsets (下采样会导致精度下降,要做偏移调整)、corners match (预测两个vector,根据对应位置的距离来匹配)
  3. Corner pooling:包含两个分别为 top-left corner pooling 和 bottom-right corner pooling,
    top-left corner pooling: 从右至左和从下至上的每个位置分别求最大值,得到两个结果求和,如下:
    The top-left corner pooling layer
    bottom-right corner pooling: 从左至右和从上至下的每个位置分别求最大值,得到两个结果求和,与top-left corner pooling相反

图像分割

Mask RCNN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值