深度學習:預訓練、autoencoder 與 PCA|台大林軒田 機器學習技法 第 13 堂
網路疊深之後,每一層只要做一點事,但結構、模型複雜度、最佳化與計算量都變難。這堂課挑初始化與正則化兩件事來講:用 d—d̃—d 的 autoencoder 一層一層預訓練權重,讓每一層先學會保留資訊的編碼;在輸入加人工雜訊訓練,當成一種正則化;最後把 autoencoder 換成線性的,推出最佳的 W 就是 XᵀX 最大的 d̃ 個 eigenvector,資料先減平均就是 PCA。
網路疊深之後,每一層只要做一點事,但結構、模型複雜度、最佳化與計算量都變難。這堂課挑初始化與正則化兩件事來講:用 d—d̃—d 的 autoencoder 一層一層預訓練權重,讓每一層先學會保留資訊的編碼;在輸入加人工雜訊訓練,當成一種正則化;最後把 autoencoder 換成線性的,推出最佳的 W 就是 XᵀX 最大的 d̃ 個 eigenvector,資料先減平均就是 PCA。
CS230 是 Andrew Ng 與 Kian Katanforoosh 在 Stanford 教的深度學習課,採翻轉教室:神經網路、最佳化、CNN、序列模型與 Transformer 的基礎放在 Coursera 的五門線上課,每週一堂實體課講專案方法、對抗攻擊與生成模型、強化學習、LLM 應用與可解釋性。九堂實體課的錄影、多數投影片與兩份附解答的期中練習考公開;Stanford 專用的 Coursera 場次、助教課錄影與專案指導拿不到。
今天的 Deep Learning & NLP 輪練涵蓋四個核心概念:self-attention 用 Query/Key 內積算相似度再乘 Value 做加權,複雜度隨序列長度成平方成長;causal mask 跟 padding mask 是兩種完全不同用途的遮罩,一個管「能不能看未來」一個管「要不要理會填充值」;subword tokenization(BPE/WordPiece)靠拆成已知子詞單元解決 OOV,但 token 數會隨語言的 fertility 而不同;RNN 跟 Transformer 的根本差異是序列狀態用「固定大小隱狀態」還是「可隨時回看任一位置」來處理長距依賴。練習題是面試常考的場景題:GPT 只用了 Transformer 的 decoder、靠 causal attention 做自回歸生成,拆解思路把「為什麼只用一半的架構」到「KV cache 怎麼讓推論變快」串成一套完整推理鏈。
反向傳播不是新的數學,是把連鎖律裡各層共用的那一段只算一次。線性層的前向是乘 W、反向是乘 W 的轉置、權重梯度是「輸入 × 回傳的梯度」;計算圖分岔時梯度相加,所以共用參數的梯度也是相加。文末用一個 2-2-1 的小網路手算一次更新,損失從 0.0175 降到 0.0076。
參數數量與 VC 維度都解釋不了深度網路的泛化:網路能把隨機標籤背到 100%,VC 界因此變成沒有資訊的空話;參數加到超過插值門檻後測試誤差反而再降一次。Isola 的解釋是「擬合資料以外還有別的壓力」,他認為最重要的是架構內建的對稱性與組合性。這個問題到現在還沒有定論。
生成模型加上它的潛在空間可以當成一份能操作的資料:沿潛在方向移動可以產生反事實影像、少量人工標註可以擴成整份分割資料集(一張標註過的 GAN 影像約抵 100 張一般標註影像)。但用生成資料訓練表示目前仍輸給真實資料(課堂引的數字是 42.6% 對 43.9%),而且稀有類別正好是生成模型最不可靠的地方。
測試損失對資料量、參數量、算力都近似冪律,但指數很小:Kaplan 等人量到的資料指數約 0.095,資料加倍只讓損失降 6%,要砍半得多 1,400 多倍。算力該怎麼分,兩篇論文答案不同:Kaplan 是參數 ∝ C^0.73、資料 ∝ C^0.27,Chinchilla 改成各約一半。公開錄影只涵蓋到第二個發現,後面的內容本文依投影片整理,沒有講者的口頭說明。
語言模型只做一件事:給前文,輸出下一個詞的機率分布。規模夠大之後,控制它的手段變成改輸入:放幾組範例(in-context learning)、要它先寫推理步驟(chain-of-thought,課堂引的例子是一句 Let's think step by step 把算術題正確率從 18% 拉到 80%)。但聽懂指令、會說不知道,都不是光靠預測下一個詞就會有的,要另外用 instruction tuning 與 RLHF 補。
梯度下降等於假定權重空間是歐氏的,而神經網路多半不是。Bernstein 的做法是替每一層選一個範數(線性層用依形狀縮放的譜範數),再用兩條組合規則算出整個網路的範數;用它正規化更新,最佳學習率就不隨寬度與深度漂移。把同一個想法推到對偶映射,線性層的更新變成「把梯度的奇異值全設為 1」,這也是當時 nanoGPT 訓練速度紀錄用的做法。
訓練完的模型不是只能做一次前向傳遞。貪婪取樣不保證找到模型認為最可能的序列(本文的例子裡它拿到 0.30,最佳是 0.36),所以多取樣幾次挑最好的就會進步;評分標準換成驗證器,還能挑出真的對的答案。再把搜尋到的好答案拿回去訓練模型,就是 AlphaGo 與 STaR 的迴圈,Isola 推測 o1 也是這樣做的。
第 7 堂先把線性模型的訓練流程原封不動搬到非線性模型:每筆資料一個 loss、取平均、用 SGD 往下走,剩下兩個問題是模型長什麼樣、梯度怎麼算。後半堂回答第一個:一個神經元是 ReLU(wᵀx+b),m 個神經元疊成矩陣就是一層 ReLU(Wx+b),參數 md+m 個;再往上是殘差區塊 z+σ(MM(σ(MM(z)))) 與 LayerNorm、RMSNorm。梯度怎麼算留給第 8 堂。
這堂課從一個定理出發:能用 N 個基本運算算出來的純量函數,梯度也能在 O(N) 時間算完。做法是把鏈鎖律讀成「拿到 ∂J/∂u 就能算 ∂J/∂z,而且只需要中間那個模組的資訊」,再替矩陣乘法與啟動函數各推一個 backward 函數:Wᵀv、vzᵀ、σ′(z)⊙v。本文另外用一個 2-2-1 的小網路把前向與反向手算一遍。
今天的 Deep Learning & NLP 輪練涵蓋五個核心概念:Self-Attention 的 scaled dot-product 為什麼要除以 sqrt(d_k)、tokenizer fertility(tokens/word)怎麼決定一個語言的成本與有效 context 長度、BERT 的 attention mask 跟 MLM loss label 是兩個獨立機制(常被面試者混為一談)、CNN 跟 RNN 在序列資料上的取捨、以及 fine-tuning 從 full fine-tune 到 LoRA 到 continued pretraining 的光譜。練習題來自 Sarvam AI 的代表性面試題(由 AI-Engineer-Interview-Questions 專案整理、非洩題):解釋為什麼 tokenization 是多語言 LLM 的第一個效能瓶頸,並說明像 Sarvam-1 這種低 fertility tokenizer 如何改變成本結構,拆解思路把「fertility 這個指標怎麼定義」到「下游三條成本線怎麼被它決定」串成一套完整的推理鏈。
面試追問通常落在機制:為什麼要除以 √d_k、AdamW 和 Adam+L2 差在哪、AUC 很高為什麼還不能上線。本文逐題講概念、機制與答法,最後附 3 題可執行的 numpy 手寫題。
GAN 用判別器取得生成訊號,擴散模型則先定義一個會逐漸破壞資料的過程,再學習反方向的條件分佈。
分類器學「這張圖是哪一類」,GAN 的生成器學「怎麼從隨機輸入產生像資料的新樣本」。
L05 用一個四層的情感分類網路當主線,先把計算表示成計算圖、用拓撲排序算出前向值,再用連鎖律與向量–Jacobian 乘積反向傳回梯度,最後拆解 TensorFlow v1 的 placeholder、variable、operation 與 session。投影片有一頁直接標著「important for HW2」。
11-868 第二份作業分三塊:自動微分的 topological_sort 與 backpropagate(40 分)、Linear 層與 MLP 網路(30 分)、binary cross entropy 與訓練迴圈(30 分),最後在 SST-2 上用 GloVe 詞向量訓練情感分類器,驗證準確率要到 75%。預設後端是你作業一寫的 CUDA kernel;repo 已在 2026-09-02 合併了 Fall 2026 的小修正。
CS231N Spring 2026 的 A2 佔總成績 18%,五個 notebook 從手寫 BatchNorm/LayerNorm、Dropout、卷積與池化的 forward/backward,一路走到 PyTorch 的三層抽象,最後用 PyTorch 在 COCO 上做 RNN 影像描述。轉折點在 Q4:前三題的梯度要自己推,Q5 起交給 autograd,再用數值梯度檢查驗證。官方投影片提醒這是三份作業裡最長的一份。
兩層網路會把 32×32×3 的圖片拉平成 3072 維向量,空間結構就此消失。CS231N L5 的答案是卷積層與池化層:卷積用一組小濾波器在圖上滑動,同一組權重用在每個位置;池化負責降採樣,沒有可學參數。兩者都有平移等變性。記住一條公式就能算每一層的輸出尺寸:(W − K + 2P) / S + 1。
CS231N 是 Stanford 的電腦視覺深度學習課,Spring 2026 版的 16 講投影片、三份作業的題目頁與起始碼、課程筆記與專題規範都公開,本系列評為 A3(足以自學)。缺口有三個:2026 錄影只放在 Canvas、L17 與 L18 沒有投影片、期中考不公開。可以拿 2026 的投影片和作業,配 2025 年的 YouTube 錄影,照官方課表排 10 週。
L2 從一個問題出發:電腦看到的是一堆 0 到 255 的數字,要怎麼認出貓?寫規則行不通,所以改用 data-driven 方法:收集資料、訓練、在新圖上評估。第一個分類器是 kNN,它教會你 train/val/test 怎麼切,但像素距離沒有語意。第二個是線性分類器 f(x,W)=Wx+b,可以從代數、視覺(模板)、幾何(超平面)三個角度看,再用 softmax 把分數變成機率,用 −log 機率當 loss。
CS231N 2026 的第一講分成兩份投影片。第一份用一條時間軸講視覺與深度學習的歷史:從 Hubel & Wiesel 的貓實驗、Marr 的視覺表示階段,到 Neocognitron、backprop、LeNet,再到 ImageNet 與 AlexNet 把兩條線接起來。第二份講課程地圖、評分與規則,並把作業全面搬到 Colab。讀完這一講,你會知道後面 17 講各自在補哪一塊。
L4 前半把線性分類器 f = Wx 換成兩層網路 f = W₂ max(0, W₁x),說明拿掉 max 這個激活函式就會退回線性分類器。後半回答網路變深之後梯度怎麼算:把函式畫成計算圖,每個節點只要知道自己的本地梯度,再乘上從後面傳回來的上游梯度。add 分配梯度、mul 交換、max 路由、copy 相加,四個模式就能追蹤任何網路。最後推到矩陣:dL/dx 永遠和 x 同形狀,所以不要真的建出 Jacobian。
RNN 用同一組權重,在每個時間步更新一個隱藏狀態,所以能處理任意長度的序列。CS231N L7 從手工造一個偵測連續 1 的 RNN 講起,接著是字元級語言模型、把 CNN 特徵接進 RNN 做影像描述,再用梯度流解釋為什麼 vanilla RNN 難訓練:梯度爆炸靠 gradient clipping,梯度消失靠改架構,也就是 LSTM。最後把 Mamba 這類 state space model 稱為「現代 RNN」。
L2 給了分數函式和 loss,L3 回答「怎麼找到好的 W」。前半講正則化:在 data loss 旁邊加 λR(W),讓模型不要把訓練資料背得太好。後半是一條最佳化器的演進線:SGD 在窄長山谷裡會來回震盪,Momentum 累積速度,RMSProp 依每個維度調步伐,Adam 把兩者合起來再做偏差修正,AdamW 把 weight decay 移到動量計算之外。投影片最後的實務建議是:多數情況先用 Adam(W),SGD+Momentum 可能更好,但要花更多力氣調學習率與排程。
CS231N 第 6 講的 2026 投影片標題是「Training CNNs and CNN Architectures」,分成「怎麼搭」和「怎麼訓練」兩半。架構只細講兩個:VGG 證明三層 3×3 卷積比一層 7×7 更深、參數更少;ResNet 讓層去學殘差 F(x) = H(x) − x,解決深網路連訓練誤差都更差的最佳化問題。訓練那半最實用的是遷移學習:資料不到約一百萬張,就先找大資料集上的預訓練模型。
6.5940 的前兩講先證明問題存在,再給量尺。L1 用一張圖說明模型參數量的成長遠快於 GPU 記憶體,並指出雲端 GPU 有 80GB 記憶體、微控制器只有 320kB。L2 把效率指標分成記憶體與運算兩類:#Parameters、model size、peak activations,以及 MAC、FLOP、OP。以 AlexNet 為例,它有 61M 參數、724M MACs;在微控制器上真正先爆掉的常常是 activation,不是參數。Lab 0 用 CIFAR-10 上的 VGG 變體(9.2M 參數、606M MACs)當之後幾個 lab 的起點。
第 7 講分三段。先用 MAC 公式複習全連接、卷積、分組卷積、depthwise 與 1×1 卷積;再拆 ResNet bottleneck、ResNeXt、MobileNet、MobileNetV2、ShuffleNet 與 Transformer 各靠什麼省運算,例如 bottleneck 比直接做 2048 通道的 3×3 卷積少 8.5 倍 MAC。最後進入 NAS:搜尋空間分 cell-level 與 network-level(深度、解析度、寬度、kernel size、拓撲),搜尋策略有 grid、random、強化學習、梯度下降、演化五種。投影片的一道算術題顯示,NASNet 的 cell 空間在 M=5、N=2、B=5 時就有 3.2×10¹¹ 個候選。
Pruning 是把神經網路裡不重要的權重或神經元拿掉,目標寫成「在非零權重數不超過 N 的限制下讓 loss 最小」。6.5940 第 3 講先處理其中兩個決定。第一是粒度:從任意位置都能剪的 fine-grained,到整個通道一起剪的 channel pruning,越規則越容易在現有硬體上變快,但能剪掉的比例越小;介於中間的 2:4 sparsity 在 NVIDIA Ampere GPU 上最多快 2 倍。第二是準則:看權重大小、看 Batch Norm 縮放係數、看二階導數、看 activation 有多少是零,或看剪完後輸出重建得多好。
第 6 講處理「量化後精度掉了怎麼辦」。先不重訓:換更細的 scale 粒度(per-channel、group、MX)、裁掉離群值(EMA、校準批次、MSE、KL)、改捨入方式(AdaRound)。不夠再重訓:QAT 保留一份全精度權重,前向做假量化,反向靠 STE 把梯度直接穿過去。投影片引用的白皮書數字裡,MobileNetV1 做 per-tensor INT8 PTQ 準確率掉到 0.1%,改成 per-channel QAT 回到 70.7%,浮點原本是 70.9%。最後兩段談 1–2 bit 的二值/三值網路,以及用強化學習自動分配每層位元數的 HAQ。
第二講把上一講的「呆萌型 AI 機器人」拆開:輸入輸出都要變成數字(張量),分類問題用 one-hot 與 softmax 把分數變成機率,神經網路由神經元一層層接起來,訓練就是用梯度下降把 loss 壓小。最後用 Keras 在 MNIST 上打造第一個全連結神經網路,再接上 Gradio 畫板。第二週作業要你自己設計 DNN,唯一的硬規定是不能是三層;長庚衛星班要求截圖驗證正確率最高的那組參數,也鼓勵保留失敗的嘗試。
台大陳縕儂《深度學習之應用》(ADL)是以 NLP 為主軸的深度學習課,14 堂分四段:神經網路與反向傳播、序列與 Transformer(詞向量、RNN、attention、BERT)、讓預訓練模型做事(prompt、instruction tuning、RLHF、LoRA、RAG、解碼與評估),以及 LLM 的議題與前沿(偏見與安全、Language Agents、推理、工具使用、多模態)。Fall 2025 的講義與分段影片公開;作業只有 HW1 有完整規格,HW2、HW3 與期末專題只有說明影片。
ADL 的第一堂沒有數學推導,只建立兩個觀念。第一,機器學習是給機器很多組輸入與輸出,讓它自己找出把輸入變成輸出的函數;深度學習是把很多簡單函數串成一條生產線,只給兩端的資料,中間每一站做什麼都由機器學。第二,要用深度學習解問題,先寫下輸入 X 與輸出 Y:輸出的形式決定任務是分類還是序列預測,輸入的性質決定該選哪種網路。中間還回答兩個問題:為什麼 2010 年後才突破(資料與 GPU),以及為什麼要深不要胖。
訓練一個模型要回答三個問題。模型是什麼:一層層的神經元,每層是 z = Wa + b 再經過非線性的 activation;一個神經元只能畫一道分界,所以做不了 XOR,疊層才行。什麼叫好的函數:定一個 loss,值越小越好。怎麼挑出最好的:gradient descent 每次看腳下的斜率走一步,實務上用 mini-batch SGD。參數有上百萬個,梯度靠反向傳播算:forward 一趟存下每層的輸出,backward 一趟從輸出層往回算 δ,兩者相乘就是每個權重的梯度。文中用數字各走了一次。
技法第 16 堂沒有新模型,它把前 15 堂的模型改用三個問題重新分類:特徵藏在哪裡(kernel、aggregation、extraction、低維投影)、誤差怎麼降下來(梯度、等價問題、拆成多步)、模型太強時怎麼踩煞車(正則化、驗證)。本文用八個點把 PCA 加 AdaBoost-Stump 從頭算完,三個問題各對一次答案;最後保留 Fall 2024 校內課補上的 ReLU、Xavier/He 初始化、momentum、RMSProp 與 Adam。
今天的 Deep Learning & NLP 輪練涵蓋五個核心概念:scaled dot-product attention 為什麼靠一次 batched matmul 就能在 GPU 上平行化、多頭注意力把同一個嵌入維度切成多個子空間各自學不同關係、positional encoding 為什麼是 Transformer 沒有遞迴之後必須額外補回去的資訊、CNN 的局部性假設跟 RNN 的遞迴假設跟 Transformer 全域互動的取捨,以及 BPE/WordPiece/SentencePiece 三種 subword tokenization 的差異跟為什麼 byte-level BPE 能徹底消除未知詞問題。練習題來自 dsprep.com 收錄、Anthropic、DeepMind 等研究實驗室常考的一題:為什麼 Transformer 選擇 scaled dot-product attention 而不是 additive attention,拆解思路把效率、scale factor、multi-head 動機串成一套完整的設計哲學論述。
Lec 17 用 XOR 說明為什麼線性模型、甚至多層線性模型都學不會非線性邊界,只要一層 ReLU 就能解;萬能近似定理保證「存在」,但不告訴你怎麼找權重、要多寬。Lec 18 把 chain rule 系統化成計算圖上的反向傳播:多條路徑的梯度相加,成本和參數數量成線性,有限差分則是平方。Discussion 8 讓你親手證明 GD 收斂速率與一維 ReLU 萬能近似。
Lec 19 先收尾反向傳播,接著處理「怎麼讓梯度一直流得動」:全零初始化會讓所有單元學成一樣,要用小的隨機值(ReLU 用 He 初始化);batch norm 用 mini-batch 的平均與變異數正規化 pre-activation。後半進入 CNN:局部連接加權重共享,讓同一個特徵偵測器掃過整張圖。Lec 20 補完 pooling、receptive field 與 CNN 的訓練,再談 early stopping、dropout,以及和傳統 bias-variance 圖不一樣的 double descent。
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 期末沒有公開。
今天的 Deep Learning & NLP 輪練涵蓋五個核心概念:self-attention 怎麼用 Query/Key/Value 算相關性、positional encoding 為什麼是 self-attention 的必要補丁、子詞切法(BPE/WordPiece)怎麼解決 OOV 問題、fine-tuning 跟 RAG 這組面試常見二選一該怎麼答、embeddings 怎麼用向量距離表示語意相似度。練習題來自 Google agentic AI engineer 職缺的面試指南:解釋 attention 機制的運作原理,以及 context compression 技術如何影響 retrieval 準確度,拆解思路把 attention 的計算複雜度跟壓縮/準確度的 trade-off 串成一套完整回答。
今天的 Deep Learning & NLP 輪練涵蓋 self-attention 的 Q/K/V 運算與 O(n²) 複雜度來源、positional encoding(sinusoidal 到 RoPE/ALiBi)為什麼是 Transformer 必要的一環、BERT(encoder,雙向)與 GPT(decoder,因果)的架構與訓練目標差異、Word2Vec/GloVe 等靜態詞向量與 BERT/GPT 情境化詞向量的本質不同,以及 full fine-tuning、freeze 上層、LoRA 這幾種微調策略該怎麼挑。練習題是把一個只支援 2K token 的 Transformer 擴充到能處理 100K token 長文件,面試官想看你能不能把「複雜度」「位置外推」「生產環境成本」三條線同時講清楚。
這輪 Deep Learning & NLP 聚焦 2026 年面試官最愛追問的『從架構講到工程後果』:decoder-only transformer 的四層結構(embedding + RoPE、causal self-attention、MLP、線性頭)、self-attention 的 Q/K/V 直覺與為什麼要 causal mask、decoding 為什麼是 memory-bandwidth bound 而不是 compute bound,以及 token 數量怎麼直接換算成 API 成本、context window 容量與生成延遲。練習題是一道 MAANG 等級的『解釋 Transformer 架構』開放題,練的是怎麼在 5 分鐘內講完架構又能延伸到推論成本。
Deep Learning & NLP 面試考的不是你會不會畫 transformer 架構圖,而是你懂不懂每個設計決策背後在犧牲什麼。今天聚焦四個高頻考點:self-attention 的計算與 KV cache 的作用、tokenization 的 vocab size 取捨、『embedding 是向量空間契約、維度相同不代表相容』這個資深候選人才會講的細節,以及 fine-tuning 跟 prompting 該怎麼選、catastrophic forgetting 怎麼防。練習題則是 Scale AI 的『設計 embedding 生成與分類 API』,走一遍版本相容性、部分失敗與多租戶隔離的完整設計。
單層網路理論上能逼近任何連續函數(萬能近似),但寬度會隨維度指數爆炸;Barron 定理在特定的『Barron 函數類』下讓誤差只隨樣本數 √n 收斂、與維度脫鉤;而深度能對組合/階層函數帶來指數級的寬度節省——這正是深網比淺網強的根本原因。
Lec 4 核心重點:為什麼 CNN 是處理網格資料的最佳選擇——卷積、平移等變性、池化與經典架構一次掌握
GNN 本質是「在圖上做局部訊息傳遞的 MLP」:它把 CNN 的固定網格鄰居推廣成任意拓撲的鄰居聚合。它必須滿足置換等變/等變性。理論上,一階 GNN 的表達力不超過 Weisfeiler–Lehman 圖同構測試——有些結構它永遠分不出來,這也是後來 GIN、位置編碼、子圖技巧要補的洞。
本講是 6.7960 的導論:deep learning 之所以爆發是『資料 + 算力 + 演算法』三股力量同時到位;本課從架構(CNN/GNN/Transformer)到訓練、表示、生成、遷移、規模、LLM 一路串起來;最後用一個 ~30 行的 PyTorch training loop 確認你的環境能跑。
優化不是孤立的數值問題:用譜視角看 SGD,權重更新的『量』決定特徵學習;Maximal Update Parameterization 讓學習率與初始化跨寬度遷移,critical batch size 決定算力換取收斂的邊際。
Transformer 不是憑空冒出的架構:token 把資料切成離散單元,attention 做軟性的訊息聚合,positional code 補回順序。把它和 MLP/CNN/GNN 擺在一起看,會發現它們都是『對鄰居做加權彙整』的不同特例。
訓練神經網路更像工程而非魔法:先看資料、先在小批次上過擬合證明容量夠、再用正則化把泛化補回來;學習率永遠是影響最大的那顆旋鈕。
RNN 沿時間傳遞隱狀態,梯度連乘可能衰減或放大;LSTM 以門控制 cell state 的保留與更新,改善長程訊號傳遞但不保證穩定。Self-attention 縮短位置間的資訊路徑,單層 dense attention 的總計算仍隨序列長度平方成長。
表示學習的目標是把原始資料壓成「好用」的向量:自編碼器用重建逼出有意義的潛空間,VQ 把連續表示離散化成碼本,自監督則用『遮住一部分再重建』來免費產生監督訊號。
相似性式表示學習不重建輸入,而是直接塑造潛空間的幾何:讓同類表示靠近、異類推遠。InfoNCE 把這件事寫成『在一堆負樣本裡認出正樣本』的分類問題,而 alignment / uniformity 給了它可解釋的評價指標。
把網路變寬到極限,它的隨機初始化輸出會變成一個高斯過程(NN–GP),而訓練動態則由神經切線核(NTK)固定下來。這套理論不只能用來分析,還反過來指導我們設計『對的歸納偏置』。
生成模型本質是在學資料的分佈 p(x)。密度模型直接建模機率,能量模型用一個未歸一化勢能 + 採樣器,GAN 讓判別器逼出逼真樣本,自回歸一步步預測下一個 token,擴散則用『逐步加噪再學去噪』繞開棘手的最大似然。
VAE 的核心是 ELBO + 再參數化:把 log p(x) 替成 E_q[log p(x|z)] − KL(q(z|x)‖p(z)),encoder 輸出 μ/σ 用 z = μ + σ⊙ε(ε ~ N(0,1))讓採樣可反向傳播。訓練 = 重構 + KL 兩項拉扯,由此衍生 β-VAE、posterior collapse、VQ-VAE 等修正。
條件生成的關鍵是「把 y 餵進模型」:cGAN 在 G/D 拼接 y,cVAE 把 y 當額外輸入進 encoder/decoder;擴散模型時代,Classifier Guidance 用外部分類器梯度把生成推向指定類別,Classifier-Free Guidance 則同訓練 conditional + unconditional 並在推論時線性組合兩者——後者是 Stable Diffusion / Imagen 的標準武器。
OOD 失敗不是 bug,是 i.i.d. 假設破掉:covariate shift(影像風格變了)、label shift(類別比例變了)、concept shift(同一個詞意思變了)各有對應的應對方式;最常見的原因是模型抓了『虛假相關』(用草原當牛的存在訊號),IRM 與 domain randomization 想從訓練資料結構本身把這件事修掉,test-time adaptation 在推論時即時修正。
遷移學習的核心是『在大資料上學到的特徵是好的通用表示』:下游任務資料少時,把 backbone 凍住只訓練線性 head;資料夠就全模型微調;想省算力就上 LoRA / adapter。SimCLR、MAE 這類自督導預訓練讓『上游不需要標籤』,下游表現又上一層樓。
ResNet 用殘差連接解決退化問題,讓網路能堆到 100+ 層;EfficientNet 複合縮放平衡深度/寬度/解析度;ConvNeXt 吸收 Transformer 設計重奪 CV 王座。
從 SGD 到 Adam,用縮放規則一次搞懂深度學習優化器怎麼選、學習率怎麼調
手寫 NumPy MLP + 反向傳播 → PyTorch Autograd 驗證,完整複現 OCW HW1 核心考點
正則化不只是防過擬合——Weight Decay、Dropout、BN、Label Smoothing 的機制與組合策略一次看懂
[MIT 6.7960 Deep Learning](https://deeplearning6-7960.github.io/) 有兩個公開程度截然不同的官方版本:Fall 2025 課站 21 講投影片全公開但 psets 在 Gradescope、解答與錄影鎖在 Canvas(A2);[MIT OCW 的 Fall 2024 版](https://ocw.mit.edu/courses/6-7960-deep-learning-fall-2024/)連影片、五份作業題目與起始檔都開放(接近 A3)。兩版綱要重疊約六成,講師從 Isola/Bernstein 換成 Kaiming He/Omar Khattab,不能拿舊影片硬配新講義。本文給出按目的分流的兩條自學路線。
第二階段不把 CNN 與 Transformer 當兩份架構圖背誦,而是透過 HW8 與 HW11 檢查表示、計算圖、訓練、遷移與生成是否真的接得起來。
Spring 2026 Lecture 1 聚焦神經元、感知器、連結主義與深度學習問題設定;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 2 聚焦布林函數、網路深度與寬度對表示能力的影響(含多輸入 XOR 的例子),並在結尾銜接到下一講的訓練問題;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 3 聚焦學習問題的設定(輸入與輸出如何表示成數字)、perceptron 學習規則及其不適用於多層網路、可微分的 divergence,以及經驗風險最小化(loss);本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 4 聚焦導數與梯度的定義、極值與二階導數、沿負梯度反覆更新的梯度下降,以及訓練前要先定義的網路、輸入輸出表示與 divergence;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 5 聚焦分層網路的符號、前向傳遞、chain rule 與 Jacobian(含向量激活函數),以及反向傳遞如何逐層算出權重與偏置的導數;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 6 聚焦梯度下降的收斂(凸函數與二次函數上的步長選擇、各維度差異)、局部極小與鞍點、遞減或自適應的 learning rate、R-prop,以及 momentum 與 Nesterov 加速梯度;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 7 聚焦SGD 與 mini-batch 的增量更新,以及 RMSprop、momentum 等趨勢式更新(二階方法只在投影片,錄影未講);本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 8 聚焦divergence(loss)的選擇、BatchNorm、dropout 與其他正則化手法,以及 early stopping 等訓練技巧(AdaGrad、Adam 不在這支錄影中);本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 9 聚焦為什麼要掃描輸入、把掃描分散到多層、以 max pooling 處理形變,以及 CNN/time delay neural network 的結構;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 10 聚焦CNN 的來源(Hubel 與 Wiesel、Fukushima 的 Neocognitron)、卷積層與池化層的運算,以及 filter 大小/stride/通道數等設計選擇;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 11 聚焦CNN 的回顧,以及卷積層與池化層的反向傳播;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 12 聚焦補充的反向傳播規則(stride、上採樣與下採樣)、對平移以外變換的不變性,以及 CNN 簡史與主要架構的快速介紹;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 13 聚焦序列建模的動機、狀態與記憶、Jordan/Elman 類循環網路、沿時間的反向傳播,以及雙向網路;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 14 聚焦時間反向傳播、梯度穩定性與 LSTM 類 gated memory;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 15 聚焦序列模型訓練時的對齊問題(以明確對齊、重新估計對齊來訓練的做法與其容易落入局部最佳的風險);CTC 只在結尾被引出,細節留到下一講;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 16 聚焦blank 符號與相鄰重複符號的合併規則、CTC 的 forward(alpha)機率計算,以及剪枝式的近似解碼(beam 僅在結尾簡短說明);本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 17 聚焦逐字預測下一個詞的語言模型、條件式翻譯模型,以及 beam search 解碼;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 18 聚焦seq2seq 的 attention 機制(query、key、value 與 softmax 加權平均)、multi-head 的提及,以及對 Transformer 的簡述;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 19 聚焦encoder/decoder 結構、mask、residual path 與架構變體;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 20 聚焦規模化自回歸模型、預訓練與 scaling law,以及後訓練(包含讓模型取樣自己的答案並依回饋改進);本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 21 聚焦神經網路到底表示什麼、重建目標(自編碼器),以及它與 PCA(降維)的關係;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 22 聚焦latent variable、ELBO、KL 項與 reparameterization trick;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 23 聚焦forward noising、reverse denoising、score/noise prediction 與採樣;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 24 聚焦generator、discriminator、minimax objective 與訓練不穩定;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 25 聚焦message passing、aggregation、node representation 與 permutation symmetry;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 26 聚焦state、action、reward、return、value 與 policy learning;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 27 聚焦聯想記憶、能量函數、固定點與 pattern retrieval;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
Spring 2026 Lecture 28 聚焦能量式機率模型(Gibbs 分布與歸一化常數 Z)、隨機(機率式)神經元,以及如何訓練這類機率網路;本文依官方 slides 與錄影重建主線,並提供不依賴課內 grader 的小型自我檢查。
CMU 11-785 Spring 2026 的 28 講內容都有官方 slides 與 YouTube,另有大量公開 bootcamp/recitation;但 HW1–4 的核心規格、starter 與評測依賴 Autolab、Piazza 和 Kaggle。
Winter 2026 第 1 講用四個時代整理 NLP:早期探索、符號系統、統計機器學習、深度與自監督學習;重點不是背年表,而是看每個時代如何重新定義語言問題。
2026 第 1 講從感知器、前向傳播、loss 到 gradient descent,建立後續九講共用的語言。
2026 第 2 講處理文字、音訊與時間序列中「順序會改變意義」的問題,並連到 Lab 1 的音樂生成。
2026 第 3 講從影像張量、卷積與 pooling 走到辨識系統,替 Lab 2 的 MNIST 與臉部偵測打底。
2026 第 4 講區分生成與判別問題,整理 VAE、GAN 與 diffusion 的學習目標,並接到 Lab 2 的 DB-VAE。
2026 第 5 講把 agent、environment、state、action、reward 與 policy 接成互動迴圈,理解信用分配與探索。
2026 第 6 講把深度學習放進新應用與真實限制,提醒讀者先定義資料、輸出、評量與失敗條件。
2026 第 7 講從 Asimov 的文學法則出發,討論現代 AI 安全協定的限制,以及 trace、測試資料與持續評估。
2026 第 8 講以科學發現循環為主線,說明 simulator、AI emulator 與實驗如何合作,而不是把科學簡化成通用預測。
2026 第 9 講從 GPU 記憶體壓力進入 checkpointing、offloading、ZeRO、FSDP 與多種 parallelism,理解擴展不是只加卡。
2026 先完成 PyTorch tensor、autograd 與 module 基礎,再把 ABC 樂譜切成字元序列,訓練 LSTM 逐字生成音樂。
2026 Part 1 用 dense network 與 CNN 辨識 MNIST;Part 2 以 DB-VAE 學習臉部 latent distribution,再調整訓練取樣。
2026 以 LFM2-1.2B 建立 chat template 與生成流程,用 LoRA 做風格調適,再透過 OpenRouter 與 Opik 組合 judge workflow。
Lecture 19–25 把 rational decisions、VPI 與 ML 接起來,Project 5 再用 PyTorch 實作 regression、分類、CNN、attention 與 optional character-GPT。
HW7 在 HW5 的 backpropagation 地基上加入深度模型的架構與訓練問題,重點是診斷而非只把網路加深。
Neural network 是堆疊的 logistic units;forward pass 算機率,backpropagation 重用 output error 來計算所有 gradients。
MIT 6.S191 的 2026 版已公開九講影片、投影片、三個 software labs 與解答,足以列為 A3 自學課;但官方執行路線需要 Google/Colab、Comet,以及 Lab 3 的 OpenRouter,校外讀者也拿不到 MIT 的學分、專案回饋與 API credit。
CS229 是 Stanford 把機器學習的數學推導走一遍的主課。Spring 2026 的錄影公開了 17 堂,前十堂是線性模型、神經網路與非監督式學習,後七堂走到擴散模型、LLM 與用強化學習訓練推理模型。本系列一堂一篇,這篇是地圖:每堂實際教什麼、影片標題哪裡對不上、講義有而課堂沒教的去哪裡補。
深度學習面試重點不是推導反向傳播,而是能不能解釋架構背後的設計直覺。高頻考點:CNN 的 locality 與 translation invariance、RNN 到 Transformer 的演進為什麼必要、self-attention 的計算邏輯與複雜度、BatchNorm vs LayerNorm 的適用場景、常見的 training tricks(learning rate schedule、gradient clipping、mixed precision)。
CS230 第一講是課程總覽,但 Andrew Ng 花最多時間講的是三件事:為什麼 scaling 有效、什麼時候 prompt 就不夠用了、以及他認為「不要學寫程式」是史上最糟的職涯建議之一。