Blog

Page 17 - Showing 5 of 88 posts

  • Adam优化方法显存占用情况
    Adam优化方法显存占用情况
    Arrow right

    Adam优化方法显存占用情况。一般来说,Adam用到的信息更多,所以需要的内存占用更大。曾有个实验,Optimizer选择SGD的时候,Batch Size能选择20,但是换成Adam时候,Batch Size只能选择2。Adam的自适应体现之处在于指数平滑,缓解了梯度方向剧变,使收敛路径更平滑一点。

    🕒1 min read
      Adam显存占用SGDBatch Size指数平滑动量
  • 拟牛顿法推导
    拟牛顿法推导
    Arrow right

    本文介绍了拟牛顿法的两种主要形式:BFGS法和L-BFGS法。BFGS法利用曲率信息来预处理梯度,从而避免了传统方法中对Hessian矩阵进行完整计算的需要。L-BFGS法进一步优化了这种预处理,通过仅保存最近m次迭代的曲率信息来计算Hessian矩阵的近似值,显著减少了内存使用和计算量。

    🕒3 min read
      拟牛顿法BFGS法L-BFGS法曲率信息Hessian矩阵存储限制
  • BatchNorm和Dropout在训练和测试的区别
    BatchNorm和Dropout在训练和测试的区别
    Arrow right

    本文探讨了BatchNorm和Dropout在训练和测试阶段的区别,并解释了它们各自的作用。BatchNorm通过滑动平均计算全局均值和方差,用于加快数值稳定性和加速训练过程。同时,它保留这些参数至测试阶段以供使用。Dropout则在训练过程中对神经元输出进行随机冻结,减少过拟合,并在测试时将输出结果放缩1-r倍,保证激活函数输入的稳定。文章还指出Dropout的本质是Bagging思想,通过随机选择不同的神经元来降低模型的方差。

    🕒1 min read
      BatchNormDropout训练测试方差Bagging
  • KL散度,交叉熵和编码之间的关系
    KL散度,交叉熵和编码之间的关系
    Arrow right

    本文介绍了KL散度与交叉熵的关系,指出信息量的期望为$-log(p)$,而熵是期望的和。通过KL散度衡量两个概率分布的差异,并解释了其非对称性和不对称性。进一步地,文章探讨了信息熵与编码之间的关系,以及如何利用香农编码定理来计算熵,从而导出平均编码长度的概念。最后,文章讨论了条件熵和极大似然估计在交叉熵损失函数中的应用,强调了交叉熵作为损失函数的另一种理解。

    🕒1 min read
      KL散度交叉熵信息熵编码条件熵对数几率回归损失函数
  • 关于梯度消失/爆炸产生原因和缓解办法
    关于梯度消失/爆炸产生原因和缓解办法
    Arrow right

    本文探讨了神经网络中梯度消失/爆炸产生的原因及其缓解方法。首先,文章指出梯度下降法在处理复杂网络时会遇到梯度消失或爆炸的问题,这主要是由于链式求导和梯度爆炸/消失导致的。接着,文章列举了几种常见的改进方法:预训练加微调、梯度裁剪和正则化、使用批规范化(batchnorm)、残差结构以及LSTM等。这些方法旨在优化神经网络的训练过程,减少梯度消失或爆炸的风险,提高模型的性能。

    🕒1 min read
      梯度消失/爆炸神经网络链式求导梯度下降预训练微调梯度裁剪和正则化批规范化残差结构LSTM