如何修复神经网络梯度爆炸问题? 蓝海大脑深度学习液冷服务器研究人员表示: 在深度神经网络中,梯度爆炸可以通过重新设计层数更少的网络来解决。 使用更小的批尺寸对网络训练也有好处。 在循环神经网络中,训练过程中在更少的先前时间步上进行更新(沿时间的截断反向传播,truncated Backpropagation through time)可以缓解梯度爆炸问题。 阅读全文 → 2022-12-26
如何确定是否出现神经网络梯度爆炸? 训练过程中出现梯度爆炸会伴随一些细微的信号,如: 模型无法从训练数据中获得更新(如低损失)。 模型不稳定,导致更新过程中的损失出现显著变化。 训练过程中,模型损失变成 NaN。 如果你发现这些问题,那么你需要仔细查看是否出现梯度爆炸问题。 以下是一些稍微明显一点的信号,有助于确认是否出现梯度爆炸问题。 训练过程中模型梯度快速变大。 训练过程中模型权重变 阅读全文 → 2022-12-26
神经网络中激活函数的真正意义? 1. 非线性:即导数不是常数。这个条件是多层神经网络的基础,保证多层网络不退化成单层线性网络。这也是激活函数的意义所在。 2. 几乎处处可微:可微性保证了在优化中梯度的可计算性。传统的激活函数如sigmoid等满足处处可微。对于分段线性函数比如ReLU,只满足几乎处处可微(即仅在有限个点处不可微)。对于SGD算法来说,由于几乎不可能收敛到梯度接近零的位置,有限的不可微点对于优化结果不会有很大影响。 3. 计算简单:非线性函数有很多。极端 阅读全文 → 2022-12-26
深度学习常用方法有哪些? 现在在应用领域应用的做多的是DNN,CNN和RNN。 DNN是传统的全连接网络,可以用于广告点击率预估,推荐等。其使用embedding的方式将很多离散的特征编码到神经网络中,可以很大的提升结果。 CNN主要用于计算机视觉(Computer Vision)领域,CNN的出现主要解决了DNN在图像领域中参数过多的问题。同时,CNN特有的卷积、池化、batch normalization、Inception、ResNet、DeepNet等一系列的发展也使 阅读全文 → 2022-12-24
如何缓解梯度消失和梯度膨胀(微调、梯度截断、改良激活函数等) 简言之,引起梯度消失和梯度爆炸的原因分别是:梯度消失:根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0 可以采用ReLU激活函数有效的解决梯度消失的情况,也可以用Batch Normalization解决这个问题。关于深度学习中 Batch Normalization为什么效果好?参见:深度学习中 Batch Normalization为什么效果好? 阅读全文 → 2022-12-24
广义线性模型是怎被应用在深度学习中? A Statistical View of Deep Learning (I): Recursive GLMs 深度学习从统计学角度,可以看做递归的广义线性模型。 广义线性模型相对于经典的线性模型(y=wx+b),核心在于引入了连接函数g(.),形式变为:y=g−1(wx+b)。 深度学习时递归的广义线性模型,神经元的激活函数,即为广义线性模型的链接函数。逻辑回归(广义线性模型的一种)的Logistic函数即为神 阅读全文 → 2022-12-24