Blog

Page 17 - Showing 5 of 87 posts

  • 拟牛顿法推导
    拟牛顿法推导
    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
  • Pyinstaller打包常见问题
    Pyinstaller打包常见问题
    Arrow right

    本文介绍了使用PyInstaller打包Python程序时遇到的常见问题及解决方案。首先,文章提供了PyInstaller的基本命令和参数解释,如-Fw用于生成单个可执行文件并隐藏控制台窗口,--add-data用于添加资源文件。接着,文章讨论了两个主要问题:一是由于使用Anaconda导致打包后的程序体积过大的问题,建议通过创建虚拟环境并仅安装必要库来解决;二是打包后缺少资源文件的问题,提出了两种解决方法:一种是编写hook脚本来指定需要包含的资源文件夹或文件;另一种是利用--add-data选项直接在命令行中指定要添加的数据路径和目标位置。

    🕒1 min read
      pyinstallervirtualenvhooksadd-data