Skip to content
系列
17 篇文章

台大陳縕儂 深度學習之應用 導讀

依官方 17 份講義、77 支錄影、助教課與 HW1 規格,讀台大陳縕儂深度學習之應用(ADL)Fall 2025:從神經網路、RNN、Transformer、BERT,到預訓練、RLHF、LoRA、RAG、生成解碼、安全對齊、Language Agents 與 Reasoning。

系列導讀

深度學習之應用:概念、作業與實作的學習路線|台大陳縕儂 深度學習之應用 課程總覽

台大陳縕儂《深度學習之應用》(ADL)是以 NLP 為主軸的深度學習課,14 堂分四段:神經網路與反向傳播、序列與 Transformer(詞向量、RNN、attention、BERT)、讓預訓練模型做事(prompt、instruction tuning、RLHF、LoRA、RAG、解碼與評估),以及 LLM 的議題與前沿(偏見與安全、Language Agents、推理、工具使用、多模態)。Fall 2025 的講義與分段影片公開;作業只有 HW1 有完整規格,HW2、HW3 與期末專題只有說明影片。

什麼是機器學習與深度學習|台大陳縕儂 深度學習之應用 第 1 堂

ADL 的第一堂沒有數學推導,只建立兩個觀念。第一,機器學習是給機器很多組輸入與輸出,讓它自己找出把輸入變成輸出的函數;深度學習是把很多簡單函數串成一條生產線,只給兩端的資料,中間每一站做什麼都由機器學。第二,要用深度學習解問題,先寫下輸入 X 與輸出 Y:輸出的形式決定任務是分類還是序列預測,輸入的性質決定該選哪種網路。中間還回答兩個問題:為什麼 2010 年後才突破(資料與 GPU),以及為什麼要深不要胖。

神經網路與反向傳播|台大陳縕儂 深度學習之應用 第 2 堂

訓練一個模型要回答三個問題。模型是什麼:一層層的神經元,每層是 z = Wa + b 再經過非線性的 activation;一個神經元只能畫一道分界,所以做不了 XOR,疊層才行。什麼叫好的函數:定一個 loss,值越小越好。怎麼挑出最好的:gradient descent 每次看腳下的斜率走一步,實務上用 mini-batch SGD。參數有上百萬個,梯度靠反向傳播算:forward 一趟存下每層的輸出,backward 一趟從輸出層往回算 δ,兩者相乘就是每個權重的梯度。文中用數字各走了一次。

詞向量、語言模型與 RNN:怎麼表示一個詞、怎麼預測下一個詞|台大陳縕儂 深度學習之應用 第 3 堂

這一堂有一條主線:語言模型要估計一串詞出現的機率,做法是一次預測下一個詞。先講詞怎麼表示,從字典、one-hot、共現矩陣走到低維的 word embedding。再講語言模型的三代:n-gram 用數的,沒看過的組合機率是零;neural LM 用網路預測,相近的詞自動分到機率;RNN LM 把所有前文累積在 hidden state,每個時間點共用同一組權重。RNN 用 BPTT 訓練,同一個矩陣乘很多次會讓梯度消失或爆炸,爆炸用 clipping,消失靠 LSTM、GRU 的 gating。最後依輸入與輸出的形狀,把應用分成整句分類、tagging 與 encoder-decoder。

Attention 與 Transformer|台大陳縕儂 深度學習之應用 第 4 堂

RNN 做翻譯時,要把整句壓進一個向量,句子一長就記不住。Attention 讓解碼器每產生一個字,都回頭對輸入的每個位置打分數、取加權和;把打分數的一方叫 query、被比對的叫 key、被加權的叫 value,就是 dot-product attention。Transformer 再往前一步:讓輸入自己對自己做 attention,完全拿掉 recurrence,換來平行化與固定的路徑長度,代價是要另外補上位置資訊。

Tokenization 與 BERT:詞怎麼切、怎麼得到看上下文的表示|台大陳縕儂 深度學習之應用 第 5 堂

這一堂有兩半。前半講 tokenization:用整個詞當單位,沒看過的詞只能變成 UNK;用字元當單位,意思又組不回來。折衷是 subword,常用的切法是 BPE:從字元開始,反覆把最常相鄰的一對合併。後半講 BERT:靜態詞向量給 apple 只有一個向量,分不出水果和公司。ELMo 用語言模型產生看上下文的表示,BERT 把 LSTM 換成 Transformer,用遮住 15% token 再填回來的 masked LM 與 next sentence prediction 預訓練,再把整個模型微調到下游任務。

中文抽取式問答:從四段文字裡找出答案 span|台大陳縕儂 深度學習之應用 作業 1

ADL Fall 2025 的 HW1 給一個問題和四段中文文字,要模型先挑出相關的那一段(paragraph selection,當成四選一的 multiple choice),再在那段裡標出答案的起點和終點(span selection),用 Exact Match 評分。規格投影片直接指定改 HuggingFace 的 run_swag_no_trainer.py 與 run_qa_no_trainer.py,simple baseline 用 bert-base-chinese、長度 512、有效 batch size 2、learning rate 3e-5,在 8GB 的 RTX 3070 上兩段加起來不到三小時。Kaggle 排行榜 9/29 截止、程式與報告 10/1 交到 NTU COOL。校外讀者拿不到 Kaggle 資料與評分,但任務設計、baseline 設定和報告五題都能照著練。

預訓練三大類與 Prompt Learning:從 BERT、GPT、T5 到 soft prompt|台大陳縕儂 深度學習之應用 第 6 堂

預訓練是在知道任務之前,先讓模型從大量無標註資料學通用能力。架構分三類:encoder 看兩邊、適合理解;decoder 只看左邊、能生成,是目前勝出的一類;encoder-decoder 用去噪預訓練。預訓練加微調有兩個難關:標註資料少、模型太大。GPT-3 的 in-context learning 不更新參數就能做任務,接著出現 hard prompt(template 加 verbalizer、LM-BFF)與直接訓練向量的 soft prompt(P-Tuning、Prefix-Tuning)。當時 soft prompt 效果較好,但最後留下來的是完全不訓練的 prompting。

後訓練與高效調整:模型怎麼學會照指令做事、怎麼便宜地改|台大陳縕儂 深度學習之應用 第 7 堂

預訓練完的模型很會接話,卻不一定會照指令做事。這一堂前半講 post-training 的兩步:instruction tuning 用大量不同任務教模型讀懂任務描述,RLHF 再讓模型朝人類偏好的整份回答靠攏,中間靠 reward model 與成對比較解決人力與評分不一致的問題,DPO 與 KTO 則把強化學習那一段拿掉。InstructGPT 與 ChatGPT 就是這兩步串起來。後半講 LLM adaptation:模型太大、整個微調太貴,所以只訓練少量參數,做法有 Adapter、LoRA 與 prompt tuning,沒有哪一種在所有任務都最好。

RAG:模型記不住、會過時的知識,怎麼先查再答|台大陳縕儂 深度學習之應用 第 8 堂

語言模型把知識存在參數裡,冷門的記不熟、訓練後發生的不知道、公司內部文件沒看過,而且答案無從查證。RAG 的做法是讓它開書考:先依問題檢索相關段落,再連同問題一起交給模型回答。這一堂依序講檢索怎麼做(切段、sparse 與 dense retrieval、bi-encoder 與 cross-encoder、沒有標註資料時怎麼訓練 retriever)、檢索前後還能加什麼(改寫問題、重排序、多次檢索)、RAG 的幾條發展路線(檢索什麼、怎麼用、何時檢索),最後比較 prompting、RAG 與 fine-tuning 各適合什麼情境。

NLG 的解碼、生成控制與評估|台大陳縕儂 深度學習之應用 第 9 堂

ADL Fall 2025 第 9 堂回答兩個問題:模型每一步給出一個機率分布,要怎麼從裡面挑字?挑出來的句子又要怎麼評?講義先用 teacher forcing 與 exposure bias 說明訓練和生成的落差,再依序比較 greedy、beam search、sampling、top-k 與 nucleus sampling,把 temperature 與各種 penalty 歸類為「控制」而不是解碼演算法;評估一半講 BLEU、ROUGE、perplexity 與 LLM-Eval,另一半講為什麼要用 RL 直接對整句的品質做最佳化。

偏見、安全、幻覺與對齊:預訓練模型帶著哪些問題、各怎麼處理|台大陳縕儂 深度學習之應用 第 10 堂

用大量網路資料訓練出來的模型有三類問題,各對應一個目標。偏見來自模型只顧多數、犧牲少數,目標是公平;偏見可能從資料到評估的任何一步進來,可以從資料、損失函數或介面設計下手。有害內容出在資料分布的長尾,目標是安全;防護可以做在訓練資料、輸入、訓練與輸出四層,而 jailbreak 就是想辦法繞過它們。幻覺的目標是符合事實;長回答可以拆成一條一條的最小陳述逐條查,再拿這個分數回頭訓練模型。三者常用的修正手段都是 alignment,但 reward model 不完美,照著它最佳化過頭會變差,而且偏好資料本身就帶著偏見。

Language Agents 的推理、記憶、規劃與多代理|台大陳縕儂 深度學習之應用 第 11 堂

ADL Fall 2025 第 11 堂以 EMNLP 2024 的 Language Agents tutorial 為底,把 agent 定義成「感知環境並採取行動的實體」,再指出 language agent 的新東西:推理本身也是一種內部行動。講義用推理、記憶、規劃三個概念組織整堂,推理這段講 CoT 與 ReAct,記憶這段講 Generative Agents 的 recency/importance/relevance 檢索,規劃這段從貪婪的反應式規劃講到 tree search 與 world model,最後用初始化、協作、團隊最佳化三步驟講多代理系統。

Reasoning:從 CoT、Test-Time Scaling 到用 RL 學推理|台大陳縕儂 深度學習之應用 第 12 堂

預訓練資料快用完之後,模型的進步改從「回答前多想一點」來。ADL 第 12 堂分兩半講這件事。前半是 test-time scaling:模型不動,推論時多花運算資源,做法有 short CoT、平行多答幾次再選(多數決、答案信心、outcome reward model)、用 process reward model 逐步評分並搭配搜尋,以及循序修改。後半是 learning to reason:要更新權重,資料可以來自人、來自模型自己產生再篩選、或來自更強的老師模型,也可以像 DeepSeek-R1-Zero 那樣只給答案對錯、用強化學習讓模型自己長出推理行為。

對話系統與工具使用:從四個模組到會查資料、會反問的 LLM|台大陳縕儂 深度學習之應用 第 13 堂

要幫使用者完成一件事的對話系統,傳統上拆成四個模組:理解這句話、追蹤到目前為止的狀態、決定下一步動作、把動作寫成句子。語言模型可以一口氣把四步演完,但沒有接外部工具時,它說「我幫你查」其實什麼都沒查。所以這一堂的前半是幾個讓模型用工具的代表作:LaMDA 先寫草稿再查證修改,BlenderBot 加上搜尋與長期記憶,WebGPT 從人的操作紀錄學搜尋,Toolformer 讓模型自己產生並篩選訓練資料。後半從單次回覆走向多輪:模型可以開口問使用者、學專家的策略、猜對方在想什麼,最後談對話怎麼評。

無標註學習與多模態:沒有標註時怎麼學到好的表示|台大陳縕儂 深度學習之應用 第 14 堂

資料很多不代表標註很多。這一堂問的是:沒有標註時,怎麼從資料裡學到有用的表示?共同的想法是找出觀察背後的潛在因子。Auto-encoder 把輸入壓成一段短碼再還原。VAE 另外要求短碼服從高斯分布,所以可以從分布抽樣來生成。Dual learning 讓兩個方向相反的任務互相當對方的回饋。自監督學習分成自我預測(遮掉一部分猜回來)與對比學習(相似的拉近、不相似的推遠)。CLIP 用圖文配對做對比學習,讓影像分類不必另外訓練;DALL·E 2 再用它的表示生成圖片。最後談多模態模型:把影像投影到語言模型的空間,以及能邊聽邊決定何時開口的串流互動。

從 PyTorch、Hugging Face 到 LoRA、量化與 vLLM 部署|台大陳縕儂 深度學習之應用 助教課

ADL Fall 2025 課程頁排了 7 堂助教課、10 支影片:Colab 與 PyTorch、ipdb 除錯 → NLP 專案的一生 → 四種 NLP 任務的資料格式 → LoRA 與 QLoRA → scaling law、LLaMA 架構與 MoE → 量化與評估 → 用 vLLM 部署。影片是助教在 2023 與 2024 年錄的,Fall 2025 沿用,影片裡說的作業一、作業三是當年的作業。課程頁上的 5 份講義連結都 404,同名檔在 Fall 2024 路徑可以打開,Deployment 只有影片。本文依影片口述逐堂整理助教實際示範的步驟與提醒,附可以手算的例子。