因为本人近期也要紧临毕业,面临招聘面试,所以整体别人公开的面经,做一个整理,并且加上自己认为的答案,欢迎各位读者对答案进行指正和交流。
深度残差的作用
- 直观上,深度加深,出现梯度消失和梯度爆炸的问题
- 在论文中,出现了一个奇怪的现象,就是56层网络效果没有20层的好。本质问题是因为网络深造成信息丢失从而产生过拟合问题,在较深的网络层上,明明是不同类别的图片,但是却产生了相近的对网络刺激的效果。
- 关键就是:用残差来保留数据的差异性
BatchNorm的作用
- 避免梯度爆炸梯度消失问题
- 正则化,避免过拟合;
- 本质是解决了ICS(internal Covariate Shift)的问题,保证每一层的数据分布是同分布的。
DenseNet的优势
- DenseNet是ResNet的改良版本,密集的复用通道特征。
- 所以每层的特征可以直达最后的误差信号,使得网络更容易训练,是一种deep supervision的实现,类似于GoogLeNet的三个输出的概念;
- 因为每一层只增加少量的通道数,从而参数更小,计算更快。因为大量的concat之前的特征;
- 最终分类使用了低级特征。
损失函数有哪些
- 回归任务:均方误差
- 回归任务:L2范数
- 分类任务:CrossEntropy交叉熵
- 分类任务:focal loss
这个是何凯明大佬的作品,是解决多分类任务中样本不平衡的现象的。公式中,预测结果为output,真实值为true,output是模型的直接输出打分情况,true是onehot编码:
论文中
GBDT梯度提升树学习的是什么
学习的是负梯度,而不是残差
什么是端到端学习
就是把过程简化成只用一个神经网络来完成。比方说文字识别,可能需要先对图像进行二值化,然后进行锐化膨胀腐蚀等操作,但是端对端就是直接把图片放到网络中,然后直接识别出文字。在训练集较大的情况下,端到端学习会有惊人的效果。