往期回顾
常见的深度学习面试题及解答(一)
常见的深度学习面试题及解答(二)
1. 怎样提升网络的泛化能力?
- 从数据上提升性能:收集更多的数据,对数据做缩放和变换,特征组合。
- 从算法调优上提升性能:用可靠的模型诊断工具对模型进行诊断,权重的初始化,用小的随机数初始化权重。对学习率进行调节,尝试选择合适的激活函数,调整网络的拓扑结构,调节batch和epoch的大小,添加正则化的方法,尝试使用其它的优化方法,使用早停法。
2. 什么是 seq2seq model?
seq2seq属于encoder-decoder 结构的一种,利用两个RNN,一个作为编码,一个作为解码。编码负责将输入序列压缩成指定长度的向量,这个向量可以看作这段序列的语义,而解码负责根据语义向量生成指定的序列。
3. 激活函数的作用?
激活函数就是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。
4. 梯度消失梯度爆炸?
5. RNN容易梯度消失,怎么解决?
- 梯度裁剪: 既然在BP过程中会产生梯度消失(就是偏导无限接近0,导致长时记忆无法更新),那么最简单粗暴的方法,设定阈值,当梯度小于阈值时,更新的梯度为阈值。
- LSTM
6. LSTM与RNN有什么区别?
- 哪些细胞状态应该被遗忘
- 哪些新的状态应该被加入
- 根据当前的状态和现在的输入,输出应该是什么
7. 卷积层和池化层有什么区别?
卷积层 | 池化层 | |
---|---|---|
功能 | 提取特征 | 压缩特征图,提取主要特征 |
操作 | 卷积操作会改变输入特征图的通道数 | 不会改变输入的通道数 |
特征 | 权值共享:减少参数的数量,并利用了图像目标的位置无关性 |
8. 面试之深度学习中的过拟合问题
9. CNN为什么比DNN在图像识别更好?
DNN的输入是向量形式,并未考虑到平面的信息结构;CNN的输入可以是tensor,例如二维矩阵,通过filter获得局部特征,较好的保留了平面结构信息。
10. 神经网络为什么要用到交叉熵?
交叉熵就是用来判定实际的输出与期望的输出的接近程度。