Skip to content

機器學習在學什麼:監督式、非監督式與強化學習|Stanford CS229 第 1 堂

2026年10月12日1 分鐘
TL;DRCS229 Spring 2026 的開場課只有 37 分鐘、沒有推導。它用 Tom Mitchell 的「經驗 E、任務 T、衡量 P」定義機器學習,再把整門課分成監督式、非監督式、強化學習三類,三者的差別在於資料裡有沒有答案、資料是不是模型自己收集來的。大型語言模型在這個分類裡同時出現三次。

🌏 English version

影片狀態:已附影片。 這篇依 Stanford Online 公開的 Spring 2026 第 1 堂錄影的英文字幕寫成;這堂沒有專屬的講義章節,記號對照 2026 主講義第一部開頭的導言(第 6–8 頁)與目錄。寫的時候只有字幕,沒看到投影片畫面;各節標的時間取自字幕的段落時間戳,是近似值。

這是整門課的開場。講者一開口就說這堂很輕鬆,不講深的東西,只交代課程怎麼上、會教哪些主題,再從偏傳統的角度把機器學習分個類。全長 37 分鐘,沒有任何推導。

所以這篇的任務跟後面幾篇不一樣。後面每一堂要你跟著算;這一堂要你拿到一張地圖:聽到「監督式」「非監督式」「強化學習」時,能說出每一種的資料長什麼樣、模型輸出什麼、靠什麼訊號知道自己做得好不好,並且知道後面哪一堂在教哪一塊。先備只要看得懂 y=ax+by = ax + b、平均數與兩個向量的內積。整門課的材料狀況(講義、錄影、作業各停在哪一年)寫在課程總覽,建議先讀那篇再回來。

YouTube:Stanford CS229 Machine Learning | Spring 2026 | Lecture 1: Introduction

這門課怎麼上:先修、數學密度、AI 工具政策

(錄影 00:05–05:14)

誰在教。 講者說另一位老師 Chris 今天沒來,下一堂開始由他上,之後每堂是兩人其中一位。他介紹自己博士班做深度學習理論,這幾年轉向比較實證的題目,現在做 AI for science、AI for math 與自我改進的演算法,基本上就是在訓練大型語言模型。這一季由 Tengyu Ma 與 Chris Ré 分堂授課,講者既然稱另一位為 Chris,這堂就是 Tengyu Ma 上的。

先修。 需要機率與線性代數的背景,他點名 CS 109 或 STAT 116 這類課,並承認投影片上那份課程清單可能有點過時。缺一小塊的人可以去 Section 與週五的助教課補;完全沒碰過的人,他直接建議晚一點再修。

數學密度。 他對這門課的定位講得很清楚:

"it's still a pretty mathematically intense course. We are trying to teach the basics, in some sense the foundation of machine learning, not necessarily proving theorems, but just there are derivations, mathematical derivations, mathematical modeling formulations. We focus more on those as opposed to programming."(約 02:07 起)

意思是這門課不太證定理,但每一堂都在推導與建模,寫程式是次要的。對自學者來說,這決定了你該怎麼讀:每個式子要能自己從上一行推到下一行,光看懂結論不算數。

AI 工具政策。 他自己每天用 AI 工具,課程也允許學生用,但有限制:不能把工具產出的結果直接貼進繳交的作業,也不能讓它產生直接進到答案裡的程式碼。可以把它當成一位人類合作者,或者照他的說法,一位超人等級的合作者。細節在課程網站上。

他接著解釋為什麼規定得這麼緊:

"if you're building an agent, that the agent understands the materials, then you probably don't have to take this course. So this is more about-- not about training your own agent. It's about training yourself"(約 03:09 起)

字幕在這句後面寫的是「like your synopsis」,從上下文與他後面把神經網路的邊比喻成突觸來看,應該是 synapses(突觸)的聽寫錯誤:這門課要訓練的是你自己腦袋裡的連結。

自學的人沒有作業要交,這條規定管不到你,但它背後的理由一樣適用。讓模型幫你把推導寫完,你得到的是一份寫好的推導;自己卡住半小時再推出來,你得到的是下一堂課看得懂的能力。

為什麼 2026 年還照傳統教法。 他說了一個自承可能有偏見的看法:

"the methodology of training the models are still very similar to the old days, but the way we are using the models are very different."(約 04:12 起)

以前在公司用機器學習,要搭複雜的流程:收資料、訓練模型,一路做下去。現在多數人是下提示、直接問問題,或者在 Claude Code 裡寫 skill。這門課不教怎麼用這些工具,教的是訓練這些模型背後的基本技術,所以舊教材大部分還適用,過時的部分已經拿掉了。

機器學習的定義:E、T、P 三個零件

(錄影 05:14–07:45)

講者上週重看舊投影片時發現,幾十年前的定義到現在還站得住。

第一個定義來自 1959 年:機器學習是「讓電腦不必被明確地寫好程式就有能力學習」的研究領域。講者沒有唸出作者,這句通常歸給 Arthur Samuel。他的解讀是,當時的「明確寫程式」指的是你親手寫出下棋的程式碼;「學習」指的是你拿資料訓練一個模型,讓模型去預測或決定下一步該怎麼走。

第二個定義來自 CMU 的 Tom Mitchell(講者說是 1998 年;這個定義出自他的教科書《Machine Learning》,書是 1997 年出版的):

一個電腦程式,若它在某類任務 T 上、以衡量指標 P 測得的表現,隨著經驗 E 而進步,我們就說它從經驗 E 中學習。

講者喜歡這個定義,因為它把三個零件點了出來,而且三個零件到 2026 年都還能用,只是範圍變大了:

零件當年的意思講者說的現在
經驗 E資料網路上的資料、真實世界的資料、人工標註的資料,連模型自己產生的合成資料與思考 token 都算
任務 T很具體的單一任務,例如影像分類、房價預測任務的概念還在,但一個模型要解一百萬種任務
衡量 P準確率之類的指標一樣需要,因為學習要有個目標來驅動

他特別強調定義裡的「若……進步」那個條件:

"So if you have more data, it's not improving, then it's not learning."(約 07:16 起)

這句話可以直接拿來當檢驗。給更多資料、訓練更久,P 沒有變好,那個系統就不算在學習。他舉的對照是遊戲:E 是資料,P 是勝率,T 就是那個遊戲本身。

讀這個定義時最容易忽略的是 P。初學者通常把注意力放在模型長什麼樣,但後面每一堂的第一個動作幾乎都是先寫出一個要最小化或最大化的量,那就是 P 的數學形式。下面的例子會把這件事算一次。

三類學習的分法,以及為什麼它們現在比較像工具

(錄影 07:45–09:17)

講者先打預防針:這個領域動得太快,連分類法都沒有共識,有時候共識才剛形成,那個東西就已經不重要了。他給的是一個「說出去沒人會覺得奇怪」的分法:

  • 監督式學習(supervised learning)
  • 非監督式學習(unsupervised learning)
  • 強化學習(reinforcement learning)

三者之間有交集,而且交集越來越多。更重要的是他對這三個詞的定位。以前它們是三種任務,現在比較像三種方法或典範:

"nobody has the end goal of just doing supervised learning for one task."(約 08:16 起)

現在的終極目標是通用的、能自動學習的代理人,監督式學習是打造它的工具之一。他舉的例子是 SFT(supervised fine-tuning,監督式微調),那就是監督式學習的一種形式。

這個定位解釋了一件會讓自學者困惑的事:大型語言模型在這堂課的三個段落裡各出現一次。它預測下一個詞的方式是分類(監督式的技術),它用沒有標註的大量文字訓練(放在非監督式那段講),後來又用強化學習調整。三個標籤同時貼在同一個模型上並不矛盾,因為它們各自描述的是訓練過程裡的一個環節。

監督式學習:資料裡有輸入也有答案

(錄影 09:17–19:39)

房價預測與記號

講者說,十五年前學機器學習,房價預測大概就是比較有趣的應用之一。資料集裡每一筆是一間房子,橫軸是面積(平方英尺),縱軸是價格。

他在這裡引進整門課通用的記號:xx 表示輸入,yy 表示輸出。你手上有很多組 (x,y)(x, y),每一組是圖上的一個點。測試的時候,別人給你一個新的 xx,你要回答對應的 yy。主講義第 7 頁把第 ii 筆資料寫成 (x(i),y(i))(x^{(i)}, y^{(i)}),上標的 (i)(i) 是編號,跟次方無關;要學的那個函數寫成 hh,稱為 hypothesis。

最簡單的做法是配一條直線,然後在 x=800x = 800 的位置讀出直線的高度當預測。講者提到,這份資料配二次函數可能更好,得到的預測也會不同。怎麼配直線與二次函數、訓練演算法與損失函數是什麼,他說在第 2、3 堂教,也就是第 2 堂開始的內容。

完整例子:兩條直線哪一條比較好

以下是本文自擬的例子,數字不是課堂內容,目的是把 Mitchell 定義裡的 E、T、P 各放進一個具體的數。

經驗 E:三間房子的資料,xx 是平方英尺,yy 是價格(千美元)。

房子xxyy
1600180
21000260
31400380

任務 T:給定 xx,預測 yy。

衡量 P:這裡用平均平方誤差,把每間房子的「實際價格減預測價格」平方後取平均:

MSE(h)=1n∑i=1n(y(i)−h(x(i)))2\text{MSE}(h) = \frac{1}{n}\sum_{i=1}^{n}\left(y^{(i)} - h(x^{(i)})\right)^2

平方的作用有兩個:高估與低估不會互相抵銷,而且差得遠的那一筆會被罰得特別重。這只是很多種 P 裡的一種;課程正式用的成本函數與選平方的理由,留給接下來兩堂。

現在有兩條候選直線:

  • 直線 A:hA(x)=0.25x+20h_A(x) = 0.25x + 20
  • 直線 B:hB(x)=0.2x+70h_B(x) = 0.2x + 70

逐筆算預測與誤差:

房子yyhA(x)h_A(x)誤差誤差平方hB(x)h_B(x)誤差誤差平方
118017010100190−10100
2260270−10100270−10100
33803701010035030900
MSE(hA)=100+100+1003=100,MSE(hB)=100+100+9003≈366.7\text{MSE}(h_A) = \frac{100 + 100 + 100}{3} = 100,\qquad \text{MSE}(h_B) = \frac{100 + 100 + 900}{3} \approx 366.7

MSE 的單位是千美元的平方,開根號才換回原本的單位,這個量叫方均根誤差(RMSE):直線 A 是 10 千美元,直線 B 約 19.1 千美元。依這個 P,A 比較好。要預測一間 800 平方英尺的房子,A 的答案是 0.25×800+20=2200.25 \times 800 + 20 = 220,也就是 22 萬美元;B 會回答 23 萬。

這個結果說明三件事。第一,「哪個模型好」在定出 P 之前沒有答案,P 一換(例如改用誤差絕對值的最大值,A 是 10、B 是 30,這次結論相同,但換別的資料就未必)排名可能跟著變。第二,這裡我只比了兩條線,真正的訓練是在所有可能的 (a,b)(a, b) 裡找讓 P 最好的那一組,那是第 2 堂開始教的事。第三,監督式學習的回饋訊號就是表裡的「誤差」那一欄:每一筆資料都附了正確答案,模型每猜一次都能知道自己差多少、往哪個方向差。

特徵、標籤、迴歸與分類

只看面積太簡化,至少還要知道土地面積,輸入就變成兩個數 x1,x2x_1, x_2,畫出來是三維的圖。

講者順便整理了名詞。他說機器學習裡每個概念幾乎都不只一個名字,以前很亂,現在有些詞沒人用了反而清楚一點。輸入以前也叫特徵(features);要預測的輸出有時叫標籤(label)。他自己現在傾向只說 input 與 output。「labeling」這個動詞還在用,意思是替某個輸入提供想要的輸出,可以是人標的,也可以是機器標的。

輸出的型態分成兩種:

  • 輸出是連續的量,例如價格,叫迴歸(regression)。
  • 輸出是離散的選項,例如「獨棟房屋」或「連棟住宅」,叫分類(classification)。

分類問題的圖畫法不同。兩個輸入(土地面積、室內面積)當成平面的兩個軸,每間房子是一個點,用三角形或圓形標出類別。分類器要做的事是把平面切成兩半,例如直線上方算獨棟、下方算連棟。講者說第 3 到第 5 堂在講分類,對應第 3 堂的邏輯斯迴歸(logistic regression)、第 4 堂的指數族與 GLM、第 5 堂的高斯判別分析。

接著是這堂課我認為最值得記住的一句話:

"all of these large language models fundamentally is a classification problem where you're predicting the next task, next token or the next word."(約 13:23 起;「next task」是他口誤後自己改成 next token)

詞是離散的標籤,只是標籤很多。他給的數字是五萬,現在可能到二十五萬個不同的詞或 token;模型每一步都要從這些選項裡挑一個。所以第 3 到第 5 堂學的二分類與多類別分類,到了第 14 堂的 next-token 預測會原封不動地再用一次,只是類別數從 2 變成幾萬。

高維的輸入與輸出:ImageNet、定界框、翻譯

真要預測房價,你會想知道居住面積、土地面積、樓層數、屋況、郵遞區號等等,輸入最後都是高維的。輸出也可以是高維的。講者舉了三個應用:

影像分類。 輸入 xx 是影像的原始像素,輸出 yy 是圖中主要物體的類別,是離散的。他把這個任務放在這一波 AI 的起點:Stanford 的 Fei-Fei Li 與團隊收集了 ImageNet,講者說它有一百萬組影像與標籤,當時第二大的資料集大約五萬筆,差了二十倍;之後 Geoff Hinton、Alex Krizhevsky、Ilya Sutskever 發表 AlexNet,用神經網路在這份資料上訓練出很好的成績。他憑印象說第一篇論文的準確率大約 50%,現在是 95% 到 97%。這幾個數字是講者當場回憶的,本文沒有另外查證,引用前請自己核對原論文。

他也指出這個任務在 2026 年看來的侷限:一個模型只做一件事,只能替圖片標上類別,不能針對圖片問任何別的問題。

定界框定位。 一張圖裡不只一個物體,可以把每個物體框出來。這時輸出是定界框,用四個數描述:左下角的兩個座標與右上角的兩個座標,兩個角就唯一決定一個矩形。輸入仍然是原始像素。這是輸出為多個連續數值的例子。

機器翻譯。 輸入是英文,輸出是中文或其他語言,反過來也行。

講者在這裡插了一句課程定位:這門課不太講應用,主要教應用背後的基本技術,並用玩具例子示範。想學應用的人,校內有其他課更合適。

深度學習:讓這一切可行的技術

讓上面這些應用做得起來的是深度學習。講者先說網路裡有幾百萬、幾十億個神經元,馬上更正:神經元可能沒有到幾十億,但參數有幾十億個,每個參數對應網路裡的一條邊。他用大腦當類比,節點是神經元,邊是突觸,並且加了「to some degree」這個限定詞,表示這只是某種程度上的模擬。

後面會教兩件事:網路怎麼定義、定義時要注意什麼;以及最重要的,怎麼訓練。訓練要先定義損失函數,再算損失對每個參數的梯度,而反向傳播就是對這麼複雜的函數自動算出梯度的方法。他說這是第 7、8 堂的內容,對應第 7 堂的網路架構與第 8 堂的反向傳播。

非監督式學習:只有輸入,沒有答案

(錄影 19:39–28:30)

設定與分群

非監督式學習的資料集只有輸入、沒有輸出,所以沒有明確的任務,因為你不知道要預測什麼。回到房屋的圖:監督式的版本裡每個點有三角形或圓形的標記;非監督式的版本裡,所有點長得一樣,只是平面上的一群點。

即便如此,人眼還是看得出圖裡有些規律。講者對目標的描述是:在沒有標籤的情況下,盡量從資料裡挖出東西。他也承認這個目標定義得很模糊,「有趣的結構」是什麼意思,其實取決於你用的方法,不同方法會給你不同的結構。

最典型的方法是分群(clustering),把彼此相似的資料點找出來。在二維平面上這很直觀,請人來分大概也會得到差不多的結果,雖然同一份資料也可能有另一種合理的分法。分群演算法怎麼設計、目標函數是什麼,他說在第 9、10 堂教,對應 第 9 堂的 k-means 與高斯混合模型和第 10 堂的 EM 與 PCA。

兩個經典應用,以及一個算得出來的小例子

基因分群。 一張表,每一欄是一個人的基因表現。人很多、基因各不相同,但把欄位排成適當的順序後,可以清楚看到一群人有某一類基因、另一群人有另一類。分完群之後就能研究哪些基因跟哪些疾病或症狀有關。

文件與詞的分群。 另一張表,橫向是文件,縱向是詞,格子裡是這個詞在這份文件出現的次數,次數越多顏色越深。原始的表看不出規律;重新排列之後,會浮現幾塊深色的區域。講者的例子裡,有三份文件都大量提到 shuttle、space、launch、booster,看起來是太空主題;左上角那一塊是空氣污染與環境。這樣同時找出了相似的詞與相似的文件。他說這類技術叫 LSA,並說第 9 堂會談到其中一部分做法。

「重新排列就看出規律」聽起來像魔術,用一個小表算一次就不神祕了。以下是本文自擬的例子。四份文件、四個詞,格子是出現次數:

D0D1D2D3
pollution5030
shuttle0604
air4050
launch0305

照這個順序看,數字像棋盤一樣交錯。把每份文件看成一個四維向量(由上到下讀),D0 是 (5,0,4,0)(5, 0, 4, 0),D2 是 (3,0,5,0)(3, 0, 5, 0),D1 是 (0,6,0,3)(0, 6, 0, 3)。用餘弦相似度量兩份文件有多像,也就是兩個向量的內積除以各自的長度:

cos⁡(D0,D2)=5⋅3+4⋅552+42 32+52=354134≈3537.34≈0.94\cos(D_0, D_2) = \frac{5\cdot 3 + 4\cdot 5}{\sqrt{5^2+4^2}\,\sqrt{3^2+5^2}} = \frac{35}{\sqrt{41}\sqrt{34}} \approx \frac{35}{37.34} \approx 0.94 cos⁡(D0,D1)=5⋅0+0⋅6+4⋅0+0⋅34145=0\cos(D_0, D_1) = \frac{5\cdot 0 + 0\cdot 6 + 4\cdot 0 + 0\cdot 3}{\sqrt{41}\sqrt{45}} = 0

D0 與 D2 幾乎同方向,D0 與 D1 完全不重疊。把相似的文件排在一起(D0、D2、D1、D3),詞也照同樣的道理重排(pollution、air、shuttle、launch),表就變成:

D0D2D1D3
pollution5300
air4500
shuttle0064
launch0035

左上與右下各一塊,這就是講者投影片上「排好之後出現深色區塊」的意思。整個過程沒有人告訴演算法哪份文件是環保、哪份是太空;它用到的只有輸入本身的數字。非監督式學習的回饋訊號來自這種內部的一致性:相似的東西有沒有被放在一起。至於「相似」怎麼定義,就是講者說的「取決於方法」。

詞向量:方向對應關係

講者接著講深度學習之後的做法:把每個詞編碼成一個數值向量,維度常是一千維甚至更長。這些向量帶著語意。相似的詞向量也相近,例如 Rome、Paris、Berlin 在向量空間裡彼此很靠近。更有意思的是,方向有時對應到關係:投影片上從左到右的那個方向,對應「國家到首都」。如果你知道 Italy 在哪裡、卻不知道它的首都,就沿那個方向走,撞到的那個詞多半就是義大利的首都;France 與 Germany 也用同一個方向找得到。

用自擬的二維數字示意:假設 France 在 (2,3)(2, 3)、Paris 在 (5,4)(5, 4),兩者相減得到方向 (3,1)(3, 1)。Italy 在 (1,1)(1, 1),加上 (3,1)(3, 1) 得 (4,2)(4, 2);如果 Rome 的向量剛好在 (4,2)(4, 2) 附近,這個方向就編碼了「首都」這個關係。真實的詞向量有上千維,但運算就是這個減法與加法。

這些向量是在沒有標註的資料上訓練出來的。講者說那是 2014、2015 年前後的事,用的基本上是 Wikipedia;在現在看來 Wikipedia 是很小的語料,大概只佔現今總語料的 1% 或 0.1%。嵌入怎麼學,本系列接得上的是第 13 堂的對比學習與語意檢索。

大型語言模型與擴散模型

講者把這兩者也放在非監督式這一段,理由是訓練資料沒有人工標籤。

大型語言模型:在大量無標註資料上訓練的通用模型。前面的 LSA 與詞向量各自只解一兩個任務(哪些詞相似、哪些文件相似);ChatGPT 的輸入框寫著「Ask anything」,你可以問任何事。他預告會教三塊:預訓練模型用什麼網路架構、用什麼損失函數訓練,以及比較進階的題目,包括怎麼下提示、怎麼把模型訓練得更聽指令。他提到一個觀察:現在的模型大多很聽指令,兩年前不是每個模型都這樣,結果還很看你怎麼下指令;改變的原因是 OpenAI、Anthropic 這些前沿實驗室把模型訓練成更會遵循指令。這幾塊對應第 14 堂與第 16 堂。

這裡有個容易卡住的地方:前一節才說語言模型是分類問題,分類不是監督式的嗎?講者沒有正面處理這個問題,以下是本文補充。兩個說法描述的是不同層面。就資料來源而言,沒有人替文字標答案,所以算無標註資料;就訓練的數學形式而言,把一段文字的下一個詞當成前面那些詞的「答案」,每個位置就自動變成一筆 (x,y)(x, y),可以直接套分類的損失函數。答案是從資料自己身上切出來的。

擴散模型:從雜訊或從指令產生逼真的影像。這也是非監督式,因為你只有一大堆真實影像、沒有標籤,要做的是造出一個能產生更多逼真影像的模型。講者提到這類研究常用名人臉孔的資料集。他說這個主題會有一堂課;本系列實際對應到第 11 堂,以及第 12 堂的前半。

強化學習:模型自己動手收集資料

(錄影 28:30–35:08)

講者說投影片上第一個條列點是三年前就有的,第二個是這次新加的。兩點是看同一件事的兩個角度。

傳統的看法:序列決策

強化學習的任務是做一連串的決策。典型應用是 AlphaGo 與學走路的機器人。他放了一段影片:訓練到第 10 輪,機器人幾乎不會走;第 20 輪還是沒什麼動靜;到第 80 輪開始走一點,後來走得相當好。

這個任務有兩個特徵。一是有動作:每個時刻都要決定手怎麼動、腳怎麼動。二是有序列相依:現在的動作會影響未來。走錯一步可能就救不回來,跌倒之後再也動不了。

新的看法:處理隨機取樣的工具

現在大家也把強化學習當成訓練模型的工具,特別是在模型裡有隨機輸出的時候。講者用語言模型的生成過程解釋:

  1. 模型算出下一個詞的機率分布。
  2. 從這個分布裡取樣出一個詞。
  3. 把這個詞餵回模型,再產生下一個詞,一直重複。

你問一個問題,模型會產生很多 token,其中一部分沒有顯示給你看(介面上寫「thinking」的那段),但那也是在產生 token。每一步都是一次隨機取樣。

"It's not a differentiable operation. So that's why to deal with this kind of generation you cannot really backprop through it easily."(約 29:56–31:00)

為什麼取樣不可微分,課堂沒有展開,以下是本文補充。假設詞彙只有三個詞,模型給的機率是 (0.5,0.3,0.2)(0.5, 0.3, 0.2),取樣抽中了第一個詞。反向傳播需要回答「把 0.5 稍微調成 0.51,輸出會怎麼連續地變」,但取樣的輸出是「第一個詞」這個離散的選擇,機率微調之後抽到的多半還是同一個詞(輸出完全沒變,導數是零),偶爾整個跳到另一個詞(中間沒有平滑的過渡,導數不存在)。不論哪一種,梯度都帶不回「該往哪邊調」的訊息。第 8 堂的反向傳播要求計算圖上每一步都能求導,這一步卡住,梯度就傳不回去。

講者說有些情況還是能反向傳播過去,有些不行,不行的時候就要用強化學習。它跟傳統看法接得上:每產生一個詞就是一個決策,第一個詞會影響第二個詞,所以這也是序列決策。有學生問第一點是不是原本的 RL、第二點是現在的用法,講者回答大致如此,兩者沒有根本的不同,也不互相矛盾,只是觀點稍微不一樣。

第三個特徵:資料是互動收集來的

講者說這一點前面沒有強調。在監督式與非監督式學習裡,資料集是別人給你的;你可以想辦法收集更多,但那是另一個層次的事,模型本身只看得到給定的資料,不會自己產生資料。

強化學習是試誤法,在「收集資料」與「訓練」之間來回:試一個策略、收集回饋。機器人試著走路然後跌倒,跌倒也是資料,你得到一段軌跡,也就是這次嘗試的一連串動作與觀測,它成為下一輪訓練的新資料。模型是靠自己收集來的資料進步的。

他舉了自己現在花很多時間在做的自動定理證明:

  1. 手上有一批命題,沒有證明。
  2. 讓模型自己產生一些證明。
  3. 驗證這些證明,把正確的挑出來。
  4. 正確的證明成為新的訓練資料,拿來訓練(強化)語言模型。
  5. 期望下一輪能產生更多正確的證明,於是資料更多,再訓練,形成自我拉抬的循環(他用的詞是 bootstrapping)。

機器人也一樣:收集更多軌跡,在好的軌跡上訓練。

用 E、T、P 對一下這個循環,可以看出它跟前兩類的差別。T 是「給命題、寫出證明」;P 是通過驗證的比例;E 一開始是空的,是模型自己一輪一輪產生、再由驗證器篩出來的。前兩類學習的 E 在訓練開始前就固定了。

用在語言模型上:獎勵與 policy gradient

套到語言模型的大致流程:輸入是使用者的提示,模型產生一大段文字;另外有一個模組看這段文字,給出一個叫獎勵(reward)的東西,表示這段文字好不好。這個模組可以是人、可以是獎勵模型、也可以是另一個語言模型,講者說那是另一個話題。獎勵接著被用來引導模型更新,讓下一輪產生更好的文字。

需要用強化學習的原因跟前面一樣:生成過程有隨機取樣,整個流程沒辦法端到端求導。處理這種情況的技術叫 policy gradient。他順口唸了幾個術語:RLVR(用可驗證的獎勵做 RL)、RLHF(用人類回饋做 RL),以及用這些方法訓練長的思維鏈,然後說這些只是流行詞,現在不用懂。這部分對應第 18 堂的 RL 基礎與 policy gradient與第 20 堂的 PPO 與可驗證獎勵。

三類學習並排比較

這張表是本文整理的,把課堂上分散在三段的說法放在一起:

監督式非監督式強化學習
資料長什麼樣成對的 (x,y)(x, y)只有 xx模型試出來的軌跡:動作、觀測,加上獎勵
資料哪裡來事先給定事先給定訓練過程中互動收集
模型輸出對新的 xx 預測 yy結構:群、向量表示,或新的樣本一連串決策
回饋訊號每筆都有正確答案可比對沒有答案,目標由方法定義對試出來的結果打分的獎勵,沒有逐步的標準答案
課堂例子房價、獨棟或連棟、ImageNet、定界框、翻譯分群、基因表、LSA、詞向量、LLM 預訓練、擴散模型機器人走路、AlphaGo、定理證明、LLM 的 RLVR/RLHF
本系列哪幾堂第 2–8 堂第 9–14、16 堂第 18、20 堂

課程地圖與沒放進正課的兩個主題

(錄影 35:08–36:59)

最後講者放了一張課表截圖,說是他自己的內部版本,本來希望 Claude Code 幫他排得漂亮一點,結果沒成功,只好放醜的版本。課表本身在課程網站上有連結。

他補了兩個主題:

ML 系統。 規劃了一堂課講軟體與硬體怎麼配合。他解釋為什麼這很重要:演算法快兩倍,可以替 OpenAI 省下幾十億美元,甚至不用兩倍,快 20% 就很可觀。但省錢還是次要的:

"think about if I have algorithm that's 2x faster than you, then it's one year for me and two years for you, and one year versus two years, that's day and night for these days."(約 35:08–36:10)

公平性與社會影響。 他們正在找客座講者來講這一塊,理由是 AI 正在取代很多工作,必須思考它的社會影響。

這兩個主題在公開的播放清單裡都找不到對應的錄影。課程總覽查過:這一季有兩場客座講座沒有放上 YouTube,其中一場是系統 ML。

自我檢查

1. 一個垃圾郵件過濾器,用了一萬封標好「垃圾/非垃圾」的信來訓練。寫出它的 E、T、P,並說明它是迴歸還是分類。

判準:E 是那一萬封帶標籤的信;T 是給一封新信、判斷是不是垃圾信;P 可以是在沒看過的信上的準確率。輸出是兩個離散選項,所以是分類。如果你寫的 P 是在訓練用的那一萬封上的準確率,要能說出這樣量有什麼問題(模型可能只是背下來),這是第 6 堂的主題。

2. 用本文的三筆房屋資料,算直線 C:hC(x)=0.25x+30h_C(x) = 0.25x + 30 的 MSE,並跟直線 A 比。

答案:預測是 180、280、380,誤差(實際減預測)是 0、−20、0,平方是 0、400、0,MSE 為 400/3≈133.3400/3 \approx 133.3,比 A 的 100 差。C 有兩間房子完全猜中,A 一間都沒猜中,但 A 的 MSE 比較低。這說明平方誤差在乎的是整體偏差的大小,不是猜中幾筆。順帶一提,如果把 P 換成誤差絕對值的平均,A 是 (10+10+10)/3=10(10+10+10)/3 = 10,C 是 (0+20+0)/3≈6.7(0+20+0)/3 \approx 6.7,排名就反過來了:這是正文說「P 一換,排名可能跟著變」的實例。

3. 講者說語言模型「本質上是分類問題」,又把它放在非監督式學習那一段。這兩件事怎麼同時成立?

判準:要能區分「資料有沒有人工標籤」與「訓練時的數學形式」。文字語料沒有人工標註;但每個位置的下一個詞可以當成前文的答案,於是每一步是一次從數萬個類別裡挑一個的分類。只答「因為 LLM 很複雜」不算。

4. 為什麼訓練語言模型產生長篇推理時,不能只靠反向傳播,要用強化學習?

判準:要提到兩點。一是生成的每一步都從機率分布取樣,取樣的結果是離散選擇,不可微分,梯度傳不過去;二是好壞的訊號(獎勵)是整段文字產生完才給的,不是每個詞都有標準答案。答出 policy gradient 是處理這種情況的技術更好。

5. 自動定理證明的循環裡,如果把「驗證證明是否正確」這一步拿掉,把模型產生的所有證明都加回訓練資料,會發生什麼事?

判準:這題課堂沒有直接回答,要自己推。驗證器是這個循環裡唯一的回饋訊號來源,拿掉之後,錯的證明與對的證明被同等對待,模型只是在學自己原本就會產生的東西,P(通過驗證的比例)沒有理由上升。依 Mitchell 的定義,P 不隨 E 進步就不算學習。

對應閱讀

這堂課沒有專屬的講義章節。最接近的是主講義第一部開頭、第 1 章之前的導言(第 6–8 頁):同樣用房價當例子(講義用的是 Portland 47 間房屋的資料),定義 x(i)x^{(i)}、y(i)y^{(i)}、訓練集、hypothesis hh,以及迴歸與分類的區別。課堂上只口頭說了 xx 與 yy,上標記號與 hh 是講義的。

講義的六個部分與本系列各堂的對應(依講義目錄與各堂主題整理):

講義章與頁碼本系列
第一部 監督式學習第 1–6 章,第 6–78 頁第 2–5 堂(線性迴歸、logistic regression、GLM、GDA)
第二部 深度學習第 7 章,第 79–113 頁第 7、8 堂
第三部 泛化與正規化第 8–9 章,第 114–145 頁第 6 堂
第四部 非監督式學習第 10–13 章,第 146–178 頁第 9、10 堂
第五部 生成模型與基礎模型第 14–18 章,第 179–225 頁第 11–14、16 堂;第 18 章的 RLVR 在第 20 堂
第六部 強化學習與控制第 19–21 章,第 226–265 頁第 18、20 堂

幾個課堂與講義不一致、或課堂有講而講義沒有的地方:

  • 兩個機器學習定義(1959 年那句與 Mitchell 的 E、T、P)在主講義裡找不到,只在課堂上講。
  • 講者口頭說的堂次是開學時的規劃:擴散模型「一堂」、LSA 在「第 9 堂」。依本系列各堂的主題,擴散模型跨到第 12 堂,學向量表示的對比學習與語意檢索在第 13 堂。講義目錄沒有以 LSA 為名的章節。
  • 課堂把語言模型與擴散模型歸在非監督式學習底下;講義把它們獨立成第五部「生成模型與基礎模型」,不放在第四部。
  • 講義第 5 章(kernel)、第 6 章(SVM)、第 13 章(ICA)、第 19–20 章(MDP、LQR)在這堂的課程預告裡都沒有被提到。
  • SFT 在講義第 17.8 節(第 218 頁);RLVR 在第 18.2 節(第 221 頁);policy gradient 在第 21 章(第 258 頁起)。

系列導覽:上一篇 課程總覽|下一篇 第 2 堂:監督式學習與線性迴歸

課程影片來源

原始影片:Stanford CS229 Machine Learning | Spring 2026 | Lecture 1: Introduction

查核日期:2026-10-12。

內容核對:已依字幕核對(2026-10-12):全文依這支影片的英文字幕(約 37 分鐘)逐段寫成,引用的英文句子都出自字幕;沒有看投影片與示範影片的畫面,講者指著畫面說的內容(圖上的點、基因表、詞向量圖)只寫了口頭有描述的部分。講者憑印象說的數字(ImageNet 規模、AlexNet 準確率、詞彙大小)照錄,未另外查證。

參考資料