【大模型】強化學習算法總結

角色和術語定義

  • State:狀態
  • Action:動作
  • Policy/actor model:策略模型,用于決策行動的主要模型
  • Critic/value model:價值模型,用于評判某個行動的價值大小
  • Reward model:獎勵模型,用于給行動打分
  • Reference model:參考模型,是初始的策略模型,用于計算更新后策略模型和初始的偏差

一個簡單的小故事

首先,舉個最簡單的例子:在考試中,學生是policy/actor model,努力獲得高分;老師是reward model,通過閱卷得到成績;根據成績發放零花錢的家長是critic/value model;第一次模擬考試的學生是reference model。
為什么根據成績發放零花錢的家長需要使用model呢?因為家長發放零花錢時,定的分數線不能是靜態不變的,也需要動態考慮到孩子成績的變化,比如第一次考試70分,那分數線可以定在80,第二次考了81分,分數線可以調整到85,并且對于不同的人,這個分數線也應該是差異化定制的。所以發放零花錢的家長是critic/value model,根據model去動態預測合適分數線,因此也是需要訓練更新的。
【至此,已經介紹完了PPO的故事場景】
但是家長覺得這種動態調整太費時費力了,需要一直觀察孩子的情況。所以提出在每次考試前,先給孩子做幾套模擬試卷,取平均分作為分數線。正式考完試之后計算成績和分數線的差距,決定零花錢怎么發。
【至此,已經介紹完了GRPO的優化】
有一次,家長突然發現孩子拿了100分,非常驚訝,調查后發現是作弊了。所以家長決定給孩子一些限制,要求孩子能力不能和初始時偏差太遠!也就是要循序漸進地進步,而不是通過作弊的方式拿到100分。
【以上,是PPO和GRPO中引入reference model的KL散度的原因】

可以看到,PPO和GRPO的不同點在于怎么去計算這個動態的分數線(也稱作優勢),其他部分幾乎一致。

對比監督學習和強化學習

在這里插入圖片描述

強化學習分類

在這里插入圖片描述

  • Value-based方法:相對早期的算法,比如DQN只能用于離散的動作空間,而輸出需要是連續值時,DQN則無法實現。
  • Policy-based方法:現在比較流行的算法,比如PPO、GRPO,也是這篇博客的重點。這種方法直接學習一個策略函數(actor model),在給定的狀態下,輸出動作的概率分布π(a∣s)\pi(a|s)π(as)

在這里插入圖片描述

基于Policy的強化學習

Actor-Critic架構

  • Actor(策略模型):在給定的狀態sss下,輸出動作的概率分布π(a∣s)\pi(a|s)π(as)
  • Critic(價值函數):在狀態sss下,預測長期累積獎勵的期望值V(s)V(s)V(s)。這里很容易疑惑,critic model那reward model的區別是什么?簡單來說,reward model通常是環境或人工設計的單步即時獎勵信號,無法衡量長期收益。所以critic model的目標就是學習這個V(s)V(s)V(s),以更好地指導actor優化方向。
  • Advantage(優勢函數):在給定的狀態sss下,動作aaa比平均水平好多少,計算方式是A(s,a)=Q(s,a)?V(s)A(s,a)= Q(s,a)-V(s)A(s,a)=Q(s,a)?V(s)。優勢函數可以給actor帶來精確的反饋信號。

這里再舉一個直觀的例子:actor是運動員,只負責行動,不知道自己做的好不好;critic是教練員,通過當前局勢狀態,計算價值,用于評估當前這個局面怎么樣,critic會去預測從當前狀態出發,按照當前策略一直玩下去,最終大概能得多少分,所以critic不決定動作,只負責評價。那教練員如何給運動員提供精確的反饋呢?不能只說“好”或“壞”,而要說“比我預想的要好/壞多少”,這個值就是上面說的advantage。

下面介紹PPO和GRPO算法,首先強烈推薦大家先看博主給的關于強化學習的story:一個故事秒懂強化學習與GRPO!

PPO算法

PPO則是基于上面的actor-critic架構,其中critic/value model是一個可訓練的模型,一般用actor+linear層或reward model進行初始化(所以通常參數規模和actor一致)。
為了避免actor的更新過程不穩定(更新程度太大),PPO引入了 clipping機制:
在這里插入圖片描述
一般來說,?=0.2\epsilon=0.2?=0.2
其中rt(θ)=πθ(at∣st)πθold(at∣st)r_t(\theta)=\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}rt?(θ)=πθold??(at?st?)πθ?(at?st?)?,用于衡量新舊策略選擇動作ata_tat?的概率比,比如rt(θ)>1r_t(\theta)>1rt?(θ)>1,說明新策略更傾向于選擇ata_tat?
rt(θ)r_t(\theta)rt?(θ)是其實是重要性采樣,目標是復用舊策略收集的數據,通過新舊策略的概率比修正舊數據的權重,以提高效率。
在PPO中,advantage是由GAE算法得到的【TODO:涉及到時序差分算法】,需要輸入critic/value model的輸出vvv以及reward rrr。注意這里的reward中包含了KL散度項,目的是保證actor和reference model不要偏離太遠:

在這里插入圖片描述

PPO總體優化目標如下(最大化):
在這里插入圖片描述

GRPO算法

GRPO相比于PPO,去掉了critic/value model,并且通常reward model可以是自定義的規則(比如DeepSeek-R1-Zero中直接判斷數學題答案對錯),因此也不需要用單獨的模型了。這對于強化學習訓練來說,省下了可觀的顯存。

在這里插入圖片描述

GRPO的核心是引入了一個 “組相對策略” 的概念,對于每一個輸入的prompt,會復制多份,并且分別采樣生成多個completion,得到reward,把它們看作一組。在組內,將每個輸出句子的normalized reward當作每個句子(所有token)的advantage。

在這里插入圖片描述

在這里插入圖片描述

GRPO總體優化目標如下(最大化):

在這里插入圖片描述

在這里插入圖片描述

不同于PPO,GRPO中的KL散度項不是在reward的計算中,而是直接寫在優化目標中用于actor的更新。

PPO與GRPO結構圖

在這里插入圖片描述

參考資料

  • 無需RL基礎理解 PPO 和 GRPO
  • https://github.com/yogyan6/cartpole-DQN
  • PPO基礎介紹
  • 【大白話03】一文理清強化學習RL基本原理 | 原理圖解+公式推導
  • 【大白話04】一文理清強化學習PPO和GRPO算法流程 | 原理圖解
  • PPO已經有了reward model 為何還要有critic model?
  • 從原理到代碼,帶你掌握DeepSeek GRPO!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92749.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92749.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92749.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于梅特卡夫定律的開源鏈動2+1模式AI智能名片S2B2C商城小程序價值重構研究

摘要:梅特卡夫定律揭示了網絡價值與用戶數量的平方關系,在互聯網經濟中,連接的深度與形式正因人的參與發生質變。本文以開源鏈動21模式、AI智能名片與S2B2C商城小程序的協同應用為研究對象,通過實證分析其在社群團購、下沉市場等場…

Ubuntu22.04安裝CH340驅動及串口

一、CH340驅動安裝 1.1 查看USB設備能否被識別 CtrlAltT打開終端: lsusb 插入設備前: 插入設備后: 輸出中包含ID 1a86:7523 QinHeng Electronics CH340 serial converter的信息,這表明CH340設備已經被系統識別。 1.2 查看USB轉串…

CPU緩存(CPU Cache)和TLB(Translation Lookaside Buffer)緩存現代計算機體系結構中用于提高性能的關鍵技術

CPU緩存(CPU Cache)和TLB(Translation Lookaside Buffer)緩存是現代計算機體系結構中用于提高性能的關鍵技術。它們通過減少CPU訪問數據和指令的延遲來提高系統的整體效率。以下是對這兩者的詳細解釋: 1. CPU 緩存 CPU…

唐揚·高并發系統設計40問

課程下載:https://download.csdn.net/download/m0_66047725/91644703 00開篇詞 _ 為什么你要學習高并發系統設計?.pdf 00開篇詞丨為什么你要學習高并發系統設計?.mp3 01 _ 高并發系統:它的通用設計方法是什么?.pdf …

基于Spring Data Elasticsearch的分布式全文檢索與集群性能優化實踐指南

基于Spring Data Elasticsearch的分布式全文檢索與集群性能優化實踐指南 技術背景與應用場景 隨著大數據時代的到來,海量信息的存儲與檢索成為各類應用的核心需求。Elasticsearch 作為一款分布式搜索引擎,憑借其高可擴展、高可用和實時檢索的優勢&#x…

Linux系統編程——基礎IO

一些前置知識:文件 屬性 內容文件 分為 打開的文件、未打開的文件打開的文件:由進程打開,本質是 進程與文件 的關系;維護的文件對象先加載文件屬性,文件內容一般按需加載未打開的文件:在永久性存儲介質 —…

力扣164:最大間距

力扣164:最大間距題目思路代碼題目 給定一個無序的數組 nums,返回 數組在排序之后,相鄰元素之間最大的差值 。如果數組元素個數小于 2,則返回 0 。 您必須編寫一個在「線性時間」內運行并使用「線性額外空間」的算法。 思路 這道題的思路…

Redis類型之Hash

1.hash常用操作 這里還是要強調,redis的類型指的是value的類型。故而這里的hash是把key這一層組織完成以后,到了value這一層,value的其中一種類型還可以是hash。1.1 HSET 和 HGETHSET:設置hash類型的keyHSET key field value [fie…

Apache Pulsar性能與可用性優化實踐指南

Apache Pulsar性能與可用性優化實踐指南 一、技術背景與應用場景 隨著微服務、實時計算和大數據平臺的普及,消息系統承擔了海量數據的傳輸與解耦任務。Apache Pulsar作為新一代分布式消息與流處理系統,擁有多租戶、持久化存儲和靈活一致性的特點&#xf…

工單分類微調訓練運維管理工具原型

簡述需求進展之前,我嘗試用Longformer模型來訓練工單分類系統,但問題很快就暴露出來:Longformer訓練時間長得讓人抓狂,每次訓練只能針對一個租戶的數據,無法快速適配多個租戶的需求。切換一個使用相同標簽的租戶還能夠…

@CacheConfig??當前類中所有緩存方法詳解

CacheConfig??當前類中所有緩存方法詳解在 Spring Cache 抽象中,CacheConfig 是一個??類級別注解??,用于為??當前類中的所有緩存方法(如 Cacheable、CachePut、CacheEvict)提供默認配置??。其核心作用是??避免在每個方…

正確使用SQL Server中的Hint(10)—Hint簡介與Hint分類及語法(1)

9.5. 正確使用Hint 9.5.1. Hint簡介 與Oracle等其他關系庫類似,SQL Server中,也提供了諸多Hint用于支持SQL調優,那就是通過正確應用Hint技術,可以指示CBO為SQL語句產生和選擇最合理而高效的查詢計劃。Hint確實可以做到很容易的對CBO產生影響,但因為多數場景中,CBO都能為…

Redis的分布式序列號生成器原理

Redis 分布式序列號生成器的核心原理是利用 Redis 的原子操作和高性能特性,在分布式系統中生成全局唯一、有序的序列號。其設計通常結合業務需求(如有序性、長度限制、高并發),通過 Redis 的原子命令(如 INCR、INCRBY&…

2025年SEVC SCI2區,基于深度強化學習與模擬退火的多無人機偵察任務規劃,深度解析+性能實測

目錄1.摘要2.問題定義3.SA-NNO-DRL方法4.結果展示5.參考文獻6.算法輔導應用定制讀者交流1.摘要 無人機(UAV)因其高自主性和靈活性,廣泛應用于偵察任務,多無人機任務規劃在交通監控和數據采集等任務中至關重要,但現有方…

汽車娛樂信息系統域控制器的網絡安全開發方案

引言1.1 項目背景隨著汽車行業的快速發展和智能化、網聯化的趨勢日益明顯,汽車娛樂信息系統(In-Vehicle Infotainment System,IVIS)已經成為現代汽車的重要組成部分。汽車娛樂信息系統不僅提供了豐富的多媒體功能,如音…

【論文閱讀】Deep Adversarial Multi-view Clustering Network

摘要多視圖聚類通過挖掘多個視圖之間的共同聚類結構,近年來受到了越來越多的關注。現有的大多數多視圖聚類算法使用淺層、線性嵌入函數來學習多視圖數據的公共結構。然而,這些方法無法充分利用多視圖數據的非線性特性,而這種特性對于揭示復雜…

Redis - 使用 Redis HyperLogLog 進行高效基數統計

文章目錄引言HyperLogLog 工作原理Spring Boot 集成 Redis1. 添加依賴2. 配置 Redis 連接3. Redis 配置類HyperLogLog 實戰應用1. 基礎操作服務類2. 網站日活躍用戶統計3. 性能測試與誤差分析應用場景分析適用場景不適用場景性能優化技巧與傳統方案對比結論引言 在數據分析和監…

後端開發技術教學(三) 表單提交、數據處理

上回:後端開發技術教學(二) 條件指令、循環結構、定義函數 -CSDN博客 必要資源: trae中文版下載網址: TRAE - The Real AI Engineer phpStudy 2018 : phpStudy - Windows 一鍵部署 PHP 開發環境 小皮出品 目錄 一、表單提交 1.1 get & post 1.…

Python訓練Day39

浙大疏錦行 圖像數據的格式:灰度和彩色數據模型的定義顯存占用的4種地方 模型參數梯度參數優化器參數數據批量所占顯存神經元輸出中間狀態 batchisize和訓練的關系 一、 圖像數據的介紹 圖像數據,相較于結構化數據(表格數據)他的特…

十八、MySQL-DML-數據操作-插入(增加)、更新(修改)、刪除

DML數據操作添加數據更新(修改)數據刪除數據總結代碼: -- DML:數據操作語言-- -- DML:插入數據-insert -- 1.為tb_emp表的username,name,gender 字股插入值insert into tb_emp(username,name,gender,create_time,update_time) values (Toki,小時,2,now()…