1. 如何理解反向传播?解释其作用机制?
2. 请用Python实现MLP的正向和反向传播机制
3. 什么是梯度消失和梯度爆炸?
4. 怎么解决梯度消失问题?
5. 模型的超参数是什么?它和参数有什么不同?
1. 如何理解反向传播?解释其作用机制?
正向传播得到预测值,预测值和真实值存在差异,通过反向传播算法更新各层学到的权重参数。反向传播算法将损失函数的信息沿网络层向后传播用以计算梯度,对各层权重参数进行更新。
2. 请用Python实现MLP的正向和反向传播机制
2. 请用Python实现MLP的正向和反向传播机制,一般面试不会手写这样的代码,但是如果面试官或者面试岗位比较看重底层优化和实现能力就必须会写
3. 什么是梯度消失和梯度爆炸?
在反向传播时,网络层中权重更新梯度数值很小,就是梯度消失;数值很大就是梯度爆炸。梯度消失导致网络更新速率慢,没法学到有效信息;梯度爆炸导致学习崩溃不收敛
导数大于1和小于1的情况,梯度逐层叠加(指数级叠加)就出现了梯度消失和梯度爆炸的问题
4. 怎么解决梯度消失问题?
梯度消失原因:1、BP链式法则求导 2、梯度消失加网络较深
激活函数的选择,网络模型结构的优化(加入残差结构),初始化权重,采用BN层
5. 模型的超参数是什么?它和参数有什么不同?
超参数是人为预设的,参数通过超参数的设定自动学习的得到。
超参数包括网络层数、神经元数、损失函数、激活函数、梯度优化算法等
超参数模型外部配置,不能用数据估计得到;参数可以用数据估计或模型训练得到