影片狀態:已附影片。 這篇依 Stanford Online 公開的 Spring 2026 第 18 堂錄影的英文字幕寫成,公式記號對照 2026 主講義第 19 章與第 21 章;我沒看到板書畫面,板書上的式子是靠字幕前後文與講義還原的。YouTube 標題的主題文字(GMM (EM), PCA)與內容不符,這支影片實際講的是強化學習基礎與 policy gradient,以下依實際內容。
這是 Stanford CS229 導讀裡強化學習的第一堂,接在第 16 堂(Attention 變體、MoE 與提示用法)之後(第 17 堂是沒有公開的客座講座)。這堂由 Tengyu Ma 主講:春季與他分堂授課的 Chris Ré 在第 10 堂結尾說那是他這學期最後一堂。以下簡稱「講者」。
前面十幾堂的模型都在做預測:給輸入、吐輸出、跟標籤比。這堂換了題型,模型要連續做很多個決定,每個決定都會改變它接下來面對的局面,而且沒有人告訴它每一步的正確答案,只有事後一個分數。先備是期望值、條件機率、鏈鎖律與 log 的微分,另外要會解兩三個未知數的線性方程式。讀完之後你應該能做三件事:把一個小型決策問題寫成 MDP,替一個固定策略列出並解出 Bellman 方程式,以及從頭推出 policy gradient 的公式並說明每一步為什麼成立。
強化學習在解什麼問題(錄影 00:05–07:26)
講者開場先交代安排:這週講強化學習的基礎,下週講強化學習怎麼用在大型語言模型上,特別是訓練長推理鏈的模型。今天刻意用機器人當情境,因為同時處理「強化學習的設定」和「怎麼套到語言模型」兩件事太雜,先把前者講乾淨。
他把問題叫做 sequential decision making(循序決策),拆成兩個詞來看:
- decision making:你做的事會影響未來。預測完就結束的任務不算;操作機器人、下一張訂單這類有後果的動作才算。
- sequential:決定不只做一次。操作機器人時每個時間點都要給指令。
兩者加在一起,貪心法就失效了,講者的說法是「What is the optimal for the moment may not be optimal for the future.」(02:18)。
接著他提了 exploration 與 exploitation 的取捨,例子是到新城市找餐廳:有些餐廳你去吃只是為了蒐集資訊,以目前所知它未必是最好的選擇,但吃過之後才知道以後該常去還是不要再去。他特地說明為什麼開場就講、之後卻不多談:在現在常見的應用裡,這個取捨很微妙,很多時候根本不特別處理,演算法本身帶有的隨機性就夠了;只有比較古典的設定才把它研究得很透徹。所以這堂課集中在「循序」造成的長期後果。
強化學習的另一個特徵是幾乎沒有人類監督。訓練資料裡沒有「這一步的最佳動作是什麼」,只有 reward:一個純量,告訴你這串動作好不好,但不告訴你哪個動作才是對的。連帶地,資料得靠演算法自己主動蒐集。講者描述的流程是:替機器人產生一些動作,讓它實際試;結果差就懲罰,以後少做;碰巧做得好就鼓勵,以後多做。他稱之為「a trial and error approach」(06:26),蒐集資料與訓練交替進行。這個「強化好的、抑制壞的」直覺,到這堂課最後會變成一條具體的梯度公式。
MDP:狀態、動作、轉移機率(錄影 07:26–17:53)
要談演算法,得先有一套語言描述世界以及動作怎麼改變世界。這套語言是 Markov decision process(MDP)。
講者用的貫穿例子是一條一維紙帶:上面有一排編號的格子(課堂先說 1 到 10),機器人站在其中一格,你可以叫它往左或往右,目標是走到某一格。他也順口提了圍棋當對照:棋盤是二維的,每個動作是落一子。
狀態集合 。 狀態是描述世界所需的全部資訊。紙帶例子裡狀態就是機器人在哪一格,。真的機器人的狀態會是各關節的位置與角度,有時還包括相機影像;圍棋的狀態是整個盤面,講者說可能的盤面數是 。
有學生問:機器人周遭的環境資訊要不要放進狀態?講者回答這是建模上的選擇。理論上狀態應該包含一切,但不可能每個細節都建模,總要抽象掉一些;一般不會把整個世界的 3D 地圖放進去,多半就靠相機影像。
動作集合 。 紙帶例子是 ;真機器人可能是每個關節施多少力;圍棋是落子位置。
轉移機率 。 在狀態 做動作 之後會到哪裡?答案是一個機率分布。對每一組 , 是定義在整個狀態空間上的分布, 是到達 的機率。狀態有限時, 就是一個 維的向量。
轉移可以是確定的,也可以是隨機的。講者假設控制器不準,舉了這組數字:站在第 7 格、下指令往左,
九成機率真的走到 6,一成留在原地;不會反方向跑到 8,也不會一次跳兩格到 5。每一組 都要這樣定義,並滿足
講者中途發現自己把下一個狀態一下寫成 、一下寫成 ,之後統一用 ,本文也用 。
有了這三樣東西,就能描述互動怎麼進行。從初始狀態 開始(下標是時間),演算法選動作 。講者補了一句,選動作的那一方也常被叫做 agent。然後環境走一步,從 抽出 ;演算法看了 再選 ,環境再抽 ,一直循環:
獎勵怎麼訂,以及 reward shaping 的風險(錄影 17:53–25:09)
上面只描述了互動,還沒定義什麼叫成功。獎勵函數 把每個狀態對應到一個實數,表示這個狀態有多好。講者說數值常常落在 到 附近,可正可負。也有人把獎勵定義成 ,甚至 ,他說理論幾乎不變,課堂為了簡單只用 。
紙帶例子裡目標是第 9 格,講者這樣訂:
待在其他格子每一步都在扣分,所以這個獎勵等於在鼓勵機器人盡快走到 9 並留在那裡。
學生接著問:能不能越靠近 9 獎勵越高?講者說可以,獎勵是你訂的,但他分了兩種情形。第一種,你真的認為待在 8 比待在 7 好,那是你的偏好,照實寫進獎勵沒問題。第二種,你其實只在乎到不到得了 9,卻還是把獎勵做成斜坡,目的是讓演算法比較好學(他的說法是有更多梯度可用)。後者叫 reward shaping。
Reward shaping 有意料之外的副作用。講者假設紙帶上有一條你訂獎勵時不知道的傳送通道,從第 2 格直通第 9 格。「越靠近 9 越好」的獎勵會把機器人往右推,但最好的走法可能是先走到 2 再傳送。紙帶上這聽起來很怪,換成真機器人就很平常:伸手拿東西時你會覺得手越近越好,於是給 0.9、0.8、0.7 這樣遞減的獎勵,但如果中間有東西擋著、必須繞過去,這個獎勵就是在誤導機器人。他的建議是「you should just really care about the final outcome」(23:05)。
再被追問時他補了但書:如果你很了解環境,shaping 可以做得有效;不了解或環境太複雜,就專注在核心目標。他拿主管帶團隊打比方:清楚知道該怎麼做的主管可以給很細的回饋,也有主管只說最終目標是什麼、怎麼達成不管(24:06)。
另一個學生問 agent 能不能改獎勵函數。講者說在這個設定裡不行,獎勵是 agent 上面那一層的誘因機制。
回報、折扣因子與 MDP 的五個元件(錄影 25:09–31:50)
只評價單一狀態。一整串 叫做 trajectory(軌跡)。講者說早期較標準的 RL 設定叫 episode,現在 trajectory 比較常用。整條軌跡的分數叫 return 或 payoff,就是把每個狀態的獎勵加起來。因為狀態轉移是隨機的,就算你把動作全部定死也不確定會走到哪些狀態,所以談的是期望回報。
通常還會加上折扣因子 ,它介於 0 和 1 之間,常常很接近 1,講者舉的數字是 0.99:
他用利率解釋:今天的 1 元比一百年後的 1 元值錢。這不代表只看眼前。折扣說的是,如果同一筆獎勵可以選擇什麼時候拿,早拿比較好;最佳做法仍然可能是一開始什麼都拿不到,換後面拿得多。
折扣還有一個數學上的好處:就算步數無限,回報也有界。假設每一步的獎勵絕對值不超過 ,那麼
第一個不等號用到三角不等式(和的絕對值不超過絕對值的和)以及 ,最後一步是等比級數求和(後面講 Bellman 方程式時會用遞迴再推一次)。課堂上只口頭說「第一步最多拿 、第二步最多 」,三角不等式這一步是本文補的。講者補充,把步數當成可以無限的設定現在沒那麼常見了。折扣另外帶來的效果是鼓勵早點拿到獎勵,例如要機器人拿杯子,你會希望它走最短路徑,而不是花一年慢慢靠近。
五樣東西合起來就是一個 MDP:。
這裡有兩個學生提問值得記。一位把轉移機率說成一組「規則」,講者說他不會用 rules 這個詞,那是機率分布。另一位覺得真實世界(例如無人機)的狀態多到無法處理,高度還可以趨近無限大,要怎麼替每一個定義狀態?講者說無人機的狀態其實很單純:高度、幾個速度、馬達開或關。高度就是狀態向量裡的一個純量維度,狀態可以是連續的,就算是離散的也不必有限。
Markov 性質與策略(錄影 31:50–39:45)
目標是最大化期望回報。要做到這件事,得決定每一步的動作。
講者先點出 MDP 裡「Markov」的意思:你走到哪裡只取決於現在在哪裡、做了什麼動作,跟歷史無關。 的分布只看 和 。往後推, 的分布只取決於 以及時間 之後的動作, 之前發生的事全部無關。他的原話是「The past is the past.」(33:22)。
由此得到一個重要結論:時間 的最佳動作只需要是 的函數。怎麼走到 的不重要,未來只看現在。所以我們要找的東西可以縮成一個從狀態到動作的對應,這就是 policy(策略):
紙帶例子(沒有傳送通道時)的最佳策略很直觀:在目標左邊就往右,否則往左。
上面這種叫確定性策略。講者說已知一定存在一個確定性的最佳策略,理由很簡單:每個狀態挑最好的動作,平手時隨便挑一個固定下來就好。「So there's no reason to randomize, because there's always one option that is better than all the others or as good as all the others.」(35:40)
但實務上也會用隨機策略,記作 :給定狀態,輸出一個動作上的機率分布。學生問為什麼隨機策略通常不如確定性策略,講者舉了數字:策略以 0.9 的機率選動作 1、0.1 的機率選動作 2;假設動作 1 的 payoff 是 1.0、動作 2 是 2.0,混著選只會拿到介於 1.0 和 2.0 之間的值,你該做的是直接選動作 2。兩個動作裡至少有一個不比混合差,避險沒有意義。
那為什麼訓練時還要隨機?講者說根本原因是連續性。確定性策略在參數變動時,會在某一點突然從動作 1 跳到動作 2;機率分布則可以從 50/50 移到 40/60 再到 30/70,變化是平滑的。這一點到 policy gradient 會變成硬性需求。
價值函數與 Bellman 方程式(錄影 39:45–55:39)
價值函數跟回報很像,差別是它指定了從哪個狀態出發、一路用哪個策略:
期望值裡的隨機性來自 ,而動作由 產生,所以上標寫 。接著定義
的意思是:之後每一步都做最佳決定的話,從 出發能拿多少。講者說這幾乎是同義反覆,純粹是定義。
然後他預告:接下來的 Bellman 方程式對這堂課後半用處不大,對語言模型上的強化學習也沒那麼重要,但在古典強化學習裡非常重要,至少該知道它存在以及大致的想法(42:56)。
先用等比級數看遞迴
想法跟計算等比級數一樣。令
把第一項拿出來,後面每一項都有一個 可以提出來:
括號裡的東西跟 本身長得一模一樣,所以得到一個左右兩邊都有 的式子。它沒有直接告訴你 是多少,但可以解:,所以 。(字幕在這裡記成「V is equal to 1 minus gamma」,應是口誤或聽寫漏字,依前一步的式子結果是 。)
推導 V^π 的 Bellman 方程式
對 做同樣的事。為了簡單,講者這裡用確定性策略,,並假設有無限多項。
第一步,拿出第一項。 條件是 ,所以 就是 ,是個常數,可以移到期望值外面。課堂上有學生確認了這一點;講者也解釋為什麼寫 而不是 : 是隨機變數, 是它取的值。
第二步,處理 的不確定。 期望值裡的東西看起來像是「從 出發的總回報」,問題只在 是隨機的。那就列舉 的所有可能。從 做動作 走到 的機率是 ,用全期望公式:
第三步,認出 。 右邊的條件期望值是「在時間 1 位於 ,之後照 走的折扣回報」。它等於 ,理由有三個,缺一不可:Markov 性質保證 之後的發展跟 無關(全期望公式得到的條件本來是「 且 」,靠這一點才能只留 );策略和轉移機率不隨時間改變,所以從時間 1 出發和從時間 0 出發沒有差別;項數無限,所以拿掉第一項之後剩下的還是同樣形狀的無窮級數。(這三點是本文補的說明,講者只說「it's exactly the same thing, but just starting from different initial state」。)
合起來:
這就是固定策略的 Bellman 方程式,與講義第 229 頁的式子相同。
講者接著檢視這個式子。左邊是 ,右邊還是 ,所以是遞迴;而且右邊出現的不只一個狀態的價值,所有 都在裡面,只是權重不同。每個狀態 都有一條這樣的式子,每一條對未知數 都是線性的。 個狀態就有 條線性方程式、 個未知數,丟給線性求解器就能解出整個 。學生問狀態是否必須有限,講者說方程式本身對無限多個狀態仍然成立,只是變成無限多條方程式,成了函數方程式。
數值例子:三格紙帶
以下是本文自擬的例子,不是課堂內容,但沿用課堂的數字:移動成功率 0.9、失敗留在原地 0.1;目標格獎勵 1、其他格 。為了能手算,我把紙帶縮成三格 ,目標是第 3 格,取 ,另外假設撞到邊界時留在原地。策略 是每一格都往右。
三條 Bellman 方程式:
第一條只有一個未知數:,。
代入第二條:,移項得 ,。
代入第三條:,。
這三個數字的意思:
- 剛好等於上一節的上界 ,因為機器人永遠待在獎勵 1 的格子,每一步都拿滿。
- 每離目標遠一格,價值就少一截:從第 3 格到第 2 格少約 1.21,從第 2 格到第 1 格少約 1.08。少掉的部分來自兩處:多挨幾步 ,以及拿到 的時間被往後推、多打了幾次折扣。
- 換一個策略就是換一組方程式。如果在第 1 格改成往左,機器人撞牆、永遠留在第 1 格,方程式變成 ,解出 。同一個起點,兩個策略的價值是 7.715 對 ,這就是「價值函數是策略的函數」的具體樣子。
Policy gradient:目標函數與卡住的地方(錄影 55:39–1:03:20)
講者在這裡做了取捨。找最佳策略的演算法很多,講義裡有好幾個,但這學期重心在大型語言模型,他決定跳過不常用於語言模型的演算法,直接講一個:policy gradient,也叫 REINFORCE(全大寫,他說是發明者取的名字)。他形容這是訓練大型語言模型的那些演算法的前身,而且它用不到前面講的很多背景,某種程度上更簡單,這可能也是它容易套到語言模型的原因。
這個演算法只適用於隨機策略。用神經網路參數化策略,寫成 ,需要兩個條件:
- 給定 和 ,網路能算出機率(或密度)。不要求能列出整個分布,因為動作可能是連續的、有無限多個。
- 能從 取樣。
目標函數是期望折扣回報。這類設定通常談有限步數 :
講者說用 而不用 只是這個領域的習慣,兩者的小差別是 固定了初始狀態, 則讓 也從一個已知的初始分布抽出來(課堂叫它 ,講義記作 )。求和的上下界照講義 (21.1) 寫;課堂上有學生指出板書上一處跟 有關的筆誤,講者當場改掉。
做法聽起來很直接:對 取梯度,沿梯度更新 。(講者口頭說 gradient descent;因為是要最大化,方向是沿梯度往上,講義寫的是 gradient ascent。)
困難在於 出現的位置。看期望值裡面: 是已知函數, 是常數, 是抽出來的樣本,沒有任何一項寫著 。 的影響全部藏在「樣本是從哪個分布抽的」。
講者拿一個好處理的情形來對比。假設
這裡 的分布固定、跟 無關, 寫在函數裡面,那麼 可以直接搬進期望值,,取樣算平均就好。我們的情形反過來:把 搬進去,裡面的東西對 的梯度是零,得到的答案是錯的。講義第 259 頁把這個對比說得更明白:VAE 用 reparameterization trick 把問題轉成上面這種好處理的形式,但這裡行不通,因為我們不知道 (獎勵)的梯度怎麼算。
對數導數技巧:把梯度換回期望值(錄影 1:03:20–1:09:10)
講者先把問題抽象化。令 代表整條軌跡, 代表軌跡的總獎勵, 是軌跡的分布。要算的是
其中 不含 ,分布含 。推導分四步。
第一步,把期望值寫成積分,讓 的位置現形。期望值就是「機率乘以值」再積分:
第二步,交換梯度與積分。 積分是對 做的普通積分,積分的範圍與測度都跟 無關,所以可以把 搬進去; 不含 ,梯度只落在 上:
卡點。 這個式子是對的,但不好用。 算得出來,可是對所有 積分做不到,軌跡的可能性太多。我們想要的是能靠取樣估計的形式,也就是 ,這樣它才是一個期望值。目前被積分的函數裡是 ,不是 。
第三步,硬把 變出來。 用 log 的鏈鎖律:
代回去:
第四步,認回期望值。 現在被積分的函數是「 乘以某個東西」,所以
這是講義的 (21.3)。講者在板書上寫到最後漏了 ,被學生指出後補上,他說「I should follow my notes more carefully」(1:08:01)。
右邊三樣東西都能處理: 的梯度可以算, 可以算, 可以從 取樣。於是抽幾個樣本、算括號裡的量、取平均,就得到梯度的估計。講者特別提醒,這估計的是梯度,不是原本的函數值。
期間有學生的提問字幕沒收到,從回答看是在問機率連乘時會不會有問題。講者回答,就算是機率的乘積也還是可以對它取梯度,可能有數值穩定性的顧慮,但那不是這裡取 log 的主要原因。主要原因就是上面第三步:讓 現身,才能回到期望值。
數值例子:兩個動作
以下是本文自擬的驗算,數字借自課堂稍早的問答(0.9/0.1 的機率、1.0/2.0 的 payoff)。考慮只有一步的問題:兩個動作,、。策略只有一個參數,,。取 ,這時 。
直接算。 這個例子小到可以把期望值寫開:
目前 。用 ,得 。
用對數導數公式算。 先算兩個動作的 :
| 抽到的動作 | 機率 | 單一樣本的估計值 | ||
|---|---|---|---|---|
| 0.9 | 1 | |||
| 0.1 | 2 |
期望值是 ,跟直接微分的結果一致。
這個結果有三件事可以讀:
- 梯度是負的,往上走一步會讓 變小,也就是降低選 的機率、提高選 的機率。 的 payoff 比較高,方向正確。用學習率 1 更新一次, 變成 2.107, 從 0.9 降到約 0.892, 從 1.1 升到約 1.108。
- 公式裡沒有用到「 對動作的導數」這種東西,只用到抽到的那個動作的 值。這正是它適合強化學習的原因:獎勵只要能查值就好。
- 單一樣本的估計值是 或 ,真正的梯度是 。有九成的機會你抽到 ,拿到一個方向相反的 ;要靠一成機會出現的 才把平均拉回來。估計是不偏的,但單次很吵(變異數是 ,標準差約 0.57,是梯度本身大小的六倍多)。這就是講者最後說下一堂要處理的變異數問題。
套到軌跡上:轉移機率從梯度裡消失(錄影 1:09:10–1:16:14)
剩下的工作是把 換成軌跡 ,把 換成折扣獎勵和。直接套公式:
接著要寫出軌跡的機率。照互動的順序一項一項乘:先抽 ,策略抽 ,環境抽 ,策略抽 ,依此類推。
取 log,乘積變成和,可以分成三堆:
講者在這裡修正了自己前一句話。他原本說式子裡每樣東西都算得出來,隨即改口:轉移機率 其實未必算得出來,到目前為止沒有假設它已知。但這不要緊,因為這些項不含 。初始分布不含 ,環境怎麼轉移也不含 ,只有策略含 。對 取梯度,前兩堆是零:
這一步是整個推導最關鍵的地方。因為先取了 log,乘積拆成了和,不含 的因子才能整項消掉;如果直接對乘積 微分,乘法律展開的每一項都還乘著所有的轉移機率,要算就得知道它們的值。取 log 等於把這些因子收回 本身,交給「實際跑一條軌跡」這個取樣動作去處理。結果就是演算法完全不需要知道環境的轉移機率,只要環境能讓你實際走一遍。(這段對照是本文補的說明;講者只說這些項不含 、可以丟掉,而且這個演算法不需要知道轉移機率。)
代回去,得到這堂課的終點:
對應講義的 (21.8)。用法是:照目前的策略跑出幾條軌跡,每條軌跡算出兩個括號(第一個用自動微分,第二個把看到的獎勵加起來),相乘後取平均,當成梯度更新 。
怎麼讀這條公式?講義第 261 頁的解釋是:第一個括號指向「讓這條軌跡上的動作更可能被選到」的參數方向,第二個括號是這條軌跡的總回報,當作權重。回報高的軌跡被大力推高機率,回報低的推得少。這跟開場說的「reinforce the good actions and penalize the bad actions」是同一件事,只是現在有了精確的式子。(這段解讀來自講義,課堂上時間不夠沒有講。)
講者提到還有進一步的化簡,兩個和相乘可以再整理,但時間到了,他說要查筆記,就停在這裡。講義接下來的 reward-to-go 化簡 (21.10)、baseline (21.11) 與 Algorithm 7,這堂課都沒有講到。
最後幾分鐘的問答補了兩個常見疑問。
學生問:對語言模型來說,要產生所有可能的輸出序列根本不可行,這樣還算「可計算」嗎?講者回答:「Oh, but you never enumerate all of them. You just sample from it. You just sample one trajectory. Sometimes you sample five or 10.」(1:14:11)
下一個提問字幕只收到片段,從回答看是在問這樣估計的誤差與變異數。講者先說這裡沒有什麼特別的估計程序,要算一個隨機變數的期望值,就從它取樣再取經驗平均。他的原話是「There is no Monte Carlo estimation here」,從前後文看,意思是除了直接取樣之外沒有另外一套估計方法;教科書通常就把「取樣再平均」稱為 Monte Carlo 估計,兩種說法指的是同一個做法。至於變異數有多大,講者說很難一概而論,下一堂會談怎麼降低;但他不認為這裡的變異數大得離譜,不是隨 指數成長那種等級。實務上的態度是「In practice you always care about reducing variance. Even the variance is not huge, you still want to reduce it.」(1:15:13)
下一篇是第 20 堂(Baseline、PPO 與可驗證獎勵),從這條公式接下去,先把這裡沒講完的化簡與 baseline 補上,再講 PPO 與語言模型上的用法。堂次從 18 跳到 20,是因為第 19 堂的時段遇到 Memorial Day 沒有上課。
自我檢查
1. 把三格紙帶例子的 改成 0.5,其他不變,策略仍是每格往右。求 和 。
答案:,所以 。,所以 。判準:能自己列出方程式,並注意到 仍等於 。
2. 在推導 Bellman 方程式時,「 等於 」這一步用到了哪些假設?如果策略會隨時間改變(例如第 5 步之後換一套做法),這一步還成立嗎?
答案:用到 Markov 性質、策略與轉移機率不隨時間變、項數無限。策略隨時間變的話,「從時間 1 出發」和「從時間 0 出發」面對的未來策略不同,兩者的期望回報不再是同一個函數,這一步不成立,價值函數得多帶一個時間下標。
3. 兩個動作的例子裡,把 payoff 改成 、, 不變()。用對數導數公式算梯度,並說明方向。
答案:。直接微分驗算:,導數 。梯度為正, 增加,選 的機率上升,因為現在 比較好。
4. 為什麼 policy gradient 不需要知道環境的轉移機率 ?請指出推導中的哪一步讓它消失,以及演算法實際上還需要環境提供什麼。
答案:取 log 之後軌跡機率拆成三堆的和,初始分布與轉移機率兩堆不含 ,對 的梯度為零。演算法仍然需要環境能被互動(從 取樣,也就是實際走一步),以及能查到走過的狀態的獎勵值。判準:答出「不需要知道式子,但需要能取樣」這個區別。
5. 講者說一定存在確定性的最佳策略,那這堂課推導的 policy gradient 為什麼非用隨機策略不可?
答案:兩個層次。課堂上給的理由是連續性:確定性策略在參數變動時動作會突然跳,隨機策略的機率可以平滑移動。從推導看則更直接:公式裡要算 ,策略必須對每個動作給出一個可微分的機率;而且 的影響就是透過「改變取樣分布」進來的,確定性策略沒有這個分布可以微分。(第二層是本文的解讀。)
對應閱讀
主講義 main_notes.pdf(2026 年 8 月版):
- 第 19 章 Reinforcement learning,19.1 Markov decision processes(pp.228–230):MDP 的定義、折扣回報、策略、價值函數、 的 Bellman 方程式與 、。這堂課前 55 分鐘對應這一節。
- 第 21 章 Policy Gradient and its Variants,21.1 REINFORCE(pp.258–260): 的定義 (21.1)、對數導數推導 (21.3)、軌跡機率分解 (21.6)–(21.7)、最終公式 (21.8)。這堂課後 20 分鐘對應到這裡為止。
課堂與講義不同的地方:
- 獎勵的寫法。 課堂全程用 。講義第 19 章把 當一般形式、推導時多用 ;第 21 章則註明採用 。推導不受影響,把本文公式裡的 換成 即可。
- 的範圍。 講義寫 ;講者口頭說介於 0 和 1 之間、常接近 1。
- 策略的定義。 講義第 19 章只定義確定性策略 ;課堂在同一段就先介紹了隨機策略 以及訓練時需要隨機性的理由。
- 課堂有、講義沒有的內容。 一維紙帶的貫穿例子(講義用直升機)、exploration 與 exploitation 的開場、reward shaping 的討論與傳送通道的例子、用等比級數類比 Bellman 遞迴,以及幾段學生問答。
講義有、這堂課沒講的部分:
- 19.1 後半的最佳價值函數 Bellman 方程式 (19.2)–(19.3):課堂只定義了 與 ,沒有寫出帶 的那條方程式。
- 19.2 Value iteration 與 policy iteration(pp.230–232)、19.3 學習 MDP 模型、19.4 連續狀態 MDP、19.5:都沒有講。講者明說這學期重心在語言模型,跳過不常用於語言模型的演算法,有興趣可以自己讀講義。
- 第 20 章 LQR, DDP and LQG(pp.244 起):完全沒有提到。
- 21.1 後半(pp.261–263):(21.9) 的期望值為零、reward-to-go 化簡 (21.10)、baseline (21.11) 與 Algorithm 7;以及 21.2 PPO(p.263 起)。這些在這堂課結束時都還沒出現。
課程影片來源
原始影片:Stanford CS229 Machine Learning | Spring 2026 | Lecture 18: GMM (EM), PCA
- Stanford CS229 Machine Learning|Spring 2026 播放清單(Stanford Online,17 支)
- CS229 課程官網
- CS229 主講義 main_notes.pdf
查核日期:2026-10-12。
內容核對:已依字幕核對(2026-10-12):整支影片(約 76 分鐘)的英文字幕讀完,文中標為課堂內容的說法與引句都出自字幕。公式依字幕口述與主講義第 19、21 章還原;兩個數值例子是本文自擬並另行驗算。
參考資料
- Stanford CS229 Machine Learning | Spring 2026 | Lecture 18: GMM (EM), PCA(YouTube):本文的主要底本,課堂說法、例子數字與引句都來自這支影片的英文字幕。
- CS229 主講義 main_notes.pdf:第 19 章 19.1 節(pp.228–230)用來核對 MDP 與 Bellman 方程式的記號;第 21 章 21.1 節(pp.258–261)用來還原 policy gradient 的板書公式與 (21.8) 的解讀。
- Stanford CS229 Machine Learning|Spring 2026 播放清單:確認這支影片在播放清單上的標題與堂次編號。
- CS229 課程官網:課程與講義的入口。
- Stanford CS229 導讀:課程總覽:本系列的總覽與閱讀路線。
Loading...