\documentclass[a4paper]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\newtcolorbox{knowledgebox}[1]{enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black, coltitle=white, fonttitle=\bfseries, title=#1, attach boxed title to top left={yshift=-2mm, xshift=2mm}, boxrule=1pt, sharp corners}
\newtcolorbox{importantbox}[1]{enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black, coltitle=black, fonttitle=\bfseries, title=#1, sharp corners}
\newtcolorbox{warningbox}[1]{enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black, coltitle=white, fonttitle=\bfseries, title=#1, sharp corners}
\lstset{language=Python, basicstyle=\ttfamily\small, keywordstyle=\color{blue}, stringstyle=\color{red!60!black}, commentstyle=\color{green!60!black}, breaklines=true, frame=single, numbers=left, numberstyle=\tiny\color{gray}, captionpos=b, extendedchars=false}
\newcommand{\notetitle}{GRPO 下的 PG Loss 分析}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2025}
\newcommand{\videochannel}{五道口纳什}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约20分钟}
\newcommand{\videourl}{}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}

% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}
\begin{titlepage}\centering
{\Large 课程笔记\par}\vspace{1.2cm}{\huge\bfseries \notetitle\par}\vspace{0.8cm}{\large \noteauthors\par}\vspace{0.3cm}{\large \notedate\par}\vspace{1.2cm}
\ifdefempty{\videocoverpath}{}{\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par}
\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par\textbf{发布日期}：\videopublishdate\par\textbf{视频时长}：\videoduration\par
\ifdefempty{\videourl}{}{\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}
\tableofcontents\newpage

\section{引言}
本期分析 Policy Gradient Loss 在 GRPO setting 下的特性，解释为什么 PG Loss 围绕 0 震荡。

\begin{importantbox}{PG Loss 的震荡特性}
PG Loss 围绕 0 上下震荡是正常现象。RL 的真正 objective 是最大化期望奖励，PG Loss 只是代理损失。Rewards Curve 持续上升并最终收敛才是训练成功的标志。
\end{importantbox}

\section{GRPO 中的 PG Loss}
\subsection{Group Relative Policy Optimization}
GRPO 对同一 prompt 采样一组 response，计算组内的相对优势。这消除了对 value model 的依赖。

\subsection{Loss 围绕 0 震荡的原因}
PG Loss $= \mathbb{E}[r_t \cdot A_t]$。因为 Advantage $A_t$ 有正有负（好的动作 $A > 0$，差的 $A < 0$），期望值在 0 附近。随着策略改进，正负 advantage 的分布动态变化，导致 loss 持续震荡。

\subsection{本章小结}
PG Loss 的震荡是其数学本质决定的，不代表训练失败。关键指标是 Rewards Curve。

\section{REINFORCE 在 CartPole 上的验证}
本期最后用 REINFORCE 算法在 CartPole 环境上验证了上述分析：PG Loss 围绕 0 震荡，而 rewards 稳步提升。

\newpage
\section{训练判断：先看 reward，再看代理损失}
短讲里最容易被误解的一点，是把 PG loss 的波动当成训练失败。更合理的做法是把 reward、成功率和采样质量放在一起看：如果 reward 在升、采样轨迹越来越稳定，那么 loss 在 0 附近震荡并不是坏事，反而说明优势估计仍在持续推动策略分化。

\begin{knowledgebox}{最小监控面板}
\begin{itemize}
  \item Reward curve：判断策略是否真的变强
  \item Episode 长度/成功率：判断环境里是否学到了可复用行为
  \item PG loss：只作为辅助信号，不单独解释
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}
GRPO 或 REINFORCE 这类方法都提醒我们：代理损失的数值形态不等于训练成败。真正应该被优先解释的是 reward 和 rollout 质量是否持续改善。

\newpage
\section{总结与延伸}
\begin{enumerate}
  \item PG Loss 围绕 0 震荡是正常现象
  \item GRPO 通过组内相对优势消除 value model 依赖
  \item 训练监控应以 Rewards Curve 为主
\end{enumerate}
\end{document}
