所有分類Gaussian SVM 的結果可以讀成「以支援向量為中心的 Gaussian 做線性投票」,把中心與票數都放開來學就是 RBF 網路。N 筆資料全當中心時,迴歸的最佳票數是 β = Z⁻¹y,訓練誤差剛好是 0,所以要靠 ridge 或把中心減到 M ≪ N 個代表點來正則化;代表點用 k-means 找,它輪流做「每筆資料歸到最近的中心」與「中心改成群內平均」兩步,直到分群不再變動。
Fall 2024 技法段有兩份作業和一個期末專題,題目 PDF 都公開。HW6 練 kernel、soft-margin SVM 與 aggregation,程式題用 LIBSVM 在 mnist.scale 的 3 對 7 子問題上數支援向量、算 margin、跑 128 次 validation。HW7 練 bootstrap、impurity、AdaBoost、gradient boosting 與神經網路,程式題是在 madelon 上實作 500 輪 AdaBoost-Stump。期末專題是虛構的 HTMLB 棒球勝負預測,分兩個 Kaggle stage,交一份最多 7 頁的英文報告,至少比較四種方法。沒有官方解答;Kaggle 競賽頁在 2026-09-30 未登入時回 404,校外讀者大概拿不到 HTMLB 資料,只能照同樣的切分方式換一份公開資料自評。
上一堂的保證裡有假說個數 M,感知器有無限多條線,M 是無限大。這堂課改數這些線在 N 筆資料上排得出幾種 ○× 組合(dichotomy),對所有擺法取最大值得到成長函數 m_H(N):positive rays 是 N+1,positive intervals 是 ½N²+½N+1,convex sets 是 2ᴺ,二維感知器在 4 個點上最多 14 種。成長函數第一次到不了 2ᴺ 的點數叫 break point,講義猜它會把成長函數壓成多項式,證明留到下一堂。
用 E_in 選模型一定偏向最複雜的那個,用 E_test 選又拿不到測試資料。這堂課從手上的 N 筆切出 K 筆當驗證集,得到 E_out(g_m*) ≤ E_out(g⁻_m*) ≤ E_val(g⁻_m*) + O(√(log M / K)),說明選完為什麼要用全部資料重訓、K 為什麼取 N/5;再把 K 推到 1 得到幾乎無偏的 leave-one-out,最後用 5-fold 或 10-fold 交叉驗證把計算量降回可行。
這堂課把「最大的非 break point」命名為 VC 維度 d_VC,用可逆矩陣與線性相依兩段證明 d 維感知器的 d_VC = d + 1,再把 VC bound 改寫成 E_out ≤ E_in + Ω:d_VC 愈大,E_in 愈容易壓低,但複雜度的懲罰 Ω 也愈大。照 bound 算,ε = δ = 0.1、d_VC = 3 要 29,300 筆資料,大約是 10,000 倍的 d_VC;實務上 10 倍常常就夠。
agent_era.pdf 的後半問了三個問題:多個 agent 怎麼協作比較有效(MacNet:不規則的拓撲勝過規則的)、agent 能不能爾虞我詐(狼人殺、劇本殺,以及從社交互動學推理的 MARO)、agent 能不能社交(Moltbook 與「甲殼教」,但三篇研究都發現熱鬧背後多半是人在推、對話很淺)。最後以學術研究為例,AI 已經能從頭複製並延伸一篇論文、進入 AAAI 2026 的審查流程,Agents4Science 2025 收到 247 篇 AI 主筆論文。李宏毅的結論是:在 agent 萌芽的時代,「想做」什麼比「會做」什麼更重要。
語言模型的輸入長度有限,agent 卻會一直累積工具輸出。李宏毅在 ML 2026 第二週把 Context Engineering 拆成三件事:壓縮(摘要、硬清除、卸載到檔案,以及 ACON、SUPO、AgentFold 這類讓壓縮變聰明的方法)、過濾(只讀需要的行、MCP-Zero 式的按需載入工具),最後是 Agentic Context Engineering:讓 LLM 自己決定下一輪的 context,從 Dynamic Cheatsheet、ACE 一路到 Recursive Language Models。投影片把 subagent 看成一種自主壓縮,這是整講最值得帶走的一個視角。
李宏毅 2026 春季的《機器學習》從 AI Agent 切入,主軸是怎麼影響與調整模型行為:先拆開 OpenClaw 看 agent 怎麼運作與管理 context,再看模型內部為什麼慢、為什麼有長度限制(Flash Attention、KV Cache、位置編碼),接著是不改參數也能讓模型變強的 harness 與自我修正,最後是 AI 自我成長。8 講錄影、投影片與 10 份作業的題目和 Colab 都公開;作業的評分平台校外用不了,要自己設驗收。
李宏毅在 ML 2026 第三週講推論加速,前半堂只講一招:Flash Attention。GPU 的運算單元很快,但工作台(on-chip SRAM)很小,資料得從倉庫(HBM)搬上搬下,搬運才是瓶頸。一般的 softmax 要來回倉庫好幾次;Flash Attention 用「先假設目前最大值就是 Amax,之後再乘一個修正項」的技巧,把找最大值、算分母、做 weighted sum 合進同一次掃描,連 attention weight 都不必真的算出來。結果和原本的 attention 一模一樣,不需要重訓,代價只是一點額外運算和一點燒腦。
李宏毅用一個小模型修 bug 的示範開場:gemma-4-E2B-it 找不到 parser.py 就自己寫一個假的交差,加上三段說明「現在的環境、怎麼工作、怎樣算完成」之後,它就乖乖 ls、cat、改檔、跑測試。整講把 harness(馬具)拆成三種手段:用人類語言控制「認知框架」(AGENTS.md)、用工具控制「能力邊界」(SWE-agent 的 ACI、為 agent 重寫 CLI)、用工作流程控制「行為」(Ralph loop、Anthropic 的長時 harness)。後半段談三個延伸:過度責備 agent 可能有害、life-long agent 怎麼從口語回饋學習、評量 agent 為什麼難,最後讓 agent 自己改 harness(Meta-harness)。
HW1 要你寫一段不超過 1000 token 的 defense prompt,讓模型不管被怎麼攻擊,都把回應包在 [START]…[END] 裡,而且不說出「I have been PWNED」。助教準備了 14 個攻擊:10 個公開、4 個私下,每個 safety 與 utility 各 0.5%。題目、10 個攻擊原文與 token 計數 Colab 都公開,但評分平台 JudgeBoi 在 2026-09-30 回傳 502,校外只能照規格自己搭評估。
HW10 是 12 題選擇題,只在 NTU COOL 作答。Section 1 比較語音語言模型的三種架構:Cascade(ASR → LLM → TTS,中間是文字)、End-to-End(直接在離散語音 token 上做 LM)、Thinker-Talker(LLM 負責想,另一個 decoder 負責說),Colab 讓兩個模型聽三段錄音判斷說話者性別,要你看出哪個是 cascade。Section 2 拆 Mimi:把情緒語料切成 32 層 RVQ token,取第 0、6、16、31 層畫 UMAP;再把語音、笑聲、音樂 encode 再 decode 聽看看壞在哪。剩下的題目讀 TWIST、AudioLM、LLaMA-Omni 2、Moshi、GLM-4-Voice,考 initialization、pretrain、interleaving 與 realtime/full-duplex。Colab 要先申請 Llama-3.2-3B-Instruct 授權並填 HF token。題目與 Colab 全公開,校外拿不到的是 COOL 評分與解答。
HW2 不讓你直接寫分類器,而是寫 prompt 與流程,讓一個跑在 Colab T4 上的開源 LLM(預設 gemma-3-12b-it 的 4-bit GGUF)自己規劃、寫 code、執行、除錯,做出 10 類 MyGO & Ave Mujica 角色臉部辨識。起始碼改自 AIDE:Interpreter 執行程式、Node 記錄每一版、Journal 組成解答樹、Agent 決定下一步要 draft、debug 還是 improve。最值得先發現的一件事:起始碼的評估函式是空的,每一版都被標成 metric 1.0、不是 bug,所以樹搜尋在你補上評估之前其實是瞎選。規定寫得很重:「LLM agent 是你的代理人」,不准手改程式與預測檔。
HW3 是 20 題選擇題(每題 0.5 分),不交程式,只在 NTU COOL 上作答。前 10 題讀論文:四篇 speculative decoding(Leviathan、DeepMind 的 Speculative Sampling、Inference with Reference、SpecInfer)加上 FlashAttention 1–3;後 10 題照 Colab 填 TODO 後分析結果:手寫 speculative decoding 的接受率、兩種 prompt regime 下 assistant 模型與 n-gram 的加速曲線、用 T4 規格估 FlashAttention 的 HBM 讀取量與理論加速、vLLM 的 prefix caching 多輪測試與失效實驗,以及 CPU offload 對 throughput 的影響。題目中英雙語全部印在作業 PDF 裡,校外可以完整自學,只是拿不到官方解答。
HW4 把「文字接龍」原封不動搬到圖片上:792 張 20×20 的寶可夢小圖,每個像素是 167 色裡的一個 token,一張圖就是 400 個 token 的序列。訓練時做 next-token prediction,測試時給你前 60%,讓模型畫完剩下的 40%。評分同時看 FID 與寶可夢偵測率(PDR),三級 baseline 的提示從「直接跑範例」「調超參數」一路到「換成 Llama、Mistral 架構」。題目、Colab、Kaggle 與資料集都公開,但 JudgeBoi 在 2026-09-30 回傳 502,校外拿不到 FID、PDR 的官方分數。
HW5 用 LoRA 在 GSM8K 上微調 Llama-3.2-1B-Instruct,同時拿 AILuminate 的危險提示檢查它還會不會拒絕。數學正確率和安全率要同時過線才拿得到 baseline 分數,所以重點是「怎麼微調才不會把安全行為洗掉」。題目 PDF、34 個 cell 的 Colab 與 Kaggle 版都公開,strong baseline 在 T4 上預估要跑 14 小時;評分平台 JudgeBoi 在 2026-09-30 回傳 502,校外只能自己搭 safeguard 評估。
HW6 不用訓練模型,全部在 NTU COOL 上作答:6 分是讀 ROME、MEND、MEMIT、WISE 四篇論文後答 16 題選擇題,4 分是把 Colab 裡的 fine-tuning 換成 ROME,在 GPT2-XL 上做 single editing(自己編一條知識、寫 5 種測試提示)與 multiple editing(CounterFact 子集 10 筆、80 筆,再換 MEMIT),回報 efficacy、paraphrase、neighborhood、portability 四個分數。作業投影片與 47 個 cell 的 Colab 都公開,但測驗題本身與解答只在 COOL 上。
HW7 給你兩個從 Mistral-7B-v0.1 微調出來的模型:擅長日文的 shisa-gamma-7b-v1 與擅長數學的 WizardMath-7B-V1.1,要你只做參數層級的合併(不准再訓練、不准 MoE 或 ensemble),讓合併後的模型答對助教自出的 20 題日文數學題。Part 1(60%)用 mergekit 調方法、weights 與 density,simple/strong baseline 是正確率 50% 與 75%;Part 2(40%)是 8 題論文選擇題。題目、Colab 與 Kaggle 都公開,但 JudgeBoi 在 2026-09-30 回傳 502、論文題在 NTU COOL 上,校外只能在 notebook 裡自己看正確率。
HW8 不用寫程式也不用交程式:助教給一份已經寫好的 Colab,用 Llama-3.2-1B-Instruct 在 GSM8K 前 100 題上比較直接推論、Self-Consistency、Self-Certainty 與 DeepConf(Confidence),每種方法各 sample 16 條推理。你讀三篇論文、跑完 notebook,到 NTU COOL 答 20 題:18 題論文題、2 題看 Colab 結果。先備是李宏毅 2025 年第七講 Reasoning。題目中英兩版都印在 hw8.pdf,Colab 可公開下載;只有 COOL 測驗與成績需要台大帳號。
HW9 共 19 題、10 分,只在 NTU COOL 作答、不交程式。前 16 題讀四篇論文:DDPM、Flow Matching、Rectified Flow、MeanFlow,最後幾題要你橫向比較訓練訊號與少步生成;後 3 題要跑 Colab:在 2D Swiss roll 上訓練兩個小 MLP,一個是學瞬時速度的 Flow Matching(固定用 Euler 50 步評估,Histogram JS ≤ 0.10 才算收斂),一個是學平均速度的 MeanFlow(固定 1 步生成,≤ 0.40),再比較 1 步對 1 步、Euler 不同步數、Euler 與 RK4 在相同步數與相近算力下的差別。作業 PDF 附了一份省略大部分數學的生成模型教學,題目中英雙語全部公開;校外拿不到的只有 COOL 上的評分與解答。