# Deep Residual Learning for Image Recognition Kaiming He , Xiangyu Zhang , Shaoqing Ren , Jian Sun (CVPR 2015) https://arxiv.org/abs/1512.03385 ## 1. 研究目的 ![螢幕擷取畫面 2025-08-27 161111](https://hackmd.io/_uploads/HySlyEo5gg.png) >CIFAR-10 上 20 層與 56 層「plain」網路的訓練誤差(左)與測試誤差(右)。較深的網路反而有更高的訓練誤差,因此測試誤差也更高。在 ImageNet 上也觀察到類似現象。 傳統神經網路存在退化問題:當神經網路層數大時,深層網路無法學到有用的特徵,輸出趨近於輸入,接近恆等映射。 此時最好的辦法是將恆等映射直接傳入下一層,然模型因權重、偏差、活化函數的組合,反而可能讓輸出偏離輸入,造成訓練更困難、誤差上升。故研究團隊提出殘差學習方法以應對退化問題。 ## 2. 研究方法 ![螢幕擷取畫面 2025-08-27 160249](https://hackmd.io/_uploads/ByA31Escee.png) >殘差學習(Residual Learning)的基本構件。 ResNet 最初為分類任務設計。為解決傳統神經網路的退化問題,ResNet 利用殘差結構,使對此次訓練任務幫助不大的層之輸出 = 輸入 + 該層殘差函數,完美將恆等映射傳入下一層,避免深層網路中「一定要學到某種轉換」的負擔。 若殘差函數值大:該層需要做較大的特徵轉換。若殘差函數值小或接近 0:該層對任務幫助不大,輸出 = 輸入 + 該層殘差函數,再傳入下一層。 * 殘差函數公式: $F(x)=H(x)−x$ * 參數說明: | 符號 | 名稱 | 定義/角色 | 常見形狀(例:卷積網路) | 訓練與直覺備註 | | ------ | -------- | ---------------------- | ------------------------------ | ------------------------------------------------------------ | | $x$ | 殘差塊輸入 | 該殘差塊接收到的特徵張量 | $B \times C \times H \times W$ | 作為「基準」訊號;經由捷徑(skip/identity)直接與殘差相加。 | | $H(x)$ | 目標(理想)映射 | 希望網路把 $x$ 轉成的輸出 | 與 $x$ 同形狀 | 以殘差形式實作為 $H(x)=x+F(x)$。 | | $F(x)$ | 殘差函數/修正量 | 在「保持 $x$ 不變」基礎上需要學到的補償 | 與 $x$ 同形狀 | 由可學參數的分支產生(如 Conv–BN–ReLU…)。若最佳解接近恆等映射,令 $F(x)\approx 0$ 即可。 | ## 3. 實驗結果 ![螢幕擷取畫面 2025-08-27 162221](https://hackmd.io/_uploads/Sy9OlVi9ge.png) >各種模型集成的錯誤率 (%)。Top-5 錯誤率是在 ImageNet 測試集上,由官方測試伺服器回報的結果。 在 ImageNet 2015 上,ResNet-152 達到 3.57% Top-5 error,當時刷新紀錄。在 CIFAR-10、COCO 上,也大幅超越 VGG、GoogLeNet 等前一代模型。 ## 4. 結論 * ResNet 證明了擁有超過 1000 層的神經網路可以透過殘差結構成功訓練,而不會像傳統神經網路遭遇退化問題。 * ResNet 最初用於分類任務,但隨著技術發展,也在 Faster R-CNN、Mask R-CNN、GAN 等應用中成為核心基礎技術。 # U-Net : Convolutional Networks for Biomedical Olaf Ronneberger, Philipp Fischer, Thomas Brox, (MICCAI 2015) https://arxiv.org/abs/1505.04597 本研究提出一種用於生醫影像分割的卷積網路架構 U-Net,透過強化資料增強策略,在少量標註影像下仍能達到高精度分割。U-Net 採用對稱的收縮路徑與擴展路徑,兼顧上下文捕捉與精確定位,並利用加權損失處理相接物體的邊界分割問題。實驗在 ISBI 2012 電子顯微影像神經結構分割挑戰及 ISBI 2015 細胞追蹤挑戰中皆達到最佳成績,且推論速度快(512×512 圖片小於 1 秒)。 ## 1. 研究目的 U - Net 的目標是開發一種在資料不足時也能表現出高準確度的影像分割模型。處理的問題有二: * 傳統的滑動視窗法效率低,且對邊界模糊之處易誤判。 * 傳統的資料增強方法不足以應付醫學影像標注資料不足的情境。 ## 2. 研究方法 ### 2.1 網路架構 ![螢幕擷取畫面 2025-08-27 214411](https://hackmd.io/_uploads/BJGwhtnYlg.png) >U-Net 架構(以最低解析度 32×32 像素為例)。每個藍色方塊代表一個多通道的特徵圖(feature map)。方塊上方的數字表示通道數,左下角的數字表示該特徵圖的 x-y 尺寸。白色方塊代表被複製的特徵圖。箭頭則表示不同的操作流程。 U - Net 使用壓縮與解碼還原的方式,先理解圖像的大致特徵,再逐漸補齊細節,達到高效率且精確的效果。全網路共 23 層卷積,採用無填充卷積(valid convolution)。輸出層為$1\times1$ 卷積將 64 維特徵向量映射至分類數。 * 收縮路徑(Contracting Path)壓縮: 重複兩層 $3\times3$ 卷積 + ReLU + $2\times2$ 最大池化(步幅 2),下採樣時通道數加倍。 * 擴展路徑(Expansive Path)解碼還原: 上採樣後接 $2\times2$ 卷積(通道數減半)。與對應收縮層裁切後的特徵圖串接。兩層 $3\times3$ 卷積 + ReLU。 ### 2.2 訓練策略 * 損失函數: 像素級 softmax + 交叉熵,並引入加權圖 $w(x)$:$E = \sum_{x\in\Omega} w(x) \log \big( p_{\ell(x)}(x) \big)$。權重設計包含類別頻率平衡項 $w_c(x)$ 與分隔邊界加權:$w(x) = w_c(x) + w_0 \cdot \exp\left( -\frac{(d_1(x)+d_2(x))^2}{2\sigma^2} \right)$。 * 權重初始化: $\mathcal{N}(0, \sqrt{2/N})$,$N$ 為輸入節點數。 * 批次大小: 批次大小為 1,動量設為 0.99 以穩定更新。 * 參數說明: | 符號 | 名稱 | 定義/意義 | 型別/範圍 | 常見設定/計算 | | | | ---------------- | ------- | ----------------------------------------------------------------------- | -------------------- | ---------------------------------------------------------------- | ----------- | ----------------------- | | $E$ | 加權交叉熵損失 | **常見寫法**:$\displaystyle E=-\sum_{x\in\Omega} w(x)\,\log p_{\ell(x)}(x)$ | $\mathbb{R}_{\ge 0}$ | 最小化目標;常以「像素平均」或除以 ( | \Omega | ) 正規化 | | $\Omega$ | 影像域 | 像素座標集合(例:$\Omega\subset\mathbb{Z}^2$) | ( | \Omega | =H\times W) | 3D 分割可擴至 $\mathbb{Z}^3$ | | $x$ | 像素位置 | $\Omega$ 中的一個像素 | $\mathbb{Z}^2$ | 以整數座標索引 | | | | $K$ | 類別數 | 分割的總類別數 | $\mathbb{N}$ | 例:前景+背景 $K=2$ | | | | $\ell(x)$ | 真實標籤 | 像素 $x$ 的真實類別 | $\{1,\dots,K\}$ | 計算時常用 one-hot | | | | $p_{\ell(x)}(x)$ | 正確類別機率 | 模型於像素 $x$ 對「$\ell(x)$ 類」的 softmax 機率 | $(0,1)$ | 由 logits 經 softmax 得:$p_k=\exp z_k/\sum_j\exp z_j$ | | | | $w(x)$ | 像素權重 | 平衡類別不均與加強邊界 | $\mathbb{R}_{\ge 0}$ | $w(x)=w_c(x)+w_0\exp\!\big(-\tfrac{(d_1+d_2)^2}{2\sigma^2}\big)$ | | | | $w_c(x)$ | 類別頻率平衡 | 針對少數類別給較高權重 | $\mathbb{R}_{\ge 0}$ | 例:反比權重 $1/\text{freq}_c$、或 median-freq | | | | $d_1(x)$ | 最近邊界距離 | 到**最近**物體邊界的距離(像素) | $\mathbb{R}_{\ge 0}$ | 由邊界圖做距離變換 (distance transform) | | | | $d_2(x)$ | 次近邊界距離 | 到**第二近**物體邊界的距離(像素) | $\mathbb{R}_{\ge 0}$ | 兩實例夾縫處 $d_1+d_2$ 小 → 權重大 | | | | $w_0$ | 邊界加權強度 | 控制夾縫區的額外權重幅度 | $\mathbb{R}_{>0}$ | 論文示例常取 $w_0=10$ | | | | $\sigma$ | 加權寬度 | 控制距離衰減範圍(越大越寬) | $\mathbb{R}_{>0}$ | 論文示例約 $\sigma\approx 5$ pixels | | | | $\exp(\cdot)$ | 指數函數 | 高斯形狀的衰減核 | — | 距離兩條最近邊界越遠,權重越小 | | | ### 2.3 資料增強策略 U-Net 改進資料增強方法更符合醫學影像標注資料不足的情境,不僅使用基本的翻轉、旋轉,也引入「彈性形變」和「專為醫學影像設計的灰階變化」。 其與加權損失策略結合,並在收縮路徑末端加入 Dropout,提升模型在少量資料下的泛化能力與邊界精確度。 * 隨機彈性形變(elastic deformation): 3×3 網格高斯位移($\sigma=10$ 像素),經雙三次插值平滑。 * 專為醫學影像設計的灰階變化: 專為醫學影像資料設計的灰階變化。調整影像亮度、對比度。 ### 2.4 大圖分割策略 * Overlap-tile: 邊界不足部分透過影像鏡射補足,避免 GPU 記憶體限制。 ## 3. 實驗結果 #### > ISBI 2012 電子顯微影像神經結構分割 ![螢幕擷取畫面 2025-08-27 215711](https://hackmd.io/_uploads/SyGMb5nKel.png) >在 EM 分割挑戰賽(2015.03.06)的排名,依照 warping error 由低到高排序。 * 訓練集:30 張 512×512 標註影像。 * Warping error:0.000353(第一名)。 * Rand error:0.0382,優於滑動視窗法(0.0504)。 #### > ISBI 2015 細胞分割 ![螢幕擷取畫面 2025-08-27 215003 (1)](https://hackmd.io/_uploads/HJMVMq3tlg.png) >ISBI 細胞追蹤挑戰的結果: >( a ). PhC-U373 資料集的一部分輸入影像。 >( b ). 分割結果(青色遮罩),並疊加人工標註的黃色邊界。 >( c ). DIC-HeLa資料集的輸入影像。 >( d ). 分割結果(隨機顏色遮罩),並疊加人工標註的黃色邊界。 ![螢幕擷取畫面 2025-08-27 215230](https://hackmd.io/_uploads/H1PUz5nFgx.png) >在 ISBI 2015 細胞追蹤挑戰中的分割結果(IOU)。 | 資料集 | 第一名 IOU:U-Net | 第二名 IOU | | -------- | ----------- | ------- | | PhC-U373 | 92.03% | 83% | | DIC-HeLa | 77.56% | 46% | ## 5. 結論 * U-Net 架構在不同生醫分割任務中皆能達到高精度與高速度。 * 彈性形變資料增強大幅減少對大量標註影像的依賴。 * 適用於多種影像分割情境,訓練時間約 10 小時(NVIDIA Titan GPU)。 * 提供完整 Caffe 實作與預訓練模型,方便應用於其他領域。 # Generative Adversarial Nets Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, ( NeurIPS 2014) https://arxiv.org/abs/1406.2661 本研究提出一種透過對抗過程訓練生成模型的新框架,同時訓練兩個模型: * 生成器(Generator, G):學習資料分佈,生成與真實資料相似的樣本。 * 鑑別器(Discriminator, D):判斷輸入樣本來自真實資料還是生成器。 訓練過程構成一個極小化極大化遊戲(minimax game),生成器試圖讓鑑別器判斷錯誤,鑑別器則試圖正確分辨真假資料。當兩者達到平衡時,生成器的分佈會與真實資料分佈一致,而鑑別器的輸出為 0.5,意即真假機率各為 50%。 訓練與生成時均不需使用馬可夫鏈或近似推論網路,並可用反向傳播直接訓練。 ## 1. 研究目的 生成網路進展緩慢,原因有二: * 難以利用分段線性單元(ReLU 等)的優勢。 * 最大似然估計需要近似處理許多不可解的機率計算, 本研究提出一種無需顯式定義機率分佈、無需馬可夫鏈即可訓練的生成模型框架。建立一個理論上可證明收斂至真實資料分佈的生成方法。 ## 2. 研究方法 ### 2.1. 對抗訓練框架 ![螢幕擷取畫面 2025-08-27 221929](https://hackmd.io/_uploads/HJOc49htee.png) >生成對抗網路(GAN)的訓練過程示意。判別器分佈 $D$(藍色虛線)被不斷更新,用來區分來自資料分佈 $p_{data}$(黑色虛線)與生成分佈 $p_g$(綠色實線,生成器 $G$ 的輸出)的樣本。下方水平線表示潛在變數 $z$ 的取樣空間(此處為均勻分佈),上方水平線則屬於資料空間 $x$ 的一部分。向上的箭頭代表映射 $x = G(z)$,將均勻分佈轉換為生成分佈 $p_g$。在 $p_g$ 的高密度區域,映射收縮;在低密度區域,映射擴張。( a ). 接近收斂時,$p_g \approx p_{data}$,而 $D$ 僅能做出部分正確的分類。( b ). 在演算法的內循環中,$D$ 學會區分資料與生成樣本,收斂至最優解:$D^*(x) = \frac{p_{data}(x)}{p_{data}(x) + p_g(x)}$( c ). 更新 $G$ 後,$D$ 的梯度引導 $G(z)$ 朝更可能被分類為真實資料的區域移動。( d ). 經過多次更新後,如果 $G$ 與 $D$ 具有足夠的容量,它們將達到平衡:$p_g = p_{data}$。此時判別器無法再分辨兩者,輸出 $D(x) = 0.5$。 對輸入雜訊 $z$(來自先驗分佈 $p_z$)使用生成器 $G(z;θ_g)$ 生成假資料。鑑別器 $D(x;θ_d)$ 輸出樣本來自真實資料的機率。 * GAN 的極小極大目標函數: $\min_G \max_D V(D,G) = \mathbb{E}_{x \sim p_{data}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log (1 - D(G(z)))]$。 * 參數說明: | 符號/術語 | 名稱 | 定義/意義 | 型別/範圍 | 備註(訓練直覺) | | ----------------------------------------- | ------- | ------------------------------------------------------------------------------------------------ | ---------------------------------- | ------------------------ | | $\min_G \max_D V(D,G)$ | 對抗式極小極大 | 零和博弈的總目標 | — | $D$ 盡力區分真/假、$G$ 盡力騙過 $D$ | | $V(D,G)$ | 價值函數 | $\displaystyle \mathbb{E}_{x\sim p_{data}}[\log D(x)] + \mathbb{E}_{z\sim p_z}[\log(1-D(G(z)))]$ | $\mathbb{R}$ | 大代表對 $D$ 有利;小代表對 $G$ 有利 | | $G$($\theta_g$) | 生成器 | 將噪聲 $z$ 映射為樣本 $\hat x=G(z)$ 的可微模型 | NN/可微函數 | 想讓 $D(G(z))$ 接近 1 | | $D$($\theta_d$) | 判別器 | 對輸入樣本輸出為真的機率 $D(x)\in(0,1)$ | NN/可微函數 | 想讓真樣本機率大、假樣本機率小 | | $x$ | 真實樣本 | 來自資料空間的觀測 | 例:$\mathbb{R}^{H\times W\times C}$ | 由 $p_{data}$ 生成 | | $\hat x=G(z)$ | 生成樣本 | 由 $G$ 產生的擬真資料 | 同 $x$ 的空間 | 目標是以假亂真 | | $z$ | 潛在向量/噪聲 | $G$ 的隨機輸入 | $\mathbb{R}^{d_z}$ | 提供多樣性與隨機性 | | $p_{data}$ | 資料分佈 | 真實但未知的資料機率分佈 | — | 僅能透過樣本近似 | | $p_z$ | 噪聲先驗 | 生成 $z$ 的分佈 | 常用 $\mathcal N(0,I)$ 或均勻分佈 | 訓練時先抽 $z\sim p_z$ | | $D(x)$ | 真實機率評分 | 判別器認為「真實」的機率 | $(0,1)$ | 真樣本希望大、假樣本希望小 | | $\mathbb{E}_{x\sim p_{data}}[\log D(x)]$ | 真實項 | 鼓勵 $D$ 對真實樣本輸出高機率 | $\mathbb{R}$ | 提升辨識真樣本能力 | | $\mathbb{E}_{z\sim p_z}[\log(1-D(G(z)))]$ | 假樣本項 | 鼓勵 $D$ 把生成樣本判為假 | $\mathbb{R}$ | 提升識別假樣本能力 | | $\log$ | 對數 | 對數似然的度量 | — | 使用自然對數 | ### 2.2. 訓練策略 訓練策略採用交替更新,使用小批量隨機梯度下降(SGD)與動量更新。對鑑別器進行 $k$ 次梯度上升(最大化其分類正確率),再對生成器進行一次梯度下降。 ### 2.3. 理論分析 證明在非參數情況下,該最小最大遊戲的全域最優解為 $p_g=p_{data}$。若生成器與鑑別器容量足夠,且每步鑑別器達到最優,則生成器分佈可收斂至真實資料分佈。 ## 3. 實驗設計與結果 ### 3.1. 實驗設計 * 資料集:MNIST、Toronto Face Database (TFD)、CIFAR-10。 * 網路結構:生成器採用 ReLU 與 sigmoid,鑑別器採用 maxout + dropout。 * 評估方法:以高斯 Parzen 視窗對生成樣本估計 log-likelihood。 ### 3.2. 實驗結果 ![螢幕擷取畫面 2025-08-27 224051](https://hackmd.io/_uploads/HkXRYqhKxg.png) >來自模型的樣本視覺化:最右邊一欄顯示與相鄰生成樣本最近的訓練樣本,用來證明模型並沒有單純記憶訓練集。這些樣本是隨機抽取的,而非特意挑選。與多數其他深度生成模型的視覺化不同,這些圖像是真實由模型分布產生的樣本,而不是根據隱藏單元條件平均得到的影像。此外,這些樣本之間互不相關,因為生成過程不依賴於 Markov chain 的混合。( a ). MNIST( b ). TFD( c ). CIFAR-10(全連接模型)( d ). CIFAR-10(卷積式判別器與「反卷積」生成器) ![螢幕擷取畫面 2025-08-27 224712](https://hackmd.io/_uploads/HkVp9cntxx.png) >由完整模型的 $z$ 空間座標進行線性插值所獲得的數字影像:在潛在變數 $z$ 的空間中,選取兩個點進行線性插值。接著將插值點送入生成器 $G(z)$,得到的數字圖像會連續變化,從一個數字平滑過渡到另一個數字。 無需馬可夫鏈採樣,生成過程快速且樣本獨立。可透過在 $z$ 空間插值,生成平滑過渡的樣本。證明 GAN 學到「連續的生成分布」,而不是記下樣本。 #### > 定量結果(Parzen 視窗 log-likelihood) ![螢幕擷取畫面 2025-08-27 223456](https://hackmd.io/_uploads/B131_92Ygg.png) >基於 Parzen window 的對數似然估計:在 MNIST 上報告的數值為測試集樣本的平均對數似然,並且計算了跨樣本的平均標準誤差。在 TFD 上,標準誤差是依據資料集的不同折數(folds)計算的,每個折數的 σ 參數都透過驗證集進行交叉驗證,並在每個折數上計算平均對數似然。對於 MNIST,我們比較的是實值版本(real-valued)資料集,而不是二值化版本。 * MNIST:225 ± 2(優於 DBN、Stacked CAE、Deep GSN 等比較模型) * TFD:2057 ± 26(與最佳模型接近) #### > 生成樣本品質 * MNIST 與 TFD 的樣本具高真實感,且非簡單記憶訓練資料。 * CIFAR-10 的全連接與卷積版本均能生成有結構的影像。 ## 4. 結論 本研究證明了對抗生成的可行性,並在多個資料集上獲得有競爭力的結果。 #### > 優點 * 不需馬可夫鏈,僅用反向傳播即可訓練。 * 不需顯式機率分佈或推論過程,模型設計彈性高。 * 可生成高解析度且清晰的樣本。 #### > 缺點 * 無法直接計算 $p_g(x)$(生成分佈機率密度)。 * 訓練時需維持生成器與鑑別器的平衡,避免模式崩塌(mode collapse)。 #### > 未來方向 * 條件式 GAN(Conditional GAN) * 半監督學習應用 * 改進生成器與鑑別器協調的訓練方法 * 加速收斂與改進隨機取樣策略 # Attention Is All You Need Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin, (NIPS 2017) https://arxiv.org/abs/1706.03762 開發團隊提出一種完全基於注意力機制(attention mechanisms) 的新型網路架構:Transformer 框架。捨棄了以往的遞迴(RNN)與卷積(CNN)結構。實驗在機器翻譯任務(WMT 2014 En→De、En→Fr)上達到當時最佳 BLEU 分數,證明僅使用 self-attention 就能在翻譯任務中超越當時最佳模型。 Transformer 訓練速度快且可大幅平行化,成功泛化至英文成分剖析任務。 ## 1. 研究目的 RNN 與 CNN 由於結構設計的因素,訓練速度緩慢。而 Transformer 完全使用 Self-Attention 機制,同時計算所有序列的關聯性,高度平行化。訓練速度大幅提升。此外,本篇論文也探討 Transformer 是否能泛化到其他 NLP 任務。 ## 2. 研究方法 ### 2.1 模型架構 ![螢幕擷取畫面 2025-08-29 002103 (1)](https://hackmd.io/_uploads/r1GsGWAtlx.png) >Transformer 模型架構 * Encoder-Decoder 架構: 各有 $N=6$ 個相同的堆疊層。Decoder 在訓練過程中透過 Cross-Attention 不斷讀取 Encoder 的輸出。 * 編碼器層(Encoder Layer): Multi-Head Self-Attention、Position-wise Feed-Forward Network,各子層後有殘差連接與 Layer Normalization。 * 解碼器層(Decoder Layer): 自注意力層使用 mask 避免看到未來的詞元。 ### 2.2 注意力機制 ![螢幕擷取畫面 2025-08-29 002156](https://hackmd.io/_uploads/BJg4XWAFxe.png) >(左)縮放點積注意力。(右)多頭注意力由數個並行運作的注意力層組成。 * Scaled Dot-Product Attention: Scaled Dot-Product Attention 是 Self-Attention 的計算方式,公式如下:$Attention(Q,K,V) = softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V$。 其中,Q(Query) 表示當前 token 對其他 token 的需求,為一組向量。K(Key) 表示標籤。V(Value) 表示內容。 * Multi-Head Attention: Multi-Head Attention 是對Self-Attention 的改進方法,讓模型同時從多個角度學習序列中不同層面的關聯性。Multi-Head Attention 將輸入向量投影到多個子空間,每個注意力頭在各自的子空間中獨立計算 Scaled Dot-Product Attention,再將所有頭的輸出拼接並經過一次線性變換,得到最終的輸出表示。 ### 3.3 其他組件 * Position-wise Feed-Forward: 兩層全連接,內層維度 $d_{ff}=2048$,輸入/輸出維度 $d_{model}=512$。 * Embeddings & Softmax: 共享詞嵌入與 pre-softmax 權重。 * Positional Encoding: 使用不同頻率的正弦與餘弦函數表示位置。 ### 3.4 訓練細節 * 資料集: WMT 2014 En→De (4.5M 句對, vocab≈37k BPE),En→Fr (36M 句對, vocab≈32k word-piece) * 硬體: 8×NVIDIA P100 GPU * 優化器: Adam ($\beta_1=0.9, \beta_2=0.98, \epsilon=10^{-9}$),warmup steps=4000 * 正則化: Dropout($P_{drop}=0.1$ base, 0.3 big)、Label Smoothing ($\epsilon_{ls}=0.1$) ## 3. 實驗結果 #### > 機器翻譯 ![螢幕擷取畫面 2025-08-29 004144 (1)](https://hackmd.io/_uploads/H1kg_ZCYex.png) >Transformer 在 newstest2014 的英→德與英→法測試上,以僅為先前 SOTA 模型一小部分的訓練成本,就取得更高的 BLEU 分數。 * WMT 2014 En→De:Transformer (big) BLEU = 28.4(+2 BLEU 優於 SOTA ensemble) * WMT 2014 En→Fr:Transformer (big) BLEU = 41.8(訓練成本為 SOTA 的不到 1/4) #### > 架構變化實驗 ![螢幕擷取畫面 2025-08-29 004931](https://hackmd.io/_uploads/HJgEtbCYee.png) > Transformer 架構的各種變體。未列出的數值與基礎模型相同。所有指標皆在英→德翻譯的開發集 newstest2013 上評估。所列的困惑度(perplexity)依我們的 BPE(Byte-Pair Encoding)以「子詞」為單位計算,不應與以「詞」為單位的困惑度相比。 * 適中數量的注意力頭(h=8)效果最佳 * 增加模型維度($d_{model}$ , $d_{ff}$)能提升性能 * Sinusoidal 與 Learned Positional Encoding 成效相近 #### > 英文成分剖析 ![螢幕擷取畫面 2025-08-29 005008](https://hackmd.io/_uploads/SkYFt-Atgx.png) > Transformer 在英文成分句法分析任務上具有良好的泛化表現(結果評估於 WSJ 語料庫的第 23 節)。 * WSJ only:F1=91.3(優於 Berkeley Parser) * 半監督:F1=92.7(超過以往非生成式模型) ## 4. 結論 Transformer 透過完全基於 self-attention 的架構,不僅在翻譯任務上達到當時最佳表現,還能顯著縮短訓練時間並提高平行化效率。未來可延伸至多模態輸入輸出(如影像、音訊、影片)及局部注意力機制,以應對大規模資料。 # AN IMAGE IS WORTH 16X16 WORDS : TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE Alexey Dosovitskiy、Lucas Beyer、Alexander Kolesnikov、Dirk Weissenborn、Xiaohua Zhai、Thomas Unterthiner、Mostafa Dehghani、Matthias Minderer、Georg Heigold、Sylvain Gelly、Jakob Uszkoreit、Neil Houlsby(Google Research, Brain Team), (ICLR 2021) https://arxiv.org/abs/2010.11929 Vision Transformer(ViT)將影像切成固定大小的 patch,把影像視作序列 token 處理,餵入標準 Transformer encoder。論文證明在大規模資料(例如 ImageNet-21k、JFT-300M)進行監督式預訓練,再遷移到中小型視覺資料集時,ViT能達到或超越SOTA CNN,同時預訓練計算成本更低。 ## 1. 研究目的 * 檢驗純 Transformer 結構在影像分類任務上的可行性,盡量不引入 CNN 的歸納偏置 * 比較 ViT 在不同資料規模(ImageNet、ImageNet-21k、JFT-300M)下的效果與可遷移性。 * 分析效能、計算量權衡。含ViT、ResNet(BiT)與 Hybrid(CNN特徵 + ViT)之比較。 ## 2. 研究方法 ### 2.1. ViT 模型設計 ![螢幕擷取畫面 2025-08-31 041037](https://hackmd.io/_uploads/SyDAIJ-qgl.png) > 模型概述。我們將影像切分為固定大小的圖塊(patch),對每個圖塊進行線性嵌入(linear embedding),再加入位置嵌入(position embeddings),把得到的向量序列輸入至標準的 Transformer 編碼器。為了進行分類,我們採用標準做法:在序列中加入一個可學習的「分類標記」(classification token)。Transformer 編碼器的示意圖靈感來自 Vaswani 等人(2017)。 Vision Transformer(ViT)將影像切成固定大小的 patch,把影像視作序列 token 處理,餵入標準 Transformer encoder(前層 LayerNorm、殘差連接、MSA + MLP with GELU)。 ViT 將影像 $x\in \mathbb{R}^{H\times W\times C}$ 切成 $P\times P$ 之 patch 並展平,序列長度為 $N=HW/P^2$,線性投影至維度 $D$ 的 patch embedding,加上 learnable 1D position embedding,並在序列前加上 [class] token。分類時取最終層 [class] 的表示 $z_L^0$ 接分類頭(預訓練用MLP,微調用線性層)。 ViT 刻意降低圖像特定歸納偏置,除 patch 切割與微調時的 positional interpolation 外,幾乎不引入其他 2D 結構性先驗。 * 參數說明: | 符號 / 名詞 | 意義 / 用途 | 形狀 / 數值範圍 | 備註 | | --------------------------------- | ------------------------- | ----------------------------------------- | ----------------------------------------------------- | | $x$ | 輸入影像張量 | $\mathbb{R}^{H\times W\times C}$ | 高×寬×通道數 | | $H,\,W,\,C$ | 影像高、寬、通道數 | 整數 | 例:224×224×3 | | $P$ | patch 邊長(像素) | 整數 | 每個 patch 為 $P\times P$;常見 $P=16,32$ | | $N$ | patch 數量 / 序列長度(不含 class) | $N=\frac{HW}{P^2}$ | 需整除;總序列長度含 class 為 $N+1$ | | $D$ | token/模型寬度(embedding 維度) | 整數 | 例:ViT-B $D{=}768$、ViT-L $D{=}1024$ | | $[{\rm class}]$ 或 $x_{\rm class}$ | 可學的分類 token | $\mathbb{R}^{D}$ | 置於序列最前,用於彙總整張圖語義 | | $z^0$ | 加上位置嵌入後的初始序列 | $\mathbb{R}^{(N+1)\times D}$ | $[x_{\rm class}; x_p^1E;\dots; x_p^NE] + E_{\rm pos}$ | | $L$ | 編碼器層數 | 整數 | 例:ViT-B $L{=}12$、ViT-L $L{=}24$ | | $W_Q,W_K,W_V,W_O$ | 注意力的投影矩陣 | $\mathbb{R}^{D\times D}$(分頭後再拼接) | 生成 Q/K/VMats 與輸出投影 ### 2.2. 模型規格與變體 ![螢幕擷取畫面 2025-08-31 042435](https://hackmd.io/_uploads/ry6nRAecxl.png) > Vision Transformer 模型變體的詳細資訊。 * ViT-B/L/H: 以 BERT(Devlin 等人,2019)的設定作為 ViT 的配置基礎。「Base」與「Large」模型直接沿用自 BERT,並另外加入更大的「Huge」模型。例如:ViT-L/16 表示「Large」變體,輸入以 16×16 的圖塊切分。 * Hybrid: 把 CNN 中間層的特徵圖輸入 ViT,以 $1\times 1$ 或 patch 取樣作為 Transformer 輸入序列。 ### 2.3. 預訓練與微調 ViT 採用 Few-shot 線性探測全參數微調雙軌評估。 * 資料集: ImageNet(1.3M)、ImageNet-21k(14M/21k類)、JFT-300M(303M/18k類)。 * 最佳化: 預訓練多用Adam+高weight decay;微調用SGD+momentum。 * Resolution技巧: 預訓練低解析(如224),微調高解析(如384/512),並對positional embedding做2D插值。 ## 3. 實驗結果 #### > 不同規模預訓練與SOTA比較(代表性數字) ![螢幕擷取畫面 2025-08-31 044011](https://hackmd.io/_uploads/BkNNfyZ5gg.png) > 與主流影像分類基準的最新方法比較。我們回報三次微調(fine-tuning)重複實驗的準確率之平均值與標準差。於 JFT-300M 數據集上預訓練的 Vision Transformer 模型,在所有資料集上皆優於以 ResNet 為基線的模型,同時預訓練所需的計算資源明顯更少;在較小且公開的 ImageNet-21k 數據集上預訓練的 ViT 也有良好表現。*Touvron 等人(2020)報告了略微提升的 88.5% 成績。 在大資料預訓練後,ViT 在多項 benchmark 上超越或匹敵 SOTA CNN,且預訓練計算量更省。 * ViT-H/14(JFT-300M預訓練): ImageNet Top-1 88.55%、ReaL 90.72%、CIFAR-100 94.55%、VTAB(19 tasks)77.63%。 * ViT-L/16(ImageNet-21k預訓練): ImageNet 85.30% 等,資源更少仍具競爭力。 ViT-L/16(0.68k TPUv3-core-days)、ViT-H/14(2.5k)的計算成本顯著低於對比 SOTA(如 BiT-L 9.9k、Noisy Student 12.3k)。 #### > VTAB 分組表現 ![螢幕擷取畫面 2025-08-31 044622](https://hackmd.io/_uploads/BystQ1Zclg.png) > VTAB 表現在三類任務組(Natural 自然、Specialized 專門、Structured 結構化)的拆解。 Natural 與 Structured 任務上,ViT-H/14 優於 ResNet(BiT)等方法。Specialized 與 SOTA 接近。顯示 ViT 具備良好低樣本遷移能力。 #### > 過擬合與資料量需求 ![螢幕擷取畫面 2025-08-31 045056](https://hackmd.io/_uploads/SJOjVJW9le.png) > (左):遷移至 ImageNet。當在小型資料集上進行預訓練時,大型 ViT 模型的表現不如 BiT ResNet(圖中陰影區域);然而,在較大型資料集上預訓練時,ViT 模型的優勢便展現出來。同樣地,隨著資料集規模的增加,較大的 ViT 變體也會超越較小的變體。(右):在 ImageNet 上進行線性少樣本(few-shot)評估與預訓練規模的比較。當預訓練資料集較小時,ResNet 的表現更佳,但提升幅度較快達到瓶頸;相較之下,ViT 在更大規模的預訓練資料集下展現更佳表現。ViT-b 指的是將 ViT-B 的所有隱藏層維度縮減為一半的版本。 小資料(如9M subset)下,ViT 較 ResNet 更易過擬合。資料增大(30M、90M、300M)後,ViT 的 few-shot 與遷移表現持續攀升並反超ResNet。顯示「大規模資料取代強歸納偏置」的可行性。 #### > 效能 vs. 計算量 ![螢幕擷取畫面 2025-08-31 045915](https://hackmd.io/_uploads/rJt_Uy-5xe.png) > 不同架構在「效能與預訓練計算量」上的比較,包括 Vision Transformers、ResNet,以及混合式模型。Vision Transformers 在相同的計算資源下通常優於 ResNet。混合式模型在小型模型的情況下可改善純 Transformer 的效能,但在大型模型中這種差距會消失。 在相近或更低的預訓練計算量下,ViT 整體優於 ResNet。Hybrid 在小算力區間略優,但隨模型放大與算力增加,差距消失。 #### > 模型內部觀察 ![螢幕擷取畫面 2025-08-31 050407](https://hackmd.io/_uploads/H1uqPkWqlg.png) * Positional embedding: Positional embedding 自發學到2D結構(行/列相似性)。 * 注意力距離: 低層已有局部與全域head並存,深層平均距離增大。注意力熱區對準語義相關區域。 #### > 自監督初探 ![螢幕擷取畫面 2025-08-31 050758](https://hackmd.io/_uploads/rJUid1-cll.png) > 從輸出標記到輸入空間的注意力代表性範例。 Masked Patch Prediction 可使 ViT-B/16 在 ImageNet 從 ~77.9% → 79.9%,但仍落後大型監督式預訓練數個百分點。對比學習等方法留待未來。 ## 4. 結論 * 純 Transformer 可直接用於影像分類,只需最小修改(patch 序列化 + positional embedding + class token)。 * 關鍵在於大規模預訓練。當資料充足時,ViT 能超越 ResNet 等 CNN 家族,且在效能、計算量上更具優勢。 * 遷移學習與低樣本學習表現亮眼。 * 未來可拓展至偵測、分割等任務、強化自監督預訓練、持續模型規模擴展。現已有許多 CNN 框架納入類似 Transformer 的機制。 # Denoising Diffusion Probabilistic Models Jonathan Ho, Ajay Jain, Pieter Abbeel, (NeurIPS 2020) https://proceedings.neurips.cc/paper/2020/hash/4c5bcfec8584af0d967f1ab10179ca4b-Abstract.html 本研究提出高品質影像生成的擴散機率模型(Diffusion Probabilistic Models),此類模型源於非平衡熱力學的啟發,屬於潛變數模型的一種。研究中發現,當模型以特定參數化方式訓練時,能與多層雜訊等級的去雜訊分數匹配(Denoising Score Matching)以及退火 Langevin 動力學等價,並可自然延伸為漸進式有損解碼(Progressive Lossy Decoding)。在 CIFAR10 上達到 Inception Score 9.46 與 FID 3.17 的成果,在 256×256 LSUN 上的樣本品質接近 ProgressiveGAN。 ## 1. 研究目的 * 驗證擴散模型能否生成高品質影像,與其他生成模型競爭。 * 建立擴散模型與去雜訊分數匹配及退火 Langevin 動力學之間的數學連結。 * 提出簡化變分下界的訓練目標,以提升樣本品質與訓練穩定性。 * 探索擴散模型在漸進式影像壓縮與生成上的應用可能性。 ## 2. 研究方法 ### 2.1 模型結構 ![螢幕擷取畫面 2025-09-02 001808](https://hackmd.io/_uploads/SJHKvBm5gl.png) > 本研究考慮的有向圖模型。 * 前向過程(Forward Process): 逐步向資料加入高斯雜訊,直至訊號被完全摧毀:$q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(x_t;\, \sqrt{1-\beta_t}\,x_{t-1},\, \beta_t I\right)$。可閉式取樣:$q(x_t|x_0) = \mathcal{N}(\sqrt{\bar{\alpha}_t}x_0, (1-\bar{\alpha}_t)I)$ * 反向過程(Reverse Process): 學習高斯轉移分佈以逆轉前向過程:$p_\theta(x_{t-1}|x_t) = \mathcal{N}(\mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$ * 參數化策略: 採用 $\epsilon$-prediction 形式:$\mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon_\theta(x_t, t)\right)$ * 網路架構: 以 U-Net 為骨幹,融合 PixelCNN++ 改良與自注意力機制 * 參數說明: | 符號/式子 | 名稱 | 定義/意義 | 備註 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------ | | $x_0$ | 乾淨資料 | 原始樣本(如影像) | — | | $x_t$ | 噪聲狀態 | 時間步 $t$ 的含噪樣本 | $t=1,\dots,T$ | | $\beta_t$ | 噪聲步長 | 前向過程每步加入的噪聲強度 | 通常小且遞增(schedule) | | $\alpha_t=1-\beta_t$ | 保留係數 | 單步保留訊號比例 | — | | $\bar\alpha_t=\prod_{s=1}^t \alpha_s$ | 累積保留 | 前 $t$ 步後的訊號比例 | 常用於閉式取樣 | | $q(x_t\!\mid\!x_{t-1})=\mathcal N(\sqrt{1-\beta_t}\,x_{t-1},\,\beta_t I)$ | 前向轉移 | 逐步加高斯噪聲 | 將訊號漸「毀損」至各向同性高斯 | | $q(x_t\!\mid\!x_0)=\mathcal N(\sqrt{\bar\alpha_t}\,x_0,(1-\bar\alpha_t)I)$ | 前向閉式 | 不經歷全部步驟也能直接取樣 | 常用重參數化:$x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\,\epsilon$, $\epsilon\!\sim\!\mathcal N(0,I)$ | | $p_\theta(x_{t-1}\!\mid\!x_t)=\mathcal N(\mu_\theta(x_t,t),\Sigma_\theta(x_t,t))$ | 反向轉移 | 學習把噪聲「去掉」 | 近似真實後驗 $q(x_{t-1}\!\mid\!x_t,x_0)$ | | $\epsilon_\theta(x_t,t)$ | 噪聲預測網路 | 輸入 $x_t,t$,預測加入的噪聲 | U-Net 類架構常見 | | $\mu_\theta(x_t,t)=\frac{1}{\sqrt{\alpha_t}}\!\left(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\epsilon_\theta(x_t,t)\right)$ | 反向均值($\epsilon$-prediction) | 用預測噪聲還原均值 | DDPM 經典參數化 | | $\Sigma_\theta(x_t,t)$ | 反向方差 | 反向步驟的噪聲協方差 | 常固定為 $\tilde\beta_t I$ 或學習;$\tilde\beta_t=\frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\beta_t$ | ### 2.2 簡化訓練目標 * 原始變分下界 $L$ 包含多個 KL 項,對應不同 $t$ 的去雜訊任務:$L_{\text{simple}}(\theta) = \mathbb{E}{t,x_0,\epsilon} \left[ |\epsilon - \epsilon\theta(\sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, t)|^2 \right]$ * 隨機均勻取樣 $t \in {1, \dots, T}$ 進行訓練。 * 參數說明: | 元素 | 定義/公式 | 角色/意義 | 取樣/範圍(常見設定) | | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------ | | $L$(ELBO) | 由多個 KL 與邊界項組成的變分下界 | 真實對數似然 $\log p_\theta(x_0)$ 的下界;每個時間步 $t$ 對應一個「去雜訊子任務」 | 訓練與評估時可計算;論文多用來**報告逼真度** | | $L_{\text{simple}}(\theta)$ | $\displaystyle \mathbb{E}_{t,x_0,\epsilon}\!\left[\left\|\epsilon-\epsilon_\theta\!\big(\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\,\epsilon,\;t\big)\right\|_2^2\right]$ | **簡化訓練損失**;在固定或恰當參數化的方差下,與 ELBO 中主要 KL 項僅差常數/權重 | 實作上即用這個 MSE 當作訓練目標 | | $t$ | 擴散時間步 | 抽樣不同噪聲強度的去雜訊子任務 | **均勻隨機**:$t\sim\text{Unif}\{1,\dots,T\}$ | | $x_0$ | 乾淨資料 | 原始樣本 | $x_0\sim p_{\text{data}}$ | | $\epsilon$ | 加入的高斯噪聲 | 重參數化用的隨機性來源 | $\epsilon\sim\mathcal N(0,I)$ | | $x_t$ | 含噪樣本 | 由閉式前向式產生 | $x_t=\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}\,\epsilon$ | | $\epsilon_\theta(x_t,t)$ | 噪聲預測網路 | 輸入 $x_t,t$ 輸出對 $\epsilon$ 的估計 | U-Net 類架構常見 | | $\beta_t,\alpha_t,\bar\alpha_t$ | 噪聲日程 | $\alpha_t=1-\beta_t,\;\bar\alpha_t=\prod_{s=1}^t\alpha_s$ | $\beta_t$ 小且遞增(線性/餘弦等) | ## 3. 實驗結果 ![螢幕擷取畫面 2025-09-02 002253](https://hackmd.io/_uploads/rkSndBm5le.png) > CIFAR10 結果。NLL 以 bits/dim 衡量。 ![螢幕擷取畫面 2025-09-02 002548](https://hackmd.io/_uploads/B1ALYHX5ge.png) > 無條件 CIFAR10 反向過程的參數化與訓練目標消融。空白項目在訓練時不穩定,且生成了品質不佳的樣本,並出現超出範圍的分數。 * CIFAR10(無條件生成)最佳結果: IS = 9.46,FID = 3.17(訓練集計算),NLL ≤ 3.75 bits/dim。與 StyleGAN2、NCSN 等比較,樣本品質具競爭力甚至超越多數模型。 * 參數化與目標函數對比: $\epsilon$-prediction + $L_{\text{simple}}$ 明顯優於 $\tilde{\mu}$-prediction。固定方差 $\Sigma$ 比學習方差更穩定,且樣本品質更佳。 * Progressive Coding: 發現模型在有損壓縮表現優秀,大部分比特用於不可感知細節。漸進生成時,大尺度結構先生成,細節後補。 * 影像插值: 在潛空間進行線性插值,再由反向過程解碼,可生成平滑且屬性連續變化的影像。 ## 4. 結論 * 擴散模型的靈感來自分數匹配、Langevin 動力學,並與自回歸模型存在關聯。 * 擴散模型在不影響其理論基礎的條件下簡化訓練目標,顯著提升樣本品質。 * 擴散模型在影像生成與壓縮領域具強大潛力,在圖生圖、文生圖與提升圖像品質等應用起到關鍵作用。 # 心得與未來研究方向 讀完六篇基礎論文使我釐清許多先前混淆的知識,明瞭諸多方法之間如何彼此啟發、相輔相成,使電腦視覺領域擁有今日的成果。 我對 Transformer 架構、擴散模型與多模態模型的應用尤感興趣。在文字生成圖像的領域中,Google 在將擴散模型 Imagen 作為主力產品之際,也不斷對 Transformer 直接生成圖片的方法進行更多嘗試。值得密切關注。 除此之外,我也希望自己在日後能對「將 AI 運用於長照、醫療領域」有更多了解與想法。