神经网络中的gradient check是什么意思?

  统计/机器学习 深度学习 人工神经网络    浏览次数:4781        分享
2

神经网络中的gradient check是什么意思?就是检查梯度吗?为什么要查梯度?



 

七号信仰   2017-10-19 22:19



   3个回答 
4

主要是解决vanishing gradient problem。大概意思是backpropogation通过链式规则把gradient从输出端的loss function要反向传输到第一层的参数。传输过程中,gradient会逐渐减小或增大,会导致第一层的参数收到的gradient过小或过大。还有个主要原因是所有参数用同样的learning rate。如果用动态的learning rate,会一定程度解决问题。

解决的方法有:

1. Resnet,加一些bypass的路径,让gradient能通过较少层达到前几层的参数。

2. Relu比sigmoid传输gradient更快。记忆中,AlexNet论文中说Relu收敛比sigmoid快3倍。

3. 更好的参数初始值。让链式规则中的gradient乘上系数的绝对值集中在1,也就是Jacobian 矩阵元素的绝对值大概为1。参考He Kaiming的论文

4. 在中间层增加一些辅助的loss function,让辅助的gradient能提前传到前面的层。有些论文叫hierarchical learning。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-07-31 02:11

3

人工神经网络是个非常复杂的结构,一层层叠加而成。

复杂就意味着在实施人工神经网络的时候需要格外小心,其中一个步骤就是手动检查反向传播(backpropagation)是否正确运行。

所以我们就要手动计算和比较真实的梯度和程序中返回的梯度值,以确保其正确。


SofaSofa数据科学社区DS面试题库 DS面经

abuu   2017-10-24 13:59

2

可以参考下stanford这篇文章Gradient checking and advanced optimization


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2017-10-24 04:47



  相关讨论

深度学习和人工神经网络是一回事吗?

wide-deep模型里的wide和deep分别是指什么意思?

吴恩达深度学习第一课第四周作业L层结果收敛在0.64的问题

神经网络中的Dropout和Bagging

为什么RNN会有梯度消失的问题,LSTM是怎么解决梯度消失的?

请问深度学习算法中的梯度消失的原理是什么?如何能通俗理解

前馈神经网络如何选择隐藏层的数量

神经网络模型里训练和推理是什么意思?

深度学习模型的“蒸馏”是什么意思?

CNN和RNN分别是怎么共享权重的?

  随便看看

推荐系统中的召回(recall)是什么意思?

dropout rate一般设置多大?

pip install opencv-python失败,难道非要编译安装?

推荐系统有哪些常用的评价标准

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容