陳曉艷,陳儉永,朱奎鋒,蘇艷杰,趙春東,張東洋
(1. 天津科技大學電子信息與自動化學院,天津300222;2. 天津福萊迪科技發展有限公司,天津300385)
在半導體晶圓加工成芯片的過程中,繁瑣的工藝流程會導致晶圓產生各種類型的缺陷.目前采用的主要手段是用掃描電鏡(SEM)捕獲晶粒圖像,通過人工識別合格和因表面缺陷而不合格的晶粒.這種方法耗時較長,且會出現人為因素引起的誤判,準確率和效率都不高[1].針對主流8 寸和12 寸晶圓的生產工藝需求,如何快速準確地識別不合格晶粒,并根據缺陷類型挖掘缺陷產生原因,成為國內外芯片生產企業亟待解決的技術難題.
此前,機器視覺的方法進行缺陷檢測一度成為研究熱點,并取得一定效果.He 等[2]基于K 近鄰規則計算數據點平方距離的總和,與設定閾值進行比較,判斷該數據是否為缺陷點.Palma 等[3]分別在模擬和真實晶圓圖像上進行缺陷檢測,采用自組織特征圖(SOM)作為分類器取得了良好的檢測結果.Liu 等[4]使用光譜減法提取標準模板,通過灰度匹配大大提高了缺陷檢測的速度和準確性.上述方法的關鍵在于如何提取到有效表達類型差異的缺陷特征,算法適應性不高,通常需要對特定需求重新設計.
近年來,卷積神經網絡(convolutional neural network,CNN)的發展為解決圖像分類問題帶來了新的思路,并迅速而廣泛地被應用到工業[5]、農業[6]、醫療[7]、金融[8]等多個領域,在計算機視覺[9]、語音識別[10]、文本處理[11]任務中表現尤為出色.CNN 具有強大的特征學習能力和非常強的適應能力,不需要任何特定于任務的特征處理,所以有學者將CNN 技術應用于晶粒的缺陷檢測領域.2018 年,Nakazawa等[12]設計了CNN 模型,使用2.86 萬張合成晶粒圖訓練,在6 600 張測試數據上的分類準確率為98.2%.2019 年,Nakazawa 等[13]又提出了一種使用深度卷積編碼器–解碼器神經網絡架構檢測和分割異常晶粒圖缺陷圖案的方法,可以從實際晶粒圖中檢測到看不見的缺陷圖案.Yu 等[15]集成CNN 和稀疏去噪自動編碼器學習有效特征,在仿真數據集和實際晶圓圖數據集(WM-811K)上的總體準確率為94.81%.
盡管缺陷檢測精度不斷提升,但是大多數CNN模型結構復雜,層數過深而導致模型規模過大,從發展需求和發展趨勢上,輕量化CNN 模型更易于往智能芯片移植,在非GPU 硬件資源上更容易部署,而且更加能滿足智能邊緣計算的發展需求.因此,本文提出了一種以注意力機制(attention mechanism)為導向的輕量化CNN 網絡模型(Attn-Net),從實際生產線上獲取大量晶粒圖像,構建數據庫,通過訓練、驗證及測試,與基于 CNN 的主流模型 VGG-16、ResNet-50 和MobileNet-v2 進行對比,證明了本文提出的Attn-Net 模型具有更好的檢測精度和檢測速度.
注意力導向CNN 模型Attn-Net 的網絡結構如圖1 所示.Attn-Net 由4 個卷積提取塊和1 個注意力機制模塊組成.

圖1 注意力導向CNN網絡結構Fig. 1 Structure of attention oriented CNN
輸入圖像大小為224×224.卷積采樣過程中,為了保留圖像特征,降低信息損失,卷積核的數目不斷提高,圖像通道數也逐漸增多.經過4 個卷積塊后,圖像的通道數由3 增加到64,再逐漸增加至512.最大池化層的步長為2,每經過一次最大池化,圖像尺寸減半,圖像的尺度逐漸降低,圖像信息不斷被壓縮.首先,輸入圖像傳入卷積塊進行特征提取,得到卷積層輸出的特征圖;然后,對卷積層輸出的特征圖進行尺度變換,傳入注意力計算層進行相應通道鍵值注意力計算,得到注意力機制篩選的特征圖;最后,將此時的特征圖標準化,輸出至全局平均池化層,全局平均池化層將各通道特征圖降維映射至Softmax層,輸出分類結果.
Attn-Net 的卷積塊的基本組成是深度可分離卷積[16-17].深度可分離卷積對輸入的每個通道先進行深度卷積(Depthwise Conv),然后通過1×1 的逐點卷積(Pointwise Conv)將輸出通道混合.假定輸入圖像的寬、高和通道數為(W×H×C),卷積核的大小為(N1×N2),卷積核的數量為K.通過深度卷積和逐點卷積的拆分,可以將普通卷積的計算量壓縮為

深度可分離卷積將空間特征學習和通道特征學習分開,計算量更低,卷積操作更為高效.
Attn-Net 在卷積層后加入了批標準化層(batch normalization,BN).對于輸入的每一個最小批次(mini-batch)即δ ={ x1,x2,…, xm},BN 進行如下操作:
(1)求最小批次數據的均值

其中γ 和β 是需要被學習的參數.
批標準化層把每層的數據分布轉換為均值為0、方差為1 的相同狀態,能夠加快網絡的訓練速度和收斂速度,避免梯度消失和梯度爆炸現象發生.同時,BN 層將每一個批次中所有樣本關聯在一起.因此,訓練集中某個樣本的輸出取決于樣本及這個樣本同一批次的其他樣本,網絡的學習方向是隨機的,這在一定程度上避免了過擬合.
繼發于抗中性粒細胞胞漿抗體相關系統性血管炎的肥厚性硬脊膜炎1例報告 ……………………………………………………… 陳竹林,黃光,徐斌,等 124
在卷積層提取特征后,Attn-Net 使用全局平均池化層計算每個通道的特征圖中所有像素的平均值,獲得具有相同維數和類別數的特征向量,然后將其輸入到Softmax 層中.與全連接相比,減少了卷積過程中大量的參數計算,也緩解了過擬合問題.
注意力機制[18]即為了充分利用有限的視覺信息處理資源,選擇性地關注視覺區域中的特定部分,忽略其他可見信息.相較于卷積計算,注意力機制算法復雜度較低,額外引入的參數量和計算量較低,因其能夠快速提取數據特征的內部相關性,被廣泛用于圖像處理[19]、語音識別[20]、自然語言處理[21]等任務中.本文也引入注意力以提升特征提取網絡的性能.
注意力機制由 3 個要素即查詢(Query)、鍵(Key)、值(Value)構成.注意力計算過程如圖2 所示,給定目標的某一查詢Q,計算該查詢Q 和多個鍵K 的相似性或相關性,得出每個K 相應于V 值的權重系數.通過Softmax 歸一化后,對權重系數和相應V 加權求和即可得到該查詢Q 的注意力(Attention).
查詢Q 的注意力可表示為

相似性計算方法包括點積、拼接、感知機等方式.放縮點積注意力的相似性計算為點積


圖2 注意力計算過程Fig. 2 Attention calculation process
多頭注意力機制[22]是一種特殊的放縮點積注意力.如圖3 所示,查詢(Query)、鍵(Key)、值(Value)經過一次線性變換后輸入到放縮點積注意力中.將h次Q、K、V 的放縮點積注意力結果拼接后,再進行一次線性變換得到多頭注意力的輸出.h 次Q、K、V 的參數是相互獨立的.與放縮點積注意力相比,多頭注意力機制算法復雜度較低,允許模型在不同的表示子空間里學習到相關的信息.

圖3 多頭注意力機制Fig. 3 Multi-head attention mechanism
實驗軟件環境:Python3.6 、TensorFlow-Gpu1.8.0、Cuda9.0、Keras2.1.4;硬件平臺:Intel Core i7-9700K CPU、NVIDIA GeForce RTX 2060 GPU.
實驗室晶粒圖像數據集[23]包含無缺陷晶粒圖像和3 種常見的晶粒缺陷類型,如圖4 所示.數據分布結構見表1.

圖4 晶粒圖像Fig. 4 Die images

表1 晶粒圖像數據分布Tab. 1 Distribution of die images
為了提升模型的泛化能力,在輸入CNN 網絡之前,對晶粒數據集進行了旋轉變換、錯切變換和隨機縮放3 種數據增強處理.增強矩陣為

θ 為旋轉變換角度,γ 為錯切系數,μ 為縮放系數,A、B是旋轉變換矩陣,C是錯切變換矩陣,D是隨機縮放矩陣.任意像素坐標x、y、z 增強處理后的結果為xu、yv、zw.
模型Attn-Net 的超參數設置見表2,訓練過程中的損失值和準確率變化曲線如圖5 所示.隨著迭代次數的加深,模型的訓練集損失和驗證集損失逐漸降低,最終低于0.001;訓練準確率和驗證準確率逐漸提升,最終接近于1,這說明模型Attn-Net 正常收斂,訓練過程未出現過擬合現象.

表2 Attn-Net超參數設置Tab. 2 Hyperparameter settings of Attn-Net

圖5 訓練集和驗證集的損失率和準確率變化Fig. 5 Loss and accuracy of training set and validation set
圖6 展示了Attn-Net 各個卷積塊的特征圖譜和注意力層的特征圖譜可視化結果(為了比較,此處僅展示了32 個通道的圖像).不同的通道提取到的特征是不同的,不同通道關注的位置和目標有差異.有的通道提取的只有噪聲,而有的通道提取的是物理輪廓.從圖6 可以看出:淺層卷積層提取到的特征圖譜特征復雜度較低,可視化圖像與輸入圖像相似.隨著網絡不斷深入,模型逐漸提取從點、顏色到線段、邊緣再到更高級的組合特征,特征屬性越來越復雜,對應到可視化圖像中,特征圖譜越來越抽象,模型特征表達能力逐漸增強,特征擬合更加充分.
Attn-Net 卷積層和注意力層的類激活圖(CAM)如圖7 所示.CAM 獲取到卷積層(注意力層)的輸出和目標類別神經元相對于每一個通道的梯度,使用該梯度對每個通道進行加權,最后對通道求均值并歸一化處理.CAM 可以指示圖像每個位置相對于所考慮的類的重要程度.從圖7 可以看出,在晶粒圖像中,晶粒的矩形邊緣貢獻了最重要的特征,其次是矩形內部的區域信息.

圖6 特征圖可視化Fig. 6 Visualization of feature map

圖7 類激活圖可視化Fig. 7 Visualization of class activation diagram
在晶粒圖像數據集上,選取高精度模型VGG-16、ResNet-50 和輕量化模型MobileNet-v2 與Attn-Net 對分類精度、模型大小和檢測時間進行測評,結果見表3.模型VGG-16、ResNet-50、MobileNet-v2 和Attn-Net 在2 703 張晶粒圖像的測試集上的分類精度大致相同,均能達到99.9%以上.因為晶粒圖像數據集中的缺陷類型的特征集中表現為角、線條和矩形輪廓,特征復雜度不高,4 個模型均能夠有效提取并識別.圖8 展示了Attn-Net 在測試集上的混淆矩陣,可以看出,Attn-Net 晶粒圖像類內和類間的識別準確率仍能達到99%.這表明模型Attn-Net 能夠滿足晶粒缺陷檢測精度的要求.
4 個模型中,模型VGG-16 的參數量最多.模型VGG-16 具有3 個全連接層,計算方式復雜,參數量超過了1 億,模型大小為1.5 GB.模型ResNet-50 結構更為復雜,但省去了全連接層,參數量為23 792 612,模型大小為270 MB.模型MobileNet-v2使用擴張–卷積特征提取–壓縮的輕量化網絡結構,其參數量和模型大小都遠低于模型VGG-16 和ResNet-50.模型Attn-Net 使用全局平均池化層代替全連接層,部分使用深度可分離卷積代替標準卷積,降低了參數量.相較于卷積結構,多頭注意力機制模塊的參數量和算法復雜度更低.因此,模型Attn-Net 的參數量最少,約217 萬,模型也最小,約25 MB.

表3 模型性能測評Tab. 3 Model evaluation
與參數量和計算復雜度對應,模型VGG-16 和ResNet-50 的檢測用時較長.輕量化模型MobileNetv2 網絡計算方式更為簡單,速度更快,用時1.35 s.模型Attn-Net 的優化策略降低了模型的參數量和計算量,檢測用時最短,為1.26 s.

圖8 混淆矩陣Fig. 8 Confusion matrix
模型VGG-16、ResNet-50、MobileNet-v2 和Attn-Net 的分類精度均超過99%.其中,模型Attn-Net 的參數量更低,模型更小,檢測時間更短.因此,更適合部署至晶粒缺陷檢測設備中.
本研究提出了一種注意力導向的新型CNN 模型Attn-Net,其最大優勢是模型小,對硬件資源占用少,對缺陷識別快,而且集中不同的缺陷樣本的識別準確率高.究其原因在于,其一是多個深度可分離卷積和標準卷積構成的混合卷積塊能夠更加快速地提取圖像特征;其二是將圖像特征的圖譜采用多頭注意力機制進行計算,相比卷積運算,具有降低算法復雜度和減少參數量的優勢.在課題組前期研究[24]中,已對晶粒圖像進行了輕量化模型識別與分類,取得了極快的檢測速度.而本文提出的模型Attn-Net,融入了注意力機制,緩和了深度可分離卷積引起的精度損失,所以對機械損傷這一晶粒缺陷類別的識別精度顯著提高,但是從測試速度上看,文獻[24]的方法更具有優勢.值得思考的問題是:在CNN 基礎上的各種模型,精度和速度是兩個相互制約的矛盾因素,精度的提高往往以損失速度為代價,反言之亦如此.今后將更加致力于如何將智能化的算法移植到應用層,在嵌入式芯片或其他終端上進行部署,真正發揮智能算法在各個應用領域中的優勢.