Fanyi's Blog


109 posts21–30 · Page 3 of 11
Variational Autoencoder (VAE)
最开始的文章是 (Kingma & Welling, 2014)。 苏神博客亦有记载:(苏剑林, 2018a, 2018b)。 其他参考资料:(Grover & Ermon, 2018)。 给定样本 \(x_i\),后验分布 \(p_{\phi}(z\mid x_i)\sim \mathcal{N}(\mu_i, \sigma^2_i I)\)。其中我们希望 \(p_\phi(z)\sim\mathcal{N}(0, I)\)。 构建网络 \(\left<\mu_k, \log \sigma_k^2\right>=\phi(x_i)\)。 如果酱紫直接训的话,因为取正态分布的时候会带来噪声,所以模型肯定是希望 \(\sigma^2_k\) 越小越好,逐渐的会退化为普通的 autoencoder。 所以我们希望 \(p_\phi(z)\sim\mathcal{N}(0, I)\),这样子加上…
The Theoretical Minimum: Classical Mechanics
在 Lagrangian mechanics 中,我们尝试用一个函数 \(\mathcal{L}(x, \dot{x}, t)\) 来描述系统的动力学。这个函数我们叫 Lagrangian。对于很多非相对论、保守力系统,并且势能不依赖速度时,常见的 Lagrangian 是 其中 \(T\) 是动能,\(V\) 是势能。书里面写的是 \(\mathcal{L}(x, \dot{x})\),表示 Lagrangian 没有显含时间,比如说势能场和时间无关这种。 The action of a trajectory is written The Principle of Least Action 讲的是,物体运动轨迹的真实路径是在起点和终点固定的所有可能路径中,使 action stationary 的路径,也就是 \(\delta\mathcal{A}=0\)。所以这里的 Least…
Reinforcement Learning as a Co-Design of Product and Research
主讲人:Karina Nguyen Canvas:从普通的 next-token prediction 到 complex tasks 的转变。让用户和模型交流的方式更加多样(Training the model to become a collaborator) Two ways of building research-driven products: 这个是 \(\mathbb{P}(\text{I Know})\) / Calibration 的例子: 这个是 more humane command line 的例子: Gives opinions but with caveats 尽量不要直接说 “I don't actually have a point of view” 在有争议的问题上,而是要适当的发表自己的观点,并提出这个观点有 bias More nuanced…
Reinforcement Learning
Reinforcement learning 关心的是如何通过与环境交互,学到让长期期望 return 更高的 policy。这组笔记沿着「估计梯度 → 更新策略 → 用于语言模型 → 处理采样偏差」展开。 前两篇是基础主线。熟悉 policy gradient 和 PPO 后,可以直接阅读 LLM 应用或 mismatch 专题。 上面的主线显式优化 policy。这里保留 value-based 方法的开头,以及把 policy optimization 用于 diffusion models 的阅读入口。 之前其实我们都显式维护一个 \(\pi_\theta\),也可能通过 \(\mathcal V\) 和 \(\mathcal Q\) 来指导这个 policy 的更新。 那其实我们能不能直接根据 \(\mathcal Q\) 来选 action?比如先选定一个最大值对应的…
Reinforcement Learning: LLM Post-training
这篇把 policy gradient 与 advantage estimation 和 PPO 用到语言模型中,整理 RLHF、DPO 与 GRPO 的关系。部分论文与实现笔记仍未完成,保留原来的待续标记。 系列导读 · 上一篇 · 下一篇 把 RL 的交互过程放到文本生成中,state 是 prompt 与已生成的 prefix,action 是下一个 token。一条完整回答可以得到 reward,也可以参与偏好比较。下面先看从人类偏好训练 reward model、再用 PPO 更新策略的路径,接着整理 DPO 和 GRPO。 这里把 reward model、reference policy 与 PPO 的更新限制放在同一个训练流程中理解。 Learning to summarize from human feedback (Stiennon et al., 2020) /…
Reinforcement Learning: Policy Gradient 与 Advantage Estimation
Reinforcement learning 中,一个 action 不只带来眼前的 reward,还会改变后续能遇到的 state。这篇从轨迹的期望 return 出发,依次推导 REINFORCE、reward-to-go、baseline、actor-critic 和 GAE,回答如何从采样轨迹构造策略的梯度。 系列导读 · 下一篇 先明确策略在优化什么,再区分几类算法如何表示和改进这个策略。 我们把 \(\langle s_t,a_t\rangle\) 打包起来,在 Markov 环境和只依赖当前 state 的策略下,其实它就构成了一个 Markov chain。记一条轨迹为 \(\tau=(s_1,a_1,\ldots,s_T,a_T,s_{T+1})\): 这里 \(\pi_\theta(a_t\mid s_t)\) 是策略,\(\mathbb P\) 是环境转移;初始状态…
Reinforcement Learning: 从旧策略数据到 PPO
上一篇 从采样轨迹构造了 policy gradient 和 advantage estimate。这篇接着回答:策略已经变化后,旧数据还能怎么用,以及一轮更新应该走多远。沿用 \(\pi_\theta(a\mid s)\) 表示当前策略,\(\hat{\mathcal A}(s,a)\) 表示求导时固定的 advantage estimate;轨迹记为 \(\tau\),总 reward 为 \(r(\tau)\)。 系列导读 · 上一篇 · 下一篇 有了 advantage estimate,还要决定如何使用一批轨迹更新策略。先看旧数据与当前策略之间的分布差异,再看 TRPO 和 PPO 如何限制单轮更新的幅度。 上一篇的梯度估计 使用 on-policy 数据。但真实在训练的时候,我们很难做到稍稍改一点 \(\theta\),就重新生成一堆新的 \(\tau\)。这样是非常…
Reinforcement Learning: Training-inference Mismatch 与 Score Centering
Policy gradient 通常从当前策略采样,或者像 importance sampling 那样显式处理分布差异。这篇专门讨论 LLM 的 sampler 与 trainer 不一致时,更新中会出现什么偏差,以及 Score Centering 能修正其中哪一部分。阅读时需要熟悉 baseline;涉及 group statistics 的讨论可以对照 GRPO。 系列导读 · 上一篇 On-policy policy gradient 的无偏性依赖一个条件:产生 action 的 distribution,必须与计算 \(\nabla_\theta\log\pi_\theta\) 的 distribution 对得上。 对 LLM 来说,rollout engine 和 trainer 即使拿着同一份权重,也可能因为量化、不同的 kernel 或数值计算顺序,给出不同的 next…
2021 Zhejiang Gao Kao Calculus
Let \(a, b\) be real numbers, and \(a>1\). Consider the function \(f(x)=a^x-bx+e^2\) (\(x\in\mathbb{R}\)). Note: The derivative of \(f(x)\) is \(f''(x)=a^x\ln^2 a>0\), so \(f'(x)\) is an strictly increasing function. When \(b<0\), \(f'(x)>\lim_{x\to-\infty}f'(x)=0\), so \(f(x)\) is an strictly increasing function. When \(b\ge 0\), solving \(f'(x)=0\) we can get \(x=\log_a\frac{b}{\ln a}\). Since…
Maxwell's Equations
要学不完了。 简单记一点点。 由于 MathJax 居然不支持多重的环积分,我下面所有的多重环积分全部用 \(\oint\) 来表示,能看懂就行。没时间调了啊啊啊啊啊啊啊啊来不及了要考试了啊啊啊啊啊啊啊啊 这样子打: 虽然有点抽象,但你就说打没打出来吧( 2026/02/18 update: 重写了 blog,把 MathJax 升级的 MathJaX 4 了,貌似现在可以打出来了: 这个 \(\varepsilon_0\) 其实是真空的电容率。 直观理解就是每个电荷 \(q\) 能产生 \(\frac{q}{\varepsilon_0}\) 的电场线。 他能推库仑定律,就是你考虑一个点电荷 \(q\) 为中心,半径为 \(r\) 的球面,表面积是 \(4\pi r^2\),然后因为整个球是中心对称的,于是我们就有: 于是乎: 如果不是真空,也就是如果有电解质(Dielectric,记住…