Deep Learning Foundation

BN:

z=wx+b

z'=gamma*bn(z)+belta

a=g(z')

原因:1. 数据归一化,可以相对加大的learning rate,下降速度快。2. 使得每一层的分布相对稳定,每一层相对独立,减弱上一层对其的影响。

轻微正则化:计算均值和偏差都是在一个Mini-batch上进行,有一定的噪音。

测试:用训练集上加权平均的均值和方差。

F1 Score = 1/(1/P+1/R)

改善模型的表现:

减少可避免偏差

  • 训练更大的模型
  • 训练更长时间、训练更好的优化算法(Momentum、RMSprop、Adam)
  • 寻找更好的网络架构(RNN、CNN)、寻找更好的超参数

减少方差

  • 收集更多的数据
  • 正则化(L2、dropout、数据增强)
  • 寻找更好的网络架构(RNN、CNN)、寻找更好的超参数



误差分析:针对性的改善


训练开发集,其中的数据和训练数据来自同一分布,但是却不用于训练过程。从而判断数据分布不一致的问题。


迁移学习的意义:

迁移学习适合以下场合:迁移来源问题有很多数据,但是迁移目标问题却没有那么多的数据。


如何提高运行速度?

1.      模型裁剪

2.      目前都是通用模型,可以针对特定用途和场景修改模型

3.      代码中进行优化

如何提高模型精度?

1.      在训练集上表现不好:更大的模型,训练更长时间,用更好的算法,寻找更好的模型结构,用更好的超参数

2.      在测试集上表现不好:更多数据,正则化,寻找更好的模型结构,用更好的超参数,看看分布是不是不一样

3.      误差分析:找出原因,针对性的改善

4.      训练和测试数据集的分布要保持一致

5.      尝试BN

6.      数据增广:水平翻转、垂直翻转、任意角度旋转、缩放或扩大,裁剪,像素变换,调整对比度和亮度

7.      学习率衰减

8.      考虑要不要修改损失函数

9.      用训练好的模型finetune


图像缩放算法:近邻取样插值,二次线性插值,三次线性插值

训练数据类别不均衡问题:

可以扩大数据集吗?

尝试其它评价指标:召回率,F1 Score等

对数据集进行重采样:小类数据过采样,大类数据欠采样

尝试对模型进行惩罚:损失函数中增加小类样本的权重,减少大类样本的权重

数据增广来增加小类样本

Why cross entropy not mse?

因为在计算最后概率的时候用的是softmax,

如果用 MSE 计算 loss,

输出的曲线是波动的,有很多局部的极值点。

即,非凸优化问题 (non-convex)

cross entropy 计算 loss,则依旧是一个凸优化问题,

用梯度下降求解时,凸优化问题有很好的收敛特性。


SSD:

1.    采用VGG16 的基础网络结构,使用前面的前 5 层,然后将 fc6 fc7 层转化成两个卷积层。再格外增加了 3 个卷积层,和一个 average pool层。

2.    从Feature Map进行采样,每个点k个default box,最后运行NMS,得到Final detection

3.    在低层的feature map,感受野比较小,高层的感受野比较大,在不同的feature map进行卷积,可以达到多尺度的目的并且不同的feature map,预测不同宽高比的图像,这样比YOLO增加了预测更多的比例的box

4.    控制positive/negative default box的比率在1:3

 

RCNN:
1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
2. 每个候选框内图像块缩放至相同大小,并输入到CNN内进行特征提取 
3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
4. 对于属于某一特征的候选框,用回归器进一步调整其位置

Fast RCNN
1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
2. 对整张图片输进CNN,得到feature map
3. 找到每个候选框在feature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层
4. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
5. 对于属于某一特征的候选框,用回归器进一步调整其位置

 

Faster RCNN
1. 对整张图片输进CNN,得到feature map
2. 卷积特征输入到RPN,得到候选框的特征信息
3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
4. 对于属于某一特征的候选框,用回归器进一步调整其位置

 

YOLO v1:

(1) 给个一个输入图像,首先将图像划分成7 * 7的网格。

(2) 对于每个网格,每个网格预测2bouding box(每个box包含5个预测量)以及20个类别概率,总共输出7×7×2*5+20=1470tensor

(3) 根据上一步可以预测出7 * 7 * 2 = 98个目标窗口,然后根据阈值去除可能性比较低的目标窗口,再由NMS去除冗余窗口即可。

YOLO v2:

1.      BN

2.      提高图片分辨率

3.      引入anchor box,在13 * 13的卷积特征图进行滑窗操作,得到13*13*5anchor box,提高召回率

4.      通过维度聚类训练bounding boxes,得到更好的宽高维度比

5.      添加了一个转移层( passthrough layer),把浅层特征图(分辨率为26 * 26,是底层分辨率4倍)连接到深层特征图,再进行predict

 

YOLO v3:

1.      多尺度预测:3种尺度分别预测3种box(13,26,52)

2.      用logistic regression替代softmax,提升多目标预测能力

3.      53convresidual net






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值