<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>llm学习记录 on 学习笔记</title>
    <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/</link>
    <description>Recent content in llm学习记录 on 学习笔记</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 04 May 2026 00:57:51 +0800</lastBuildDate>
    <atom:link href="https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Test Workflow</title>
      <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/test-workflow/</link>
      <pubDate>Mon, 04 May 2026 00:57:51 +0800</pubDate>
      <guid>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/test-workflow/</guid>
      <description>&lt;p&gt;这是测试文章：Obsidian 写笔记 → Hugo 构建 → 自动部署。&lt;/p&gt;
&lt;p&gt;如果你在网站上看到这段文字，说明发布流程正常工作！&lt;/p&gt;</description>
    </item>
    <item>
      <title>agent-harness</title>
      <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/agent-harness/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0800</pubDate>
      <guid>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/agent-harness/</guid>
      <description>&lt;p&gt;harbor opencode&lt;/p&gt;</description>
    </item>
    <item>
      <title>ppo</title>
      <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/ppo/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0800</pubDate>
      <guid>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/ppo/</guid>
      <description>&lt;p&gt;ppo、grpo、gspo&lt;/p&gt;</description>
    </item>
    <item>
      <title>从强化学习到PPO的理论部分（学习笔记）</title>
      <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/%E4%BB%8E%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E5%88%B0ppo%E7%9A%84%E7%90%86%E8%AE%BA%E9%83%A8%E5%88%86%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0800</pubDate>
      <guid>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/%E4%BB%8E%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E5%88%B0ppo%E7%9A%84%E7%90%86%E8%AE%BA%E9%83%A8%E5%88%86%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid>
      <description>&lt;h1 id=&#34;从强化学习到ppo的理论部分学习笔记&#34;&gt;从强化学习到PPO的理论部分（学习笔记）&lt;/h1&gt;
&lt;p&gt;从强化学习到PPO的理论部分（学习笔记）1.强化学习的基本概念2.理论推导部分3.针对R(τ)n的优化3.1对R(τ)n引入时间步的考量3.2状态价值函数，动作价值函数，优势函数3.3时序差分和GAE4.Proximal Policy Optimization(PPO)邻近策略优化4.1On-policy和Off-Policy4.2重要性采样4.3最终的形式&lt;/p&gt;
&lt;p&gt;最近从头开始学习强化学习以及PPO，花了两天的时间才搞懂了一些基本的概念和流程。主要参考了B站UP主RethinkFun的《零基础学习强化学习算法：ppo》，在这里记录一下自己的学习笔记。&lt;/p&gt;
&lt;h4 id=&#34;1强化学习的基本概念&#34;&gt;1.强化学习的基本概念&lt;/h4&gt;
&lt;p&gt;State（状态），&lt;/p&gt;
&lt;p&gt;Action（动作），&lt;/p&gt;
&lt;p&gt;Environment（系统设定等环境），&lt;/p&gt;
&lt;p&gt;Agent（智能体或模型）&lt;/p&gt;
&lt;p&gt;Reward：奖励，指Agent在某个State下执行了某个Action与Environment交互之后得到的奖励,记为r&lt;/p&gt;
&lt;p&gt;Policy：策略，主要指Agent在某个State下执行各个Action的概率分布，记为$\pi_{\theta}(a|s)$&lt;/p&gt;
&lt;p&gt;Trajectory：轨迹，指在策略$\theta$下的某次具体的路径，也即Policy的一次采样值，记为$\tau$，由一连串的${{s_{1},a_1,s_2,a_2,\ldots}}$构成&lt;/p&gt;
&lt;p&gt;Return:回报，指某次Trajectory结束后得到的累积Reward&lt;/p&gt;
&lt;p&gt;所以&lt;strong&gt;强化学习的目标是&lt;/strong&gt;：&lt;strong&gt;训练一个Policy神经网络$\pi$,在所有状态State下，做出相应的Action，得到相应的Reward，使得Return的期望最大&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;或者表述为：&lt;strong&gt;训练一个Policy神经网络$\pi$,在所有的Trajectory下，Return的期望最大&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&#34;2理论推导部分&#34;&gt;2.理论推导部分&lt;/h4&gt;
&lt;p&gt;前面提到，强化学习的目标是最大化Return的期望，Return的期望可以表示为&lt;/p&gt;
$$  
E(R(\tau))_{\tau\in P_\theta(\tau)} = \sum_\tau R(\tau)*P_\theta (\tau)  
$$&lt;p&gt;而对于公式中的 $P_{\theta}(\tau)$ ,表示的是该策略下选到该轨迹的概率，根据Trajectory的定义，其可以表示为：&lt;/p&gt;
$$  
P_\theta (\tau) = \prod_{t=1}^T \pi_\theta(a_t|s_t)*p(s_{t+1}|s_t,a_t)  
$$&lt;p&gt;这里要怎么理解呢？根据Trajectory的定义，轨迹是由一连串的$s_1,a_1,s_2,a_2,\ldots,s_t,a_t$构成，因此可由某状态下执行某动作的概率*某个动作导致下一状态的概率连乘表示，其中$\pi_\theta(a_t|s_t)$由Policy决定（由下标也可以看出来），而$p(s_{t+1}|s_t,a_t)$由Environment决定。&lt;/p&gt;
&lt;p&gt;接着，我们知道在深度学习中，不管是求损失函数的最小值还是目标函数的最大值，都需要用到梯度下降法或者梯度上升法，所以这里我们来求$E(R(\tau))_{\tau\in P_\theta(\tau)}$的梯度&lt;/p&gt;
$$  
\begin{align*} \nabla_\theta E(R(\tau))_{\tau\in P_\theta(\tau)}&amp;= \nabla_\theta \sum_\tau R(\tau)*P_\theta (\tau) \\ &amp;=\sum_\tau R(\tau)*\nabla_\theta P_\theta(\tau)\\ \end{align*}  
$$&lt;p&gt;这里涉及到一个技巧：$\nabla ln(f(x)) = \frac{\nabla f(x)}{f(x)}$,因此我们可以用$P_\theta(\tau) \nabla_\theta ln(P_\theta (\tau))$替换掉公式中的$\nabla_\theta P_\theta (\tau)$,得到&lt;/p&gt;
$$  
\begin{align*} &amp;=\sum_\tau R(\tau)*P_\theta(\tau)\nabla_\theta ln(P_\theta(\tau))\\ &amp;=\sum_\tau R(\tau)*P_\theta(\tau)\sum_{t=1}^T\nabla_\theta ln\pi_\theta(a_t|s_t)\\ &amp;=E_{\tau\in P_\theta(\tau)}(R(\tau)\sum_{t=1}^T\nabla_\theta ln\pi_\theta(a_t|s_t)) \end{align*}  
$$&lt;p&gt;这里不难理解，用到了期望的基本定义；之后我们再次用到期望的一个性质：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello World</title>
      <link>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/hello-world/</link>
      <pubDate>Sun, 03 May 2026 00:00:00 +0800</pubDate>
      <guid>https://wyxbupt.me/posts/llm%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/hello-world/</guid>
      <description>&lt;p&gt;欢迎来到我的学习笔记博客。&lt;/p&gt;
&lt;p&gt;这里会记录课程整理、复习要点和实验总结。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
