所有分類Lec 21 先講 CNN 缺什麼:只有頂層看得到整張圖。接著用 TF-IDF、RNN 看圖說話、soft attention 鋪路。Lec 22 從「軟性字典查詢」推出 self-attention:Q、K、V 三個線性層,SoftMax(QKᵀ/√D)V,再加上多頭、MLP、殘差與 LayerNorm,組成 transformer layer。attention 本身不看順序,所以需要位置編碼。Discussion 10 手算一次 QKV,並證明為什麼要除以 √D。
Lec 23 把 transformer 接成一個會預測下一個 token 的模型:切 token、查 embedding、疊 L 層 masked attention,最後乘回 embedding 表做 softmax,用交叉熵(也就是 MLE)訓練。預訓練只給知識,要會聊天還需要 SFT、LoRA、RLHF、DPO;推論時再靠 in-context learning、RAG、chain-of-thought 與工具呼叫。Lec 24 把「自己造一個假的監督任務」推廣到影像:自編碼器、上色、補洞、旋轉、拼圖、聚類,最後到對比學習、SimCLR 與 CLIP。Discussion 11 練位置編碼、RoPE、causal mask 與 KV cache。
最後三講把前面學的東西用在兩個前線。Lec 25 講蛋白質:AlphaFold2 解了「序列→結構」,但工程上真正卡的是「哪條序列有我要的功能」,而設計等於在 20^L 的離散空間裡當模型的對手;講義把條件生成 p(x|y) 收斂成三條統計上正確的路,最後都回到 Bayes rule。Lec 26 是線上 guest lecture,沒有公開教材。Lec 27 先定義 agent(LLM 在迴圈裡用工具、自己決定下一步),再說「資料被環境取代」:環境 = Docker + 任務 + verifier,拿來做 SFT、RL(RLVR、GRPO)或不動權重的 GEPA。期末自評用 Fall 2025 與 Spring 2025 期末考加解答,Spring 2026 期末沒有公開。
HW1 程式作業把 Lec2 的 entailment 做成一個 Pacman 版 Wumpus agent:Q1–Q2 用 Expr 和 pycosat 暖身,Q3–Q5 寫 PKE 感知規則、建 KB、用兩次 SAT 呼叫判斷 SAFE/NOT_SAFE/UNSURE,Q6–Q7 用現成的 A* 輔助函式組出 exploration agent 和三層策略的 hybrid agent。starter 與本機 autograder 可匿名下載;Gradescope 上的線上題只限校內。本文不附解答。
07-380 HW2 分三塊:程式作業先寫煎餅機器人的 PDDL,交給 unified-planning+Fast Downward 求最優計畫,再在 rrt.py 實作 RRT 與 RRT*(Q2–Q7);書面作業考 GraphPlan、一題 LP 建模與兩題 LP 圖解;另有只限校內的 Gradescope 線上題。本文只講題目結構、需要的概念與本機 autograder 怎麼跑,不附解答。
HW3 分三塊:程式作業要你用頂點枚舉寫出 LP 求解器,再在上面疊 branch and bound 解整數規劃,外加三題文字建模;書面四題分別是整數規劃手算、Amazon 送貨路線的倫理、PCA 的 SVD 計算,以及證明 Laplace 先驗等價 L1。截止日是 10/1,本文只講結構和需要的概念,不給解答。
07-380 Lec1 沒有演算法,重點是三件事:「智慧=在不確定性下把任務做好」這條主線、投影片上那張把 07-280 與 07-380 主題分色的 AI/ML 泡泡圖,以及 Quiz 55%、沒有期末考、Project 收尾的評分結構。校外讀者先用這講替後面 25 講定位。
Lec2 把踩地雷和 Wumpus World 的「這格安不安全」寫成 entailment 問題:KB ⊨ α 等價於 KB ∧ ¬α 不可滿足。能回答它的有三種做法:暴力列舉 model 的 TT-ENTAILS、在回溯上加提早終止、pure symbol、unit clause 的 DPLL,以及只吃 definite clause、線性時間的 forward chaining。Resolution 放在附錄,標示 out of scope。
07-380 Lec3 把命題邏輯的 successor-state axioms 換成 STRIPS 的 pre/add/del 三個集合,規劃就變回狀態空間搜尋;搜尋太大時,GraphPlan 允許動作同時發生、事實只增不減,delete relaxation 再把刪除效果整個拿掉,換來 FF 與 Fast Downward 使用的 heuristic。
07-380 Lec4 後半把規劃搬到連續的 configuration space:狀態沒辦法枚舉,RRT 就隨機取樣、從樹上最近的節點往樣本延伸一小段,並檢查整段不碰撞。RRT 是 probabilistically complete 但不最優;RRT* 用樹上的路徑成本幫新節點選父節點、再重接鄰居,讓路徑隨樣本增加收斂到最優。
07-380 Lec5 用 Diet Problem 把一段文字題寫成 min cᵀx s.t. Ax ⪯ b,再畫成圖:每條限制是一個半平面,cost 是一個方向,等成本線垂直於 c。沿著 −c 推到最後一刻碰到可行域的地方,一定包含某個頂點,所以演算法只要看限制邊界的交點:頂點枚舉全部檢查,simplex 從一個頂點貪心走到鄰居。
07-380 Lec6 在 LP 上多加一條 x ∈ ℤᴺ,頂點解就可能不是整數,而且在 LP 解附近找整數點也不保證對。解法是先把整數限制拿掉(relaxation),用 LP 算出下界,再對某個非整數座標分成 xᵢ ≤ floor 與 xᵢ ≥ ceil 兩支,全部丟進依 LP 目標值排序的 priority queue;第一個被取出的整數解就是最優解。
07-380 Lec7 把 PCA 放進「低秩最佳化」的框架:找一個 rank 不超過 r 的矩陣去逼近原資料。對單位向量 v,每個點的重建誤差等於 ‖x‖² 減去投影長度的平方,所以最小化重建誤差和最大化投影變異數是同一個問題;用 Lagrange 乘數解出來,答案是共變異數矩陣的特徵向量,也可以直接從 SVD 的 V 讀出。課站把 LoRA 論文列為延伸閱讀,它的 ΔW = BA 就是同一個低秩想法用在權重更新上。
Lecture 8 把 MLE 的 argmax p(D|θ) 換成 argmax p(θ|D):先驗 p(θ) 乘進 likelihood,取負 log 之後就變成目標函數裡多出來的一項。用 trick coin 看先驗怎麼被資料蓋過,用 Beta 先驗算出點擊率,再把線性迴歸的高斯先驗、Laplace 先驗對到 L2、L1 正則化。
Lecture 9 不再直接學 p(y|x),改成先學類別先驗 p(y) 和類別條件分佈 p(x|y),再用 Bayes rule 反推。這樣做要付出更強的假設,換來的是能生成新資料、資料少時比較穩。Naive Bayes 用條件獨立把參數砍到可估計,GDA 用多變量高斯處理連續特徵,共變異數一不一樣決定邊界是直線還是曲線。
07-380 Lec10 的投影片目前還沒上課站,本文只依 PR6 Bayes Nets 預讀筆記與 15-281 Bayes Net Demo:聯合分佈能回答任何 query,但沒人給你、也大到存不下;Bayes net 把它寫成「每個節點給定父節點」的條件機率表乘積,少畫的邊就是獨立性假設。
07-380 前十講依課站 Schedule 分成 Reasoning Under Certainty、Optimization、Reasoning Under Uncertainty 三段:先用邏輯證明、用搜尋規劃,再把問題寫成有限制的目標函數,最後在 MAP 讓先驗進場、轉向機率模型。HW1 檢查邏輯+搜尋、HW2 檢查規劃+LP 圖解、HW3 檢查求解器實作+PCA 與 MAP 推導。
把論文工作流拆成三個動作——找、讀、寫,各推薦一個工具:Google Scholar 搜論文、Moonlight AI 讀論文、CorTeX 協作寫論文。三個工具免費就能用,合在一起覆蓋從文獻探索到投稿的完整流程。
每天 30 分鐘、持續 12 週,用跟讀法+情境模擬+AI App 三件組合,讓職場英文從「聽得懂但說不出來」變成能開會能簡報。
A/B testing 怎麼把產品改動變成可推論的效果? 這篇會從考試題型、核心直覺、手算例子一路接到 ML/AI 的實際工作流。