深度学习整理
2021-05-06 11:11:44 3 举报
AI智能生成
深度学习基础,神经网络原理、优化技巧及经典CV应用
作者其他创作
大纲/内容
理论基础
神经网络
组成
输入层
隐藏层
没有隐层
少量隐层
隐层较多
输出层
激活函数
进行非线性变换,若不加激活函数,则还是线性网络
训练
损失函数
回归loss
平均绝对误差MAE
均方误差MSE
Smooth L1 Loss
分类loss
交叉熵损失
先计算Softmax回归,再计算预测类别概率的交叉熵
SVM合页损失
hinge loss
KL散度
具有不对称性,从而引入JS散度(对称)
优化算法
反向传播算法BP
梯度下降算法
卷积神经网络CNN
层级结构
数据输入层
去均值
把输入数据各个维度都中心化为0
归一化
幅度归一化到同样的范围
卷积层
特点
局部连接
卷积核将图片的局部区域连接在一起
参数共享
卷积核滑动计算时,共享同一组权重(偏置)参数
深度表达
depth维度代表卷积核个数,互不共享参数,计算得到的特征图也用矩阵的形式表示
分类
普通卷积
1*1卷积
用多个小卷积核代替大卷积核
转置卷积
反卷积
上采样方法
双线性插值
反卷积
反池化
激活层
激活函数的选择
Sigmoid
Tanh
ReLU
Leaky ReLU
池化层
Max Pooling
Average Pooling
作用
全连接层
两层之间所有神经元都有权重连接,激活函数一般为Softmax
两个RNN
循环神经网络
基本模型
网络结构
引入记忆的概念,输出取决于输入和记忆
反向传播算法BPTT
超级简易版
梯度爆炸和梯度消失
多种RNN
双向RNN
输出不仅取决于之前的数据,还取决于之后的数据
双向深层RNN
RNN变体
长短时记忆网络LSTM
两个状态三个门
GRU
一个状态两个门
RNN主要用于自然语言处理,生成序列,机器翻译,看图说话,语音处理
递归神经网络
主要用于语句情感分析,但数据标注费时费力
生成对抗网络GAN
基本原理
目标函数
GAN交叉熵损失
在确定了最优判别器之后,生成器的实质为优化两个分布的JS散度
LSGAN的LS距离
散度函数f=(t-1)^2的情况
WGAN的EM距离
基于IPM的距离度量
权重修剪,满足L条件
模型结构
深度CNN结构
DCGAN
层级结构
多对GAN或者一个GAN内分阶段生成
自编码器结构
用AE作为判别器度量重构误差
训练障碍及解决办法
训练困难
经典交叉熵损失存在的问题
实际训练的参数达不到纳什均衡
极大极小问题导致模式崩塌
训练技巧
特征匹配
标签平滑
谱归一化
其他
PatchGAN
多个生成器一个判别器
模型
传统生成对抗网络
在隐变量中加约束
CGAN
ACGAN
InfoGAN
改变度量方式
WGAN
LSGAN
两步生成
SimGAN
图像翻译网络
两个域
pix2pix
CycleGAN
UNIT
多个域
StarGAN
MUNIT
改进方向
应用趋势
图像合成
风格迁移
图像增强
零样本学习
域适应
自编码器
原始自编码器AE
组成
特点
应用
数据降维
去噪编码器
变分自编码器VAE
优化技巧/常问问题
初始化
预训练
随机初始化
高斯分布初始化
均匀分布初始化
Xavier初始化
各层的激活值和梯度的方差在传播过程中保持一致,这个被称为Glorot条件。
He初始化
初始值过大或过小带来的问题
归一化
输入归一化
1、零均值 2、方差归一化
批归一化(BN)
1、求均值 2、求标准差 3、一个batch内归一化
优点
加快训练速度
防止梯度消失
防止过拟合
缺点
batch很小时效果不好
适用于深度固定的神经网络,对RNN无效
反向传播
需要对两个平衡因子分别求导,以及对归一化之前的数据求导
层归一化(LN)
对同一层神经元的输入进行归一化,不同的输入样本有不同的均值和方差
实例归一化(IN)
对每个样本进行归一化,注重单个样本分布的均匀和独立,适用于图像风格化
组归一化(GN)
在BN的基础上,将channel分为group,每个group内归一化,解除batchsize的影响
过拟合解决方法
输入端
扩充训练集
噪声增强
模型上
L1/L2范数正则化
公式及两种范数的特征
Dropout
作用原理
BN层
BN和Dropout一起使用时会产生负面影响
训练策略
早停
特征选择/降维
梯度消失和爆炸
产生原因
不合适的激活函数
初始化权值过大
解决方案
用其他激活函数替换sigmoid
利用BN将分布变换到激活函数敏感的区域
适当减少层数,可以引入残差的直连结构
CV应用领域
目标检测
同时解决定位和识别的多任务学习
两阶段
1、先选定一系列候选框
滑窗法
选择性搜索
2、对候选框进行解析分类
非极大值抑制
IOU
AP/mAP
网络模型
R-CNN
选择搜索2000个候选框
在预训练的Alexnet上微调,改为21分类,获得每个候选框的特征向量
用SVM对特征向量进行分类,输出每个候选框的分类得分,再用非极大值抑制筛选
训练回归器,输入特征向量,输出x和y方向的缩放和平移,实现边框修正
Fast R-CNN
改进
选择搜索2000个候选框
原图输入CNN卷积层得到特征图,以及候选框对应的特征图
RoI Pooling Layer对每个候选特征框提取同样大小的输出
分类和回归并行计算
SVD分解加快速度
更新参数
不足
Faster R-CNN
改进
原图输入CNN卷积层得到特征图
利用RPN网络通过特征图得到候选框的特征框
回归计算?
后续同样用RoI Pooling Layer,最后分类和回归并行计算
不足
Mask R-CNN
将目标检测和语义分割结合
RPN搜索候选框
RoI Align确定候选框特征
对候选框并行进行分类、回归和mask生成
Cascade R-CNN
主要是缓解Faster R-CNN的mismatch问题
采用多级联结构,每一级有不同的权重
逐stage提高proposal的IoU值,从而使得前一个stage重新采样过的proposals能够适应下一个有更高阈值的stage
一阶段
YOLO系列
YOLO v1
将图片reshape成同样大小输入
利用CNN网络得到预测框的分类置信度和回归值
利用NMS筛选预测框
YOLO v2
主要改进
改为预测候选框的偏移量
沿用RPN,先设置anchors,再做回归训练
利用K均值聚类筛选anchors
分辨率的加强
高分辨率分类器
添加了一个passthrough layer层
其他技巧
放弃dropout,卷积层之间使用BN归一化,更准确
新的分类CNN结构-DarkNet19,更快
将预测边框的中心约束在特定网格内
在训练网络时,每训练10个batch,网络就会随机选择另一种size的输入
YOLO v3
结构改进
新的网络结构DarkNet-53,引入残差结构
借鉴FPN,利用上采样得到多尺度特征(三种)
设计9种尺度的预测框
其他技巧
采用logistic计算分类预测,支持多标签
预测框的偏移量,使bbox更可控
提出GIoU计算回归损失
SSD
结构特点
借鉴了FPN,在不同尺度的特征图上做检测
借鉴了anchor机制,提出prior box
和anchor的区别
将不同特征图的结果组合得到预测结果
优缺点
Anchor-free系列
CenterNet
检测图像中三个关键点,两个角点加一个中心点
缺点:当目标重合的时候,中心关键点也会重合,导致检测结果有遗漏
目标分类
评价指标
准确率
正确分类样本占总样本比例
混淆矩阵
根据TP/TN/FP/FN计算,每个类别预测情况的记录
PR曲线
指标
精确率precision
召回率recall
评价方式
取P=R时的平衡点值,越大越好
曲线越往右上越好
曲线下方的面积大小,越大越好
计算F1-score,值越大越好
ROC曲线
绘图方式
固定不同的分类阈值,测试假正类率和真正类率(召回率)
评价方式
ROC曲线越接近左上角,该分类器的性能越好
AUC,ROC曲线下方面积
适用于样本不均衡
典型CNN结构
LeNet
1995年提出,用于手写字符识别
AlexNet
2012年提出,引入dropout、relu
VGGNet
2014年亚军,全部使用3*3的小卷积核,通过加深网络结构来提升性能,引入多尺度训练
GoogLeNet
2014年冠军
Inception
Inception V2
BN层
Inception V3
Inception V4
ResNet
2015年提出,引入残差表示,恒等映射x+f(x),更强劲地提取特征
通道数问题
DenseNet
2017CVPRBestPaper,将每一层卷积后的特征都加起来
SENet
ImageNet 2017冠军,在channels的维度上加入attention机制,压缩和提取
应用难点
小样本
迁移学习
数据生成
主动学习
样本不均衡
数据采样达到均衡
对类别设置优化权重
focal loss
改进方向
设置权重
特征融合
网络更深,特征图更大
图像生成
目标检测的小物体
行人重识别的姿态生成
分类任务的小样本扩充
目标分割
目标跟踪
推荐系统
基于内容
基于用户
协同过滤
混合推荐
0 条评论
下一页