Skip to content

課程導論 —— Deep Learning 的地圖、為什麼深,以及第一個訓練 loop|MIT 6.7960 第 1 堂

2026年8月30日1 分鐘
TL;DR本講是 6.7960 的導論:deep learning 之所以爆發是『資料 + 算力 + 演算法』三股力量同時到位;本課從架構(CNN/GNN/Transformer)到訓練、表示、生成、遷移、規模、LLM 一路串起來;最後用一個 ~30 行的 PyTorch training loop 確認你的環境能跑。

🌏 English version

影片狀態:已附影片。 影片來源與說明

教材版本:基於 MIT 6.7960 Fall 2024 OCW(對應 OCW Lec 01)。影片、投影片、作業全公開於 MIT OCW。本講為課程導論,依 OCW 影片說明由 Sara Beery 主講。


一、deep learning 為什麼在 2010 年代後爆發

LeCun、Bengio、Hinton 2015 在 Nature 的綜述把這件事講得很清楚:三股力量同時到位。

  1. 資料 — ImageNet(2009)把「100 萬張標註影像」變成公共資源;web-crawl 文本在 2010 年代中後達到 TB 等級;YouTube、Wikipedia 變成現成的無標籤語料。
  2. 算力 — NVIDIA CUDA(2007)讓 GPU 變通用;2012 AlexNet 用兩顆 GTX 580 訓練幾天,現在一顆 H100 一晚能訓出那時做夢才有的模型。
  3. 演算法 — ReLU 解決了深網梯度消失、BatchNorm 讓深網能穩定訓練、ResNet(2015)讓「加深」真的有效、Attention/Transformer(2017)讓序列模型跳了一個世代。

任何一股單獨都不夠。三股同時到位,deep learning 才從實驗室走進工業界。

二、本課地圖

6.7960 從「為什麼深」(L03)出發,依序串起:

  • 架構:CNN / GNN(L05)/ Transformer(L08)— 為不同結構的資料設計網路。
  • 訓練:SGD / Adam / 正則化 / 歸納偏置(L13 理論)。
  • 表示學習:reconstruction / contrastive / theory(L11–L13)。
  • 生成模型:likelihood、GAN、VAE(L14–L16)、擴散與 text-to-image。
  • 遷移與泛化:OOD(L17)、遷移學習(L18–L19)。
  • 規模:scaling laws(L20)→ LLM(L21)。
  • 部署:幾何深度學習(L23)、推論優化(L24)。

本講是課程導論,影片實際內容是開場動機與歷史、課程規則與作業政策,以及神經網路/MLP 與訓練的基本概念;上面的課程地圖與下面的 training loop 是本站補充,不是影片逐段內容。

三、為什麼「深」

後面會用一整講(L03 近似理論)嚴格證明:深度對組合式函數帶來指數級的寬度節省。這裡先給直觀:很多函數(例如「判斷一張圖裡有沒有貓」)天生是階層的(邊 → 紋理 → 部件 → 物件),深網的階層表示剛好對上;淺網就算寬到爆,也學不來。

這也是為什麼「加深」這條主線在後面會反覆出現。

四、課程資源怎麼用

  • OCW:所有 lecture 影片、投影片、3 個 problem set(PS1–PS3)都公開,免註冊。Fall 2024 是首個完整 OCW 版本。
  • 推薦閱讀:
    • Goodfellow、Bengio、Courville Deep Learning(免費線上版)— 教科書級的「地圖」。
    • Murphy Probabilistic Machine Learning — 機率視角的深度學習。
    • Bernstein 的 Deep Learning Theory Notes(OCW readings 頁)— 偏理論,但寫得清楚。
  • 作業:PS1 手寫 MLP backprop、PS2 實作 CNN、PS3 sequence/attention。作業不計分但強烈建議做。

五、第一個 training loop

不管你熟不熟 PyTorch,這 30 行是「環境通了」的最小測試:

import torch, torch.nn as nn, torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader

tf = transforms.Compose([transforms.ToTensor(), transforms.Lambda(lambda x: x.view(-1))])
train = DataLoader(datasets.MNIST('.', download=True, train=True, transform=tf),
                   batch_size=64, shuffle=True)
model = nn.Sequential(nn.Linear(784, 128), nn.ReLU(), nn.Linear(128, 10))
opt = optim.Adam(model.parameters(), lr=1e-3)
loss_fn = nn.CrossEntropyLoss()
for epoch in range(1):
    for x, y in train:
        opt.zero_grad(); loss_fn(model(x), y).backward(); opt.step()
print("env OK, params:", sum(p.numel() for p in model.parameters()))

跑得出 env OK, params: 101770 之類的數字,代表 PyTorch + 資料 + GPU/CPU 全通了。接下來 23 講,都是在這條 loop 上加東西。

六、怎麼讀這個系列

如果你只是旁聽:

  • 工程師:抓 L03 → L07 → L08 → L14 → L20 → L21 → L24,理解理論與現代 LLM 的工程實務。
  • 研究者:從 L03 一路讀到 L24,PS1–PS3 真的做。
  • 應用方:L14–L17 + L18–L19 給你部署與遷移的判斷力。

課程影片來源

2026-10-10 已即時回 MIT OCW Fall 2024 官方錄影列表核對講次,影片公開且允許嵌入;講次與主題以 OCW 的標示為準。

YouTube:MIT 6.7960 Fall 2024 — Lec 01. Introduction to Deep Learning

原始影片:MIT 6.7960 Fall 2024 — Lec 01. Introduction to Deep Learning

課程與錄影入口:

查核日期:2026-10-10。

內容核對:已依字幕核對(2026-10-10):讀了 Lec 01 字幕(Sara Beery,1:00:51):影片是課程導論,內容為深度學習的興起與歷史(AlexNet 與 GPU 約 30%)、課程規則與作業政策(約 15%–25%)、神經網路/MLP 基礎與優化(約 40%–80%)、tensor 與 PyTorch 概念(約 13%–15%、90%);字幕沒有逐行示範 training loop,原文「第 1 講是唯一一講不講數學、不講架構」與「教師群輪流介紹」的說法不成立,已改寫。

更新紀錄

  • 2026-10-10:標註影片狀態,核對錄影來源與取得方式。
  • 2026-10-10:重查影片狀態。即時核對官方課程頁,講次與影片連結一致且影片公開,狀態改為「已附影片」。
  • 2026-10-10:依字幕核對影片內容。改寫「唯一一講不講數學、不講架構」與「教師群輪流介紹」兩處不成立的說法,並註明課程地圖與 training loop 為本站補充。

參考資料