🧒 十歲小孩版
🔗 原始文章:【生成式人工智慧與機器學習導論2025】第_5_講:一堂課搞懂機器學習與深度學習的基本原理_(案例:老師什麼時候要下課) | 台大李宏毅教授
嗨!你有沒有過這種經驗——坐在教室裡眼睛一直看時鐘,心裡 OS:「老師到底什麼時候才要下課啦!?」🕐
你知道嗎?這個問題,其實可以用「人工智慧」來解答喔!今天要跟大家分享的,就是台大的老師怎麼教電腦「預測下課時間」的超酷故事!
🎬 故事開場:電腦能猜出老師什麼時候下課嗎?
想像一下,老師把上課要用的投影片丟給電腦,電腦看一看,就告訴你:「這堂課會上 107 分鐘喔!」
這不是魔法,這叫做機器學習(Machine Learning)——讓電腦自己從一堆資料裡,學會找答案的技術。
💡 小朋友想想看:如果是你,你會看投影片的什麼地方,來猜這堂課要上多久呢?
老師想到的是這幾個線索:
- 📄 投影片有幾頁?
- 🔤 總共有多少字?
- 🏷️ 標題有多長?
- 🔑 有沒有出現某個關鍵字?
這些「線索」在機器學習裡有個名字,叫做特徵(Feature)。就像你在玩寶可夢的時候,每隻寶可夢都有「屬性、攻擊力、防禦力」這些特徵一樣!
🎯 要讓電腦學會,要做三件事
第一步:告訴電腦什麼叫「猜得準」
電腦一開始亂猜怎麼辦?我們要給它打分數!
比如老師真的上了 100 分鐘,電腦猜 90 分鐘,就差了 10 分鐘。這個「差多少」就叫做損失(Loss)。
Loss 越小,代表電腦猜得越準,就像打靶越靠近紅心分數越高一樣!🎯
第二步:給電腦一個「公式框架」
我們先假設:「頁數越多,上課時間越長」。
於是電腦用這個公式:上課時間 = 頁數 × 某個數字 + 另一個數字
這兩個「某個數字」電腦還不知道,它要自己找出來!
第三步:玩「冷熱遊戲」找答案
你有玩過「冷熱遊戲」嗎?朋友藏東西,你靠近一點他說「熱」,遠一點他說「冷」。
電腦找答案的方法超像!這個方法叫做梯度下降法(Gradient Descent)。
想像電腦站在一座山上,要走到山谷最低的地方(就是 Loss 最小的地方):
- 往左走會更低嗎?那就往左走!
- 往右走會更低嗎?那就往右走!
- 一步一步慢慢往下走,直到走到谷底 🏔️➡️🏞️
💡 小朋友想想看:如果電腦每一步跨太大,會怎樣?如果跨太小又會怎樣?
答案是:
- 跨太大 👉 可能會一步跨過山谷,跳來跳去回不到谷底!
- 跨太小 👉 要走超級無敵久,可能走到天荒地老 😴
🧠 如果一條直線不夠用怎麼辦?深度學習登場!
「頁數 × 數字 + 數字」這種公式畫出來是一條直線。但真實世界哪有這麼簡單?有時候前 10 頁很快,後面突然變很慢,亂七八糟的曲線根本畫不出來!
🏔️ 小山坡疊疊樂!
這時候聰明的科學家想到:任何彎彎曲曲的線,都可以用很多個小山坡疊起來!
就像你用樂高積木一樣,一塊一塊疊,再複雜的城堡都能蓋出來!🧱
每一個「小山坡」就是一個神經元(Neuron),很多神經元排在一起叫做一層,然後一層一層疊起來——這就是深度學習!(深深深深的學習,聽起來就很厲害對吧 😎)
😱 但是!電腦也會「作弊」
這裡有個超有趣的故事:
老師用 2021 年的課程資料訓練電腦,結果要預測 2025 年的課,電腦卻錯得離譜!為什麼?
因為 2025 年老師上的是「導論課」(給新生的入門課),講得比較慢、投影片比較多。這就像你用小學考卷練習,卻拿去考國中段考——當然不準啊!📚
還有一種狀況叫做過度擬合(Overfitting),超好笑!
💡 小朋友想想看:駕訓班學開車的時候,教練在後照鏡上貼了一個貼紙,說「看到貼紙對準電線桿就轉方向盤」。結果上路以後呢?
沒錯!沒有貼紙就不會開車了!😂 電腦也會這樣——它把練習題「死背」起來,真的遇到新題目就完蛋!
🔑 解決方法:找到好的「線索」
老師發現光看「頁數」不夠,就加上「平均每頁幾個字」這個線索(代表投影片的「濃度」)。
結果——賓果!🎉 電腦預測超準!
🏆 最後的奇蹟時刻
那天的課有 84 頁投影片、3388 個字,電腦預測:107 分鐘。
結果真的下課時——一分一秒都沒差!完全命中! 🎯✨
是不是超神奇?
📝 今天學到了什麼?
- 🤖 機器學習就是讓電腦從很多資料裡,自己找出規律的技術。
- 🎯 電腦學習的方法:先打分數(Loss)、給個公式、再用「冷熱遊戲」(梯度下降)找最佳答案。
- 🏔️ 深度學習就像用很多小山坡疊出複雜的形狀,可以解決更難的問題。
- 😵 電腦會「死背」練習題(過度擬合),所以要用它沒看過的題目來測試才準。
- 🔑 給電腦好的「線索」(特徵),比讓它亂猜重要一百倍!
下次上課盯著時鐘的時候,你也可以偷偷數數看投影片有幾頁,來預測老師什麼時候下課喔!😆
📺 原始影片:觀看原始影片
👨👩👧 家長版/進階版(點擊展開)
【生成式人工智慧與機器學習導論2025】第 5 講:一堂課搞懂機器學習與深度學習的基本原理 (案例:老師什麼時候要下課)
這份文件深入剖析了「機器學習(Machine Learning)」與「深度學習(Deep Learning)」的底層運作原理。講者以「預測老師上課長度」這個貼近生活的「迴歸(Regression)」任務為例,將尋找未知函式 的過程拆解為「3+1」個標準步驟:定義目標(Loss)、確立模型範圍(Model)、尋找最佳參數(Optimization),以及極為關鍵的驗證步驟(Validation)。內容不僅涵蓋線性模型到神經網路的演進邏輯(如 ReLU 與 Piecewise Linear Curve),更詳細探討了實務訓練中常遇見的挑戰,如梯度下降(Gradient Descent)的超參數調整、局部最小值(Local Minima)、過度擬合(Overfitting),以及特徵工程(Feature Engineering)的重要性。
壹、 機器學習的核心任務與基礎概念
生成式人工智慧(Generative AI)的核心在於找出一個能「輸入未完成句子,輸出下一個 Token」的函式 。而「透過資料找出一個函式」的技術,統稱為機器學習(Machine Learning)。
一、 實務案例:預測上課時長
為了說明機器學習可應用於任何領域,講者設定了一個與語言模型無關的任務:
- 輸入(X):一份上課用的投影片(Slides)。
- 輸出(Y):老師講述這份投影片所花費的時間(數值)。
- 任務類型:當尋找的函式其輸出是一個連續的「數字」時,這類任務在機器學習中被稱為迴歸(Regression)。
二、 特徵提取(Feature Extraction)
函式無法直接讀取實體的投影片,必須將其轉換為數值,這些數值稱為特徵(Feature)。
- :投影片的總頁數。
- :投影片的總字數。
- :標題的長度。
- :是否有包含特定的關鍵字(如 “learning”),用 0 或 1 表示。
貳、 機器學習的三個核心步驟(Training / Learning)
找出最佳函式的過程稱為「學習(Learning)」或「訓練(Training)」,可拆解為三個主要步驟:
步驟一:定義目標(Define the Loss)
必須先有一套標準來評估「函式的好壞」。這與 AI 能力檢定(Evaluation)的概念幾乎相同。
- 訓練資料(Training Data):由過去的投影片與真實的上課時長組成。
- 損失函式(Loss / Cost):計算模型預測值與真實答案之間的差距。數值越小,代表函式越精準。
- 均方誤差(Mean Squared Error, MSE):實務上常用的算法,將「預測時長」減去「真實時長」後取平方,再將所有訓練資料的誤差平均起來。若評估指標是「越大越好」,則稱為目標函數(Objective)。
步驟二:確立可選擇的函式範圍(Define the Model)
將人類對問題的理解(Domain Knowledge)轉化為數學式,這就是所謂的模型(Model)。 4. 線性迴歸(Linear Regression):假設頁數與時間成正比,設定函式為 。 5. 參數(Parameter):式子中的 (權重)與 (偏差值)是未知的,不同的參數組合會形成無數個不同的函式,構成一個函式的集合(搜尋範圍)。
步驟三:找出最好的函式(Optimization)
在此步驟中,目標是找出能讓 Loss 降到最低的一組參數( 與 ),這是一個最佳化(Optimization)問題。 6. 暴力搜尋法(Grid Search):窮舉所有可能的 與 組合,算出每一個 Loss,畫出等高線圖(Loss Surface)以尋找最低點。但當參數過多時,此法不可行。 7. 梯度下降法(Gradient Descent): * 隨機選擇一個起始參數點。 * 計算該點的切線斜率(即參數對 Loss 的偏微分(Gradient))。 * 若斜率為負(左高右低),則增加參數值往右走;反之亦然。 * 學習率(Learning Rate):決定每一步跨多大的超參數。設太大會導致模型暴走(Loss 變成 NaN,飛出地圖);設太小會走得非常緩慢。 8. 訓練迴圈(Iteration/Update):在現代深度學習套件(如 PyTorch)中,計算梯度只需一行程式碼。參數會依據 不斷反覆更新。
批次(Batch)與訓練週期(Epoch)
為了提升計算效率,實務上不會一次拿所有資料來算 Loss,而是將資料分塊: 9. 批次(Batch):將總資料切分為多個小區塊。每次拿一個 Batch 計算 Loss 與梯度並更新參數。 10. 訓練週期(Epoch):當所有 Batch 的資料都被看過一次,稱為一個 Epoch。在一個 Epoch 內,參數會被更新「總資料量 / Batch Size」次。 11. 隨機打亂(Shuffle):每次進入新的 Epoch 時,需重新打亂資料分組,避免模型記住特定 Batch 的規律。
策略 定義與特性 優缺點 Full Batch 一次看全部資料才更新參數。 方向穩定準確,但計算極慢,容易卡在局部區間。 Stochastic Gradient Descent (SGD) Batch Size 設為 1,看一筆就更新一次。 更新極快但方向劇烈震盪,路線歪斜。 Mini-Batch 設定適中的 Batch Size(如 5 或 10)。 平衡了穩定性與更新次數,是目前最常用的方式。
參、 走向深度學習(Deep Learning)
當線性模型(一條直線)的範圍太狹隘,無法描述複雜的真實現象時,必須擴大函式的選擇範圍。
- 分段線性曲線(Piecewise Linear Curve):任何複雜的曲線,只要取夠多的點連線,都可以用分段的折線來逼近。
- 山坡函式與 ReLU:
- 分段線性曲線可以由一個常數(Constant)加上許多個「山坡形狀的函式」疊加而成。
- 一個「山坡函式」可以由兩個有轉折點的函式構成。
- 這種有轉折的函式數學上稱為 Rectified Linear Unit (ReLU),公式為 。
- 神經網路的誕生(Neural Network):
- 神經元(Neuron):把 乘上權重 加上 再通過 ReLU 的這個基本運算單元。
- 隱藏層(Hidden Layer):一排平行的神經元構成一個 Layer。
- 深度學習(Deep Learning):將多個隱藏層串聯起來(把上一層的輸出當作下一層的輸入)。理論上,只要神經元夠多,深度學習可以模擬並涵蓋世界上任何的函式。
- 反向傳播(Backpropagation):一種專門用來高效率計算龐大 Neural Network 梯度的演算法(本質上仍是梯度下降法)。
肆、 第「+1」個步驟:驗證(Validation)與過度擬合
找出 Loss 最低的函式後,絕對不能直接上線使用,必須進行「驗證」。
- 驗證集(Validation Set):訓練過程如同在駕訓班練習,驗證則是模擬考。必須保留一部分模型沒看過的資料來檢測真實能力。
- 領域不匹配(Domain Mismatch):實作中發現,若用 2021 年的課程訓練,預測 2025 年的「導論」課程會產生巨大誤差(Loss 暴增 5 倍)。因為導論課需要更多投影片才能講清觀念,兩者資料分佈不同。更換為 2024 年同質性的導論課資料後,誤差顯著下降。
- 最佳化失敗(Optimization Failure):當改用神經網路(涵蓋範圍更大)時,初期 Training Loss 居然比線性模型還高。這代表尋找參數的過程失敗了,可能卡在:
- 局部最小值(Local Minima):周遭沒有更低的地勢。
- 鞍點(Saddle Point):梯度為 0 但其實是平臺,非真正的谷底。
- 過度擬合(Overfitting):當模型複雜度極高時(如神經網路),模型可能會「死背」訓練資料(例如駕訓班中死記後照鏡對齊特定貼紙就轉方向盤),導致 Training Loss 極低,但遇到沒看過的 Validation 情況時完全失效(Loss 暴增至上千)。
- 特徵工程的威力:為解決 Overfitting 並提升準確率,引入第二個特徵。
- 加入「總字數」:效果極差,Loss 壓不下去,因總字數與頁數高度相關,無新資訊。
- 加入「平均每頁字數」:代表課程內容的「濃度」,加入後 Training Loss 降至 22,Validation Loss 也降至 124(誤差約 11 分鐘),這體現了良好特徵設計的價值。
- 提早停止(Early Stopping):一種防止 Overfitting 的手段。隨著訓練次數(Epoch)增加,Training Loss 會持續下降,但 Validation Loss 可能會「先降後升」。應在 Validation Loss 最低點時強制停止訓練。
- 排行榜機制(Public vs. Private Set):如果為了降低 Validation Loss 而反覆調整模型,模型最終會「Overfit 到驗證集上」。因此在 AI 競賽或作業中,測試資料會分為:
- Public Set:有限次數的測試,用來調整方向。
- Private Set:只測一次定生死,避免人類透過無限次上傳來「作弊」適應測試資料。
結尾實測結果
經過各種超參數調整(引入 Adam 優化器、調整 Learning Rate 與 Initialization),模型最終在 Validation 取得極低誤差。實測當天這堂擁有「84 頁投影片、3388 總字數」的課程,模型預測上課總時長為 107 分鐘,與真實下課時間算出的時長 分秒不差(完全命中)。
伍、 延伸思考與卡片盒筆記關聯 (Zettelkasten)
- 損失函式與評估指標的差異 (Loss vs Evaluation Metric):筆記中提到在某些情境下 Loss 與 Evaluation Metric 會出現微妙的區別,什麼情況下兩者不能等價?(例如不可微的評估指標如何設計 Loss 替代品)。
- 過度擬合 (Overfitting) 的正規化防禦機制:除了文中提到的提早停止(Early Stopping)與特徵工程,神經網路中還有哪些常見的 Dropout 或 L1/L2 Regularization 技術可以防止模型「死背駕訓班貼紙」?
- 梯度下降優化器:從 SGD 到 Adam:講者在實作遇到瓶頸時直接套用了 Adam。Adam 是如何動態調整各個參數的 Learning Rate 來解決 Local Minima 與 Saddle Point 問題的?
📋 來源聲明:本教材為非營利教育用途的高度轉化作品。原始出處標註於家長版中。