常见的深度学习面试题及解答(二)

往期回顾

深度学习100问
常见的深度学习面试题及解答(一)


1. 在深度学习中,通常会finetuning (微调) 已有的成熟模型,再基于新数据,修改最后几层神经网络权值,为什么?

  Deep Learning或者说CNN在图像识别这一领域取得了巨大的进步,那么自然我们就想将CNN应用到我们自己的数据集上,但这时通常就会面临一个问题:通常我们的dataset都不会特别大,一般不会超过1万张,甚至更少,每一类图片只有几十或者十几张。这时候,直接应用这些数据训练一个网络的想法就不可行了,因为深度学习成功的一个关键性因素就是大量带标签数据组成的训练集。如果只利用手头上这点数据,即使我们利用非常好的网络结构,也达不到很高的performance。这时候,fine-tuning的思想就可以很好解决我们的问题:我们通过对ImageNet上训练出来的模型(如CaffeNet,VGGNet,ResNet)进行微调,然后应用到我们自己的数据集上。

  由于ImageNet数以百万计带标签的训练集数据,使得如CaffeNet之类的预训练的模型具有非常强大的泛化能力,这些预训练的模型的中间层包含非常多一般性的视觉元素,我们只需要对他的后几层进行微调,在应用到我们的数据上,通常就可以得到非常好的结果。最重要的是,在目标任务上达到很高performance所需要的数据的量相对很少。

https://www.nowcoder.com/questionTerminal/3b855cb09f3842c9be720dd0d8b29179?orderByHotValue=1&page=1&onlyReference=false

2. 请你简要解释一下,什么是GroupConvolution?

Group Convolution是分组卷积。

  上一层的张量有n个通道,一般的卷积运算是将他们跟卷积核运算之后全部叠加生成每一个通道。而Group Convolution先将通道分为g个组,再在每个组内的n/g个通道进行卷积运算。若下一层的通道数不变,则参数量大大缩小,提高了计算速度,也起到了正则化的作用。

https://www.nowcoder.com/questionTerminal/c164c15f15754eca87f864ef33f68e99?toCommentId=3108610

3. 请你简要介绍一下DropConnect的原理?
在这里插入图片描述
https://blog.csdn.net/qq_38622495/article/details/82747094

  在深度学习时代,模型加正则化是一个在被讨论和探索的话题,正则化目的是为了减弱过拟合、增强模型的泛化能力,常用的手段无外乎是在模型属性(包含模型复杂度)、样本量、特征量三者之间的大小的权衡关系上来做文章,而常见的dropout和drop connect的正则化方法就是在模型属性方面做文章,当然也可以解释成因为我们的样本量比较小,所以要通过dropout或者drop connect这种bagging的方式减小模型的方差。

总结dropout和drop connect的区别,即:

  • dropout:输入不变,输出以一定概率置为0
  • drop connect:输出不变,输入以一定概率置为0

https://blog.csdn.net/oppo62258801/article/details/100172018

效果对比:

  从整个神经网络的连接上看,一个神经元节点的输出也就是下一层神经元节点的输入,这样的话,两种正则化的方式貌似没有什么实质的区别,其实不是这样的,我们从另一个角度看这两种正则化方式:

  神经元连接数量远远大于神经元数量,drop connect是以一定概率将神经元的连接置为0,而dropout是以一定概率将神经元(的输出)置为0,所以drop connect相比于dropout能够生成更多的模型,具有更好的泛化能力,在测试集上能够有一定的提升。但是由于两者的原理非常相似,所以在一些任务上,能够得到相似的结果,差别不大。

4. 请你解释一下Attention机制的作用

  Attention即为注意力,衡量的是每一部分的输入对于输出的影响程度。Attention-based Model 其实就是一个相似性的度量,当前的输入与目标状态越相似,那么在当前的输入的权重就会越大,说明当前的输出越依赖于当前的输入。而普通的模型可以看成所有部分的attention都是一样的。

  比如,我们期末考试的时候,我们需要老师划重点,划重点的目的就是为了尽量将我们的attention放在这部分的内容上,以期用最少的付出获取尽可能高的分数。

浅谈attention机制

5. 批归一化(Batch Normalization)的作用

  神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失。而Batch Normalization的作用是通过规范化的手段,将越来越偏的分布拉回到标准化的分布,使得激活函数的输入值落在激活函数对输入比较敏感的区域,从而使梯度变大,加快学习收敛速度,避免梯度消失的问题。

6. 什么是RNN / 循环神经网络为什么好?

深度学习之循环神经网络(RNN) — 理论与代码相结合

7. 深度学习当中,通常会finetuning已有的成熟模型,再基于新数据,修改最后几层神经网络权值,为什么?

  实践中的数据集质量参差不齐,可以使用训练好的网络进行特征提取。把训练好的网络当做特征提取器。

什么是fine-tuning?

8. DropConnect的原理?

  防止过拟合方法的一种,与dropout不同的是,它不是按概率将隐藏层的节点输出清0,而是对每个节点与之相连的输入权值以一定的概率清零。

9. Adam?

  Adam算法和传统的随机梯度下降不同。随机梯度下降保持单一的学习率更新所有的权重,学习率在训练过程中并不会改变。而Adam通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

10. 1*1 的卷积作用?

  1. 实现跨通道的交互和信息整合;
  2. 实现卷积核通道数的降维和升维;
  3. 实现多个feature map的线性组合;
  4. 实现与全连接层的等价效果;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值