L01|開始上手:五分鐘做出第一個模型
第一課先讓你在五分鐘內看到完整流程:自己找圖片、訓練模型、拿來預測。這在 2015 年還是研究前沿。
L01|開始上手:五分鐘做出第一個模型(Getting started)

第一課先讓你在五分鐘內看到完整流程:自己找圖片、訓練模型、拿來預測。這在 2015 年還是研究前沿。 (In the first five minutes you see a full end-to-end example: collect images, train a model, use it to predict.)
| 項目 | 內容 |
|---|---|
| 所屬 | Part 1:Practical Deep Learning |
| 影片 | YouTube |
| 對應書本章節 | 第 1 章 Intro |
| 原始頁面 | Lessons/lesson1 |
| 難度(F3 視角) | ★☆☆☆☆ 入門 |
影片
本課重點
- 2015 年是分水嶺:以前要分辨「鳥」和「森林」照片,需要多個領域的科學家合作多年設計特徵;現在用深度學習,幾分鐘就能訓練出來,特徵由模型自己學。
- Is it a bird? 完整流程:用 DuckDuckGo 搜尋並下載兩類圖片 → 縮小尺寸存進資料夾 → 刪除壞掉的圖片 → 建 DataBlock → 用 vision_learner 搭配 resnet18 → fine_tune → 拿新照片 predict。
- DataBlock 要回答五件事:輸入與輸出是什麼類型(blocks)、去哪裡拿資料(get_items)、怎麼切驗證集(splitter)、標籤從哪來(get_y)、每張圖要做什麼轉換(item_tfms)。
- 預訓練模型與微調:resnet18 先在大量圖片上學過一般的視覺特徵;fine_tune 只用你的少量資料,把它調整成會做你的任務。
- 同一套方法,不同資料型態:影像分割(每個像素屬於什麼)、表格資料(用幾欄預測另一欄,用 fit_one_cycle)、協同過濾(推薦電影,設定 y_range)都只是換一種 DataLoaders 和 learner。
- 機器學習的基本迴圈:輸入加上權重送進模型得到結果 → 用損失函數評分 → 依分數更新權重 → 重複。這個想法從 1959 年 Arthur Samuel 就有了,深度學習沒有改變它。
- 學習方法:fast.ai 採由上而下的教法:先做出能用的東西,再往下挖原理。作業是跑完 bird notebook、改成自己感興趣的題目、讀第 1 章。
關鍵概念
| 英文術語 | 中文 | 一句話解釋 |
|---|---|---|
| Deep learning | 深度學習 | 用多層神經網路從資料中抽取與轉換資訊的技術 |
| Model | 模型 | 一個帶有可調整數字(權重)的函數,輸入資料、輸出預測 |
| Weights / Parameters | 權重/參數 | 模型裡會在訓練中被調整的數字 |
| Loss | 損失 | 衡量模型預測有多差的分數,越低越好 |
| Pretrained model | 預訓練模型 | 別人已在大資料集上訓練好的模型,例如 resnet18 |
| Fine-tuning | 微調 | 用你的資料繼續訓練預訓練模型,讓它適應新任務 |
| DataBlock | 資料區塊 | fastai 用來描述資料如何準備的藍圖 |
| Validation set | 驗證集 | 訓練時故意不給模型看的資料,用來檢查模型是否真的學會 |
| Learner | 學習器 | 把資料、模型、損失函數、優化方法綁在一起的物件 |
| Jupyter Notebook | 互動式筆記本 | 可以混合文字和程式、一格一格執行的工具 |
認識關聯圖與重點圖
練習題
- 用自己的話說明:為什麼 2015 年以前電腦很難分辨鳥和森林的照片,現在卻幾分鐘就做得到?
- DataBlock 要告訴 fastai 哪五件事?各用 Is it a bird? 的例子說明。
- 預訓練模型和微調是什麼?請用一個生活例子來類比。
- 用文字畫出機器學習的訓練迴圈,包含:輸入、權重、模型、結果、損失、更新。
- 動手:把 Is it a bird? 改成分辨兩種你感興趣的東西,寫下搜尋關鍵字、資料夾名稱和你預期的困難。
- 中文學生作答:L01_中文F3學生_202611041526
- English student answers: L01_EN_F3_Student_202611041526
資源連結
英文延伸資源(零基礎可以先略過,點開看)
How to complete lesson 1
- Kaggle
- Paperspace Gradient
- this link
- Jupyter Notebook
- Jupyter Notebook 101
- here it is
- Practical Deep Learning for Coders
- The book
Resources
Links
- Providing a Good Education in Deep Learning
- Meta Learning
- A Mathematician’s Lament
- Making Learning Whole
- RISE
- fastpages
- fastai library
- nbdev
- Information Journal
- arxiv
- fast.ai
- Dall-e 2 illustrations of Twitter bios
- timm
If you need help