Rpengの博客
文章
标签
项目
小工具
关于
文章
标签
项目
小工具
关于
搜索
Tag: 数学
拟牛顿法推导
11/13/2022
·
约 4676 字
·
10 分钟
数学
深度学习
本文介绍了拟牛顿法的两种主要形式:BFGS法和L-BFGS法。BFGS法利用曲率信息来预处理梯度,从而避免了传统方法中对Hessian矩阵进行完整计算的需要。L-BFGS法进一步优化了这种预处理,通过仅保存最近m次迭代的曲率信息来计算Hessian矩阵的近似值,显著减少了内存使用和计算量。...
常见PEFT方法原理
12/14/2023
·
约 2356 字
·
5 分钟
数学
深度学习
AI
本文讨论了在大规模通用数据集上训练的LLM模型微调方法,特别是如何通过适配器(Adapter)、前缀(Prefix)和引导词(Prompt)等方法来适应特定任务。特别介绍了微软提出的低秩自适应(LoRA)技术,该方法通过分解更新量矩阵为两个低秩矩阵的乘积来减少运算量,并取得了与全量微调相近的效果。文章还探讨了LoRA的具体原理、应用以及面临的挑战。...
KL散度,交叉熵和编码之间的关系
7/13/2022
·
约 2381 字
·
5 分钟
数学
深度学习
本文介绍了KL散度与交叉熵的关系,指出信息量的期望为$-log(p)$,而熵是期望的和。通过KL散度衡量两个概率分布的差异,并解释了其非对称性和不对称性。进一步地,文章探讨了信息熵与编码之间的关系,以及如何利用香农编码定理来计算熵,从而导出平均编码长度的概念。最后,文章讨论了条件熵和极大似然估计在交叉熵损失函数中的应用,强调了交叉熵作为损失函数的另一种理解。...
Rand7生成Rand10
8/31/2024
·
约 1752 字
·
4 分钟
数学
本文介绍了如何使用数学原理和C++代码生成等概率的随机数。首先,通过数学公式$(randX() - 1) * Y + randY()$可以生成等概率的$[1, X * Y]$范围内的随机数。证明过程基于$randX()$和$randY()$分别生成$[1, X]$和$[1, Y]$之间的等概率随机数。联合概率表展示了如何从这些随机数中采样得到均匀分布的$[1, XY]$之间的随机数。接着,文章提供了使用C++编写的代码示例,演示了如何通过构造特定表达式来生成在指定范围内的均匀随机数。然而,这种方法效率较低,因为只有当采样到$[1, 10]$之间时才会停止,而$[11, 49]$之间的数会被丢弃。为了提高效率,文章提出了一种优化方法,通过模除操作将范围缩小到$[1, 10]$,并进一步优化为只采样$[41, 49]$之间的数,从而提高了效率。最后,文章还探讨了从进制的角度解决问题的方法,指出如果给定$rand1()$只能生成$[0, 1]$之间的均匀随机数,那么可以通过二进制编码的方式生成$[a, b]$之间的均匀随机数。...