深度学习的基本知识

2020-06-04 14:29发布

ResNet(残差网络),DenseNet(密集连接卷积网络)

激活函数是用来加入非线性因素的,因为线性模型的表达力不够。RELU函数构建稀疏矩阵,也就是稀疏性,这个特性可以去除数据中的冗余,最大可能保留数据的特征,也就是大多数为0的稀疏矩阵来表示,加快计算收敛

fine tune 微调,利用已有模型的参数训练,少量的训练集即可以收敛。

FCN全卷积取消全连接层,使得输入图片尺寸可变

BN层规范参数W防止梯度消失和爆炸,深度网络层次太多后,信号和梯度越来越小,深层难以训练,被称作梯度弥散。也有可能越来越大,又被称作梯度爆炸

自编码器用于有损压缩,输出节点少于输入,导致只能重构重要信息不能完全恢复

Eltwise_layer 相加相乘等

Faster-RCNN 分别训练RPN 和fast-RCNN

Feature Pyramid Network(FPN)

YOLO3 Softmax使得每个框分配一个类别(score最大的一个),而对于Open Images这种数据集,目标可能有重叠的类别标签,因此Softmax不适用于多标签分类。Softmax可被独立的多个logistic分类器替代,且准确率不会下降。分类损失采用binary cross-entropy loss.

对于选择softmax分类器还是个logistic分类器,取决于所有类别之间是否互斥。所有类别之间明显互斥用softmax分类器,所有类别之间不互斥有交叉的情况下最好用个logistic分类器。

阿里面试:LSTM 快速排序 胶囊网络capsnet 空洞卷积(pool upconv会损失信息,所以采用蓬松的卷积即空洞卷积)SSD特征融合(拼成一个大的 concat)

YOLO置信度:因此置信度可以定义为Pr(object)*IOU。很多人可能将Yolo的置信度看成边界框是否含有目标的概率,但是其实它是两个因子的乘积,预测框的准确度也反映在里面。每个单元格需要预测(B*5+C)个值。如果将输入图片划分为S*S网格,那么最终预测值为S*S*(5+C)大小的张量。

NMS算法主要解决的是一个目标被多次检测的问题

没有anchor boxes,模型recall为81%,mAP为69.5%;加入anchor boxes,模型recall为88%,mAP为69.2%。

Pi为生成值,y为期望值!

Inpaint:训练时候联合对抗失真,测试时候联合纹理失真,对抗失真 反向求导

Dilated Convolution(扩展卷积或空洞卷积) 的最大价值是可以不改变feature map的大小而增大感受野。而之前的FCN使用pooling下采样来增大感受野,但随后又不得不通过Deconvolution或者upsampling来增大feature map大小,这样的一小一大总会损失很多信息。

SRGAN: perceptual loss

风格迁移 gram矩阵,计算特征相关性  最小化特征层损失可以重构图像

Adversarial Loss  在所有训练样本上,基于判别器的概率定义 generative loss :

反卷积,低维特征映射到高维,自编码器

网络参数越接近输出层越容易训练。

mobleNet

防止过拟合:采用权重正则化(产生较为简单的模型得到系数解,减小不重要的参数对最后结果的影响),BN,增加样本,Dropout。欠拟合:丢数据,增加模型复杂度

Inpaint:门控卷积,局部卷积

Drop 层测试时候不需要 因为都是学习的参数

Faster rcnn较为准确,但是慢十倍

Faster RCNN中 anchor 只用在最后一个卷积层,但是在SSD中,default box 是应用在多个不同层的feature map上

BN:可以事先将特征去相关,模型的输入特征不相关且满足标准正态分布N(0, 1)时,模型的表现一般较好。初始时加速训练速度,具有快速训练收敛的特性。消除W放大缩小的影响解决梯度消失与梯度爆炸。 

ResNet 反向求导有1,缺点可能很多层无用,densnet 缓解梯度消失问题,加强特征传播,鼓励特征复用,极大的减少了参数量,特征利用率大 收敛块 缺点特征爆炸DneseNet在训练时十分消耗内存

迁移学习(Transfer learning) 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练

RCNN:真值重叠面积大于0.6的候选框进行边框回归,RPN它能和整个检测网络共享全图的卷积特征;faster rcnn。 ROIpooling ROIalign固定特征维度,后面连接两个全连接层:bbox回归层(reg)和box分类层(cls)。

YOLO回归问题,SSD还要快

mask rcnn的主要贡献其实就是roi align以及加了一个mask分支

SSD预测出每个box相对于default box的位置偏移和宽高值。yolo-v3的作者觉得这样。所以yolov3的作者对于这位置偏移值都再做一个sigmoid激活,将范围缩为0-1 


Perceptual Loss的出现证明了一个训练好的CNN网络的feature map可以很好的作为图像生成中的损失函数的辅助工具

Batch size 太大(内存,一般来说 Batch_Size 越大,其确定的下降方向越准,由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难,容易达到局部最优,引起训练震荡越小,采用RMSprop) 太小(训练速度很慢,训练不容易收敛)

腾讯面试:梯度弥散,SVM核函数(线性,多项式,高斯核函数),梯度消失(ResNet,BN,减少层数,使用ReLu激活函数):梯度爆炸(BN,正则化,参数初始化,减少层数,激活,梯度截断):