L15|卷積自編碼器與 Learner 雛形(Autoencoders)

零基礎提示

  • 這一課不用額外數學
  • Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
  • 字幕:離線網站選「中英」(電腦翻譯,大意正確)
  • 看不懂的詞查 白話小辭典

深入卷積(im2col、padding、stride、感受野),從零寫 CNN;嘗試做自編碼器遇到困難,因此打造第一個 Learner 來加快實驗。 (Convolutions in depth (im2col, padding, stride, receptive field), a CNN from scratch, a first attempt at an autoencoder, and the first Learner to speed up experiments.)

項目內容
所屬Part 2:Deep Learning Foundations to Stable Diffusion
影片YouTube
對應書本章節無對應章節(Part 2 以 notebook 為主)
原始頁面Lessons/lesson15
難度(F3 視角)★★★★★ 大學程度(F3 只求理解概念)

影片

本課重點

  1. 卷積細節:卷積讓網路利用圖片的空間結構。im2col 把卷積轉成矩陣乘法;padding 在邊緣補 0 保持尺寸;stride 控制每次移動幾格;感受野是一個輸出看得到的輸入範圍。
  2. 從零寫 CNN:用 nn.Sequential 串起卷積層,在 GPU 上訓練 Fashion-MNIST。
  3. 自編碼器:先把圖片壓縮成很小的表示(encoder),再還原(decoder),目標是還原後和原圖一樣。第一次嘗試又慢又不準。
  4. Learner:為了更快實驗,把資料、模型、損失、優化器、訓練迴圈包進 Learner 類別,先用在 MLP 上。
  5. 降低認知負荷:熟悉 try-except、decorator、getattr、除錯技巧,讀框架程式時才不會被語法卡住。

關鍵概念

英文術語中文一句話解釋
Autoencoder自編碼器先壓縮再還原的網路
im2colim2col把卷積改寫成矩陣乘法的技巧
Padding補邊在圖片邊緣補 0
Stride步幅卷積核每次移動的格數
Receptive field感受野一個輸出值看得到的輸入範圍
Learner學習器把訓練所需的一切包在一起的類別

認識關聯圖與重點圖

L15_關聯圖_202611041526

練習題

  1. 28×28 的圖片,用 3×3 卷積核、padding 1、stride 2,輸出是幾乘幾?
  2. 自編碼器的目標是「輸出和輸入一樣」,那它有什麼用?
  3. 為什麼 Jeremy 在自編碼器實驗不順時,先停下來做 Learner?

資源連結

英文延伸資源(零基礎可以先略過,點開看)

相關筆記

Built with LogoFlowershow