海信一面面经

1.BN和LN的区别

2.什么情况下会发生梯度爆炸,如何解决(我们初始化的w是很大的数,w大到乘以激活函数的导数都大于1,那么连乘后,可能会导致求导的结果很大,形成梯度爆炸。 梯度截断:首先设置梯度阈值:clip_gradient,在后向传播中求出各参数的梯度,不直接用梯度进行参数更新,求梯度的L2范数,然后比较范数||g||与clip_gradient的大小,如果范数大,求缩放因子clip_gradient/||g||,由缩放因子可以看出梯度越大,缩放因子越小,就可以很好的控制梯度的范围。最后将梯度乘以缩放因子得到最后需要的梯度。L1范数是指向量中各个元素绝对值之和,L2范数是指向量各元素的平方和然后求平方根。

2、可以通过添加正则项,避免梯度爆炸。正则化是通过对网络权重做正则限制过拟合,仔细看正则项在损失函数的形式:regularization 公式:

Loss=(y−WTx)2+α∣∣W∣∣2,其中,α 是指正则项系数,因此,如果发生梯度爆炸,权值的范数就会变的非常大,通过正则化项,可以部分限制梯度爆炸的发生。

  3、使用LSTM等自循环和门控制机制,避免梯度消失

  4、优化激活函数,譬如将sigmold改为relu,避免梯度消失)

  5、使用残差网络,避免梯度消失

3.网络收敛很慢可以用什么方法解决:

为了解决收敛速度慢的问题,我们可以从以下三个方面入手:

数据预处理:对于训练数据,可以尝试进行数据清洗、增强、扩充等操作,以提高数据的质量,减少噪声和不平衡现象,从而帮助模型更快地收敛。

优化模型:可以根据任务需求,选择合适的模型结构,避免过度复杂化,以减少计算量和训练时间。同时,可以考虑引入正则化、dropout等技术,以防止过拟合,提高模型的泛化能力。

改进训练代码实现:可以选择合适的优化算法,如随机梯度下降(SGD)、Adam等,并合理设置学习率和批量大小,以加快训练速度。同时,可以尝试使用并行化、分布式等方法,利用多GPU或者多机进行训练,以提高计算效率。
4.dropout为什么能起到正则化
5.用了什么优化器,Adam的原理是什么,Adam为什么可以自适应调节
6.数据量很大的话怎么构建图神经网络
目前状态是在等企业文化面,但面的时候感觉答的不是很好
全部评论
。。。为什么问得这么八股
点赞 回复 分享
发布于 2023-10-30 12:35 天津
再加点计算推导比得上字节了
点赞 回复 分享
发布于 2023-10-30 16:26 北京
lz昨天电话面试的吗,现在状态是啥了?
点赞 回复 分享
发布于 2023-10-31 13:14 上海

相关推荐

评论
3
20
分享
牛客网
牛客企业服务