\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}{DPO：从 Reward Model 到直接偏好优化}
\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{引言}
有了前两期关于 Reward Model 和分布视角的铺垫，本期介绍 DPO（Direct Preference Optimization）。

\begin{importantbox}{DPO 的核心思想}
DPO 将 RLHF 的两阶段（先训 RM，再用 RM 做 RL）合并为一步直接优化，绕过了显式的 Reward Model。
\end{importantbox}

\section{从 RLHF 到 DPO}
\subsection{RLHF 的两阶段}
\begin{enumerate}
  \item 搜集偏好数据 $\to$ 训练 Reward Model
  \item 用 RM 构造代理损失 $\to$ PPO 优化策略
\end{enumerate}

\subsection{DPO 的推导}
DPO 的关键洞察：最优策略 $\pi^*$ 与 reward function 之间存在闭式关系。利用这个关系，可以直接从偏好数据优化策略，无需显式 RM。

$$\mathcal{L}_{\text{DPO}} = -\mathbb{E}\left[\log \sigma\left(\beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)\right]$$

\subsection{本章小结}
DPO 通过数学推导将两阶段 RLHF 压缩为一步，是一个优雅的简化。

\newpage
\section{方法比较：简化流程不等于没有假设}
DPO 的吸引力在于它用一个更短的优化链条替代了 RLHF 的两阶段流程，但这不意味着它没有前提。它之所以成立，是因为我们接受了最优策略和 reward 之间的特定关系，并且愿意用 reference policy 与 KL 约束来保持训练稳定。

\begin{knowledgebox}{理解 DPO 时要保留的三点}
\begin{itemize}
  \item 它省掉的是显式 RM，不是偏好建模本身
  \item reference policy 仍然在目标里扮演稳定器角色
  \item 偏好数据质量依旧直接决定训练上限
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}
DPO 的“优雅”来自推导简洁，但实验时仍然要关注数据质量、reference 选择和偏好噪声，不能把它理解成零成本替代品。

\newpage
\section{总结与延伸}
\begin{enumerate}
  \item DPO 绕过显式 RM，直接从偏好数据优化策略
  \item 数学上等价于带 KL 约束的 RLHF
  \item 实现简单，效果与 RLHF 相当或更好
\end{enumerate}
\end{document}
