本文介紹結合重建損失的深度卷積神經網路架構,透過轉移學習將預訓練模型的通用特徵權重作為起點,大幅降低晶圓缺陷檢測所需的資料量與訓練時間。實作上採用「分層學習率」配合兩階段微調策略,並藉由動量及自適應優化器更新權重,在避免災難性遺忘的同時,有效提升製程良率。
為了提高AI模型的訓練效率和降低必需的資料量,本文將介紹轉移學習(Transfer Learning)的概念。以及結合重建損失(Reconstruction Loss)的深度卷積神經網路(Deep Convolutional Neural Network, DCNN)架構,可應用於晶圓缺陷檢測與提高製程良率。
轉移學習
轉移學習的主要目的是將一個任務中學到的知識應用到另一個相關但不同的任務上,這如同知識轉移。這種方法特別適合在資料有限或訓練成本高的情況下使用。轉移學習是利用已訓練好的模型(通常是以大型資料集訓練完成的)作為起點,能大幅減少新任務的訓練時間。在資料量不足的任務中,轉移學習能讓模型表現更好,因為它已經學到通用的特徵。也就是將在一個領域(如影像辨識)學到的抽象特徵,應用至另一個領域(如醫療影像分析)。因此,轉移學習不需要從零開始蒐集大量的標記資料(labeled data),只需少量資料就能微調(fine tune)模型。
圖1是典型的轉移學習流程,它包含了三大部份:上游、中游、下游。上游是已訓練好的或預訓練的卷積神經網路(Convolutional Neural Network, CNN)模型,大致包含:負責提取特徵的卷積層,以及全連接層或稠密層(dense layer)。全連接層負責將提取到的特徵映射到最終的分類結果。
圖1 典型的轉移學習流程
圖1由上向下的箭頭並標示了Transfer的是中游,它是將在上游學習到的知識(即訓練好的網路權重)應用到新的、相關的目標領域,即將預訓練模型的權重作為新模型的初始化權重。下游是透過轉移學習建立的新模型,用來執行新任務或目標任務,並使用新的目標資料集進行訓練。在圖1中,此新的分類任務可能是識別未見過的新樂器類型。通常預訓練模型的卷積層會設定為凍結(frozen)或凍結層(frozen layer),表示下游的新模型仍然使用上游的卷積層。在新任務的訓練過程中,卷積層的權重保持不變,並持續執行特徵提取。在下游末端,預訓練模型的原始稠密層被移除,改以隨機初始化(Random Initialization)的新稠密層或分類層來取代,這就進入了微調階段。由於目標資料集的數量通常較小,利用預訓練模型強大的特徵提取能力,只訓練新加入的分類層,使其能將提取到的特徵映射到新目標任務的類別上。
圖1展示了深度學習中最常見且高效的轉移學習策略:特徵提取和特徵復用(Feature Reuse)。它大幅地減少了新模型的訓練時間和所需的資料量,因為新模型不需要從零開始學習如何識別點、線、邊緣等基礎視覺特徵。
學習率
學習率(Learning Rate, LR)是深度學習訓練中,最關鍵的超參數(hyperparameter)之一,它決定了模型的權重在每次迭代(iteration)或批次訓練中,更新的幅度。在數學優化領域,步長(Step Length)可以指優化演算法在每次迭代中,沿著梯度方向移動的距離。在梯度下降(Gradient Descent)或其衍生版如Adam with Weight Decay(AdamW)、Stochastic Gradient Descent(SGD)優化演算法中,權重的基本公式通常是以式子(1)表示:

實際步長等於LR×▽J(W)。較大的LR會使步長增加,權重的更新幅度也因此變大,模型的收斂速度變快,但可能跳過最佳解,因過衝,導致震盪或發散。較小的LR則會使步長減少,權重的更新幅度因此變小,模型收斂速度變慢,但能更精確地逼近最佳解,且訓練更穩定。圖2是使用梯度下降法(Gradient Descent, GD),當設定的學習率不同時,所求得的解和最佳解之間的關係。圖2(a)的學習率是0.00001,學習率過小可能導致收斂速度過慢,使模型難以有效跳脫局部極值區域。圖2(b)的學習率是0.0004,對此例來說,雖然步伐夠大,能跳出局部極值,但到全域極值時,因為步伐太大,在最佳解附近來回震盪而無法收斂。圖2(c)的學習率是0.0003,對此例來說足夠了,可以較快收斂至全域極小值附近。
圖2 梯度下降法中,不同的學習率與最佳解之間的關係
圖3是從檢測自然影像到檢測晶圓缺陷的轉移學習流程。它將ImageNet預訓練模型在辨識貓狗時學到的視覺基礎特徵,轉化為像素對像素(pixel-to-pixel)等級的晶圓缺陷檢測能力。其學習率策略是分層學習率(Differential Learning Rates)結合兩階段訓練的混合策略,以達到保護通用知識和快速適應新任務的目的。
圖3 檢測自然影像到檢測晶圓缺陷的轉移學習流程
表1(a)表示第一階段,旨在使隨機初始化的新分類層快速學會將預訓練的所有卷積層提取的特徵映射到晶圓缺陷的類別上。這階段只需花費少量的訓練週期(epoch),如5至10個訓練週期,直到新分類層的損失值穩定為止。表1(b)表示第二階段,其目的是在新分類層已經穩定的基礎上,以極小的步長微調預訓練的所有卷積層的權重,使其能更佳適應晶圓圖像的特殊視覺模式。這階段需花費較多的訓練週期,如30至50個訓練週期,直到新模型的效能不再提升為止。

LR的設定規則是:淺層的LR<深層的LR<分類層的LR。這是為了確保在神經網路中,越靠近輸入端的處理層,其權重變化越小,從而保護通用知識。無論在哪個階段,最好都使用學習率衰減策略,例如:餘弦退火(Cosine Annealing)或步進衰減(Step Decay)。隨著訓練的進行,學習率會逐漸降低,使得模型能夠從大的步長快速收斂,最終以極小步長在損失函數底部搜尋最佳解。此外,在優化器的選擇方面,最好使用Adam或AdamW優化器,因為它們在處理稀疏梯度和非凸優化問題時,表現穩定,非常適合微調任務。
理論上,使用極小的學習率確實會增加陷入局部極小值或鞍點的風險,但對轉移學習中的預訓練卷積層而言,使用極小學習率的風險通常是可接受的,且是必要的選擇。這是因為在晶圓缺陷檢測的轉移學習場景中,預訓練模型的權重有兩項重要因素,使得極小學習率的風險變得可控:
- 權重已處於較佳解區域:
- 起點優勢:預訓練的權重已經在ImageNet這個極其龐大且多樣化的資料集上訓練過,它們已處於具有良好泛化能力的權重區域。
- 目標:微調的目的不是從零開始尋找最佳解,而是在現有最佳解的附近進行微小的調整,使其適應新的目標任務(檢測晶圓缺陷)。
- 避免災難性遺忘(Catastrophic Forgetting):
- 主要風險:對於預訓練模型來說,最大的風險不是局部極小值,而是災難性遺忘。如果使用較大的學習率,晶圓缺陷的少量資料可能會破壞先前在ImageNet上學到的、極為寶貴的通用視覺特徵。
- 極小學習率的作用:極小學習率的作用是保護這些通用特徵。它允許權重進行微小的、謹慎的調整,以適應晶圓圖像的特殊性,同時防止權重大幅度偏離其優越的初始位置。
為了解決極小學習率可能帶來的收斂緩慢,或陷入局部極小值的問題,深度學習的實作通常會採用以下的優化器:
在學習率很小的情況下,動量項也能幫助模型累積梯度資訊,從而獲得足夠的慣性來跨越淺層的局部極小值或鞍點(saddle point),以加速訓練。
- 自適應學習率優化器(adaptive optimizer)
Adam、AdamW、RMSProp等。這些優化器會為每個參數計算獨立的學習率。它們在梯度較大時會自動減小步長,在梯度較小時(如在平坦區域或鞍點附近)會增大步長。這使得模型在平坦區域,即使事先設定的全局學習率很小,也能保持一定的探索能力,有效緩解陷入局部極小值的風險。常見優化器如Momentum、RMSProp與Adadelta等,在典型的峽谷狀損失曲面中進行參數更新時,可透過動量機制或自適應學習率調整,有效改善傳統梯度下降法在收斂過程中的效率與穩定性。在典型峽谷狀損失曲面情境中,Adadelta、NAG與Momentum等優化器通常能展現較佳的收斂效率;相較之下,傳統SGD在缺乏動量與自適應調整學習機制的情況下,較容易在鞍點或平坦區域出現收斂緩慢的現象。
利用轉移學習檢測晶圓缺陷在理論上存在陷入局部極小值的風險,但由於權重的起點優越,且在實作時會配合使用動量或自適應優化器,因此風險是可控的,且低於災難性遺忘的風險。
重建損失
圖4是CNN結合了重建損失或自動編碼器(autoencoder)的架構,也是一個用於轉移學習的DCNN或多任務學習架構。它結合了分類(classification)和重建(reconstruction)兩個任務,旨在解決領域適應(Domain Adaptation)或特徵學習(Feature Learning)的問題。負責提取特徵的卷積層也被稱為編碼器,在圖4的分類路徑中,共有五個卷積層,因此這個CNN具備了深度的特性。而在重建路徑中,反卷積層(Deconvolution Layer)也被稱為解碼器,其目的是將編碼器提取到的特徵重建成原始的輸入圖像。
圖4 整合了重建損失或自動編碼器的CNN架構
圖4紅色圓點代表重建損失,通常表示輸入圖像與重建圖像之間的差異。解碼器將重建損失回傳並優化編碼器,以提取可重建的特徵。而分類層將分類損失回傳至編碼器,優化編碼器,使其能夠提取出對分類任務最具區辨力且最有效的特徵表示(Feature Representation)。這種回傳機制就是反向傳播(backward propagation)。從計算損失開始,將損失梯度逐層向後傳播,並更新每一層的權重,這就是反向傳播演算法的核心機制。