因为本人近期也要紧临毕业,面临招聘面试,所以整体别人公开的面经,做一个整理,并且加上自己认为的答案,欢迎各位读者对答案进行指正和交流。
深度残差的作用
- 直观上,深度加深,出现梯度消失和梯度爆炸的问题
- 在论文中,出现了一个奇怪的现象,就是56层网络效果没有20层的好。本质问题是因为网络深造成信息丢失从而产生过拟合问题,在较深的网络层上,明明是不同类别的图片,但是却产生了相近的对网络刺激的效果。
- 关键就是:用残差来保留数据的差异性
BatchNorm的作用
- 避免梯度爆炸梯度消失问题
- 正则化,避免过拟合;
- 本质是解决了ICS(internal Covariate Shift)的问题,保证每一层的数据分布是同分布的。
DenseNet的优势
- DenseNet是ResNet的改良版本,密集的复用通道特征。
- 所以每层的特征可以直达最后的误差信号,使得网络更容易训练,是一种deep supervision的实现,类似于GoogLeNet的三个输出的概念;
- 因为每一层只增加少量的通道数,从而参数更小,计算更快。因为大量的concat之前的特征;
- 最终分类使用了低级特征。
损失函数有哪些
- 回归任务:均方误差
M S E = ∑ i = 1 n ( y i − y i ^ ) 2 n MSE = \frac{\sum^n_{i=1}{(y_i-\hat{y_i})^2}}{n} MSE=n∑i=1n(yi−yi^)2 - 回归任务:L2范数
M S E = ∑ i = 1 n ( y i − y i ^ ) 2 MSE = \sqrt{\sum^n_{i=1}{(y_i-\hat{y_i})^2}} MSE=i=1∑n(yi−yi^)2 - 分类任务:CrossEntropy交叉熵
- 分类任务:focal loss
这个是何凯明大佬的作品,是解决多分类任务中样本不平衡的现象的。公式中,预测结果为output,真实值为true,output是模型的直接输出打分情况,true是onehot编码:
L f o c a l l o s s ( o u t p u t , t r u e ) = − 1 n ∑ i = 1 n t r u e ∗ θ ∗ ( 1 − s o f t m a x ( o u t p u t ) ) γ ∗ l o g ( s o f t m a x ( o u t p u t ) ) L_{focal_loss}(output,true)=-\frac{1}{n}\sum_{i=1}^ntrue*\theta*(1-softmax(output))^{\gamma}*log(softmax(output)) Lfocalloss(output,true)=−n1i=1∑ntrue∗θ∗(1−softmax(output))γ∗log(softmax(output))
论文中 θ = 0.25 , γ = 2 \theta=0.25,\gamma=2 θ=0.25,γ=2
GBDT梯度提升树学习的是什么
学习的是负梯度,而不是残差
什么是端到端学习
就是把过程简化成只用一个神经网络来完成。比方说文字识别,可能需要先对图像进行二值化,然后进行锐化膨胀腐蚀等操作,但是端对端就是直接把图片放到网络中,然后直接识别出文字。在训练集较大的情况下,端到端学习会有惊人的效果。
公众号回复【下载】有精选的免费机器学习学习资料。 公众号每天会更新一个机器学习、深度学习的小知识,都是面试官会问的知识点哦~
- 【机器学习的基础数学(PDF)】
- 【竞赛中的大数据处理流程(PDF)】
- 【如何做大数据的基础特征工程(PDF)】
- 【自然语言处理NLP的应用实践大合集(PDF)】
- 【python入门级教材(400页PDF)】
公众号每天会更新一个机器学习、深度学习的小知识,都是面试官会问的知识点哦~