深度殘差收縮網路:(四)注意力機制下的閾值設定
對於基於深度學習的分類演算法,其關鍵不僅在於提取與標籤相關的目標資訊,剔除無關的資訊也是非常重要的,所以要在深度神經網路中引入軟閾值化。閾值的自動設定,是深度殘差收縮網路的核心貢獻。需要注意的是,軟閾值化中的閾值,需要滿足一定的條件。這篇文章中的閾值設定,事實上,是在注意力機制下進行的。下面分別介紹閾值需要滿足的條件、注意力機制以及具體的閾值設定方法。
(1)閾值需要滿足的條件
在軟閾值化中,閾值的取值有一定的要求:首先, 閾值必須是正數;其次, 閾值不能太大,否則輸出會全部為零。
更重要的是, 每個樣本,應該有不同的閾值。這是因為,許多樣本所含的噪聲量經常是不同的。
例如,樣本A所含噪聲較少,樣本B所含噪聲較多。那麼,在降噪演算法裡面,樣本A的閾值就應該大一點,樣本B的閾值就應該小一些。在深度學習演算法裡,由於這些特徵沒有明確的物理意義,閾值的大小也無法得到解釋。但是道理是相通的,即每個樣本應該有不同的閾值。
(2)注意力機制
注意力機制可以從視覺的角度進行解釋。人類能夠透過快速掃描影像,發現目標物體,進而將更多的注意力集中在目標物體上,以捕獲更多細節,同時抑制其他區域的無關資訊。
Squeeze-and-Excitation Network(SENet)是一種典型的帶有注意力機制的深度學習方法。對於不同的樣本,不同通道上的特徵,在分類任務中的重要程度,經常是不同的。SENet可以學習一組權重,自動地調整不同通道的特徵的大小。這個過程,就相當於施加不同的注意力在各個通道的特徵上(見下圖)。
需要注意的是,每個樣本,都有自己獨特的一組權重。任意兩個樣本,它們的這些權重,都是不同的。在SENet中,具體的網路結構如下圖所示。學習權重的路徑就是,全域性池化→全連線層→ReLU→全連線層→Sigmoid。
(3)具體的閾值設定方法
深度殘差收縮網路採用了一個子網路來自動地設定閾值。這個子網路的結構,就借鑑了上述的SENet。
首先來看“通道之間共享閾值的深度殘差收縮網路(Deep Residual Shrinkage Networks with Channel-shared Thresholds,簡稱DRSN-CS)”。我們可以看到,在紅色虛線框裡的子網路,學習得到了一個閾值,應用在特徵圖的所有通道上。
在這個子網路中,首先對輸入特徵圖內的所有元素,取絕對值。然後經過全域性均值池化(Global Average Pooling, GAP)和求平均(Average),就得到了一個特徵。為了方便描述,將這個特徵記為A。在另一條路徑中,全域性均值池化之後的特徵,輸入到一個小型的全連線網路之中。這個全連線網路以一個Sigmoid啟用函式作為最後一步,其目的在於將輸出調整到0和1之間,記為α。最終的閾值就是α×A。這樣的話,閾值就是,一個0和1之間的數字×特徵圖的絕對值的平均值。透過這種方式,保證了閾值不僅為正數,而且不會太大。
然後再看“逐通道不同閾值的深度殘差收縮網路(Deep Residual Shrinkage Networks with Channel-wise Thresholds,簡稱DRSN-CW)”。與上述的DRSN-CS相似,在紅色虛線框裡的子網路,學習得到了一組閾值。以相同的方式,確保了閾值有著合適的取值範圍。
值得指出的是,透過這種方式,不同的樣本就有了不同的閾值。在一定程度上,也可以理解為一種注意力機制: 注意到不重要的特徵,將它們剔除掉;或者說,注意到重要的特徵,將它們保留下來。另外,雖然跨層的恆等路徑(Identity shortcut)將不重要的特徵也傳遞到了高層特徵中,但是透過很多殘差模組的堆疊,這些不重要的特徵所佔的比重越來越低,最終實現不重要特徵的消除。
前三篇的內容:
深度殘差收縮網路:(一)背景知識 https://www.cnblogs.com/yc-9527/p/11598844.html
深度殘差收縮網路:(二)整體思路 https://www.cnblogs.com/yc-9527/p/11601322.html
深度殘差收縮網路:(三)網路結構 https://www.cnblogs.com/yc-9527/p/11603320.html
原文的連結:
M. Zhao, S. Zhong, X. Fu, B. Tang, and M. Pecht, “Deep Residual Shrinkage Networks for Fault Diagnosis,” IEEE Transactions on Industrial Informatics, 2019, DOI: 10.1109/TII.2019.2943898
https://ieeexplore.ieee.org/document/8850096
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957925/viewspace-2669641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度殘差收縮網路:(三)網路結構
- 深度殘差收縮網路:(一)背景知識
- 深度殘差收縮網路:(二)整體思路
- 殘差網路再升級之深度殘差收縮網路(附Keras程式碼)Keras
- 深度學習故障診斷——深度殘差收縮網路深度學習
- 十分鐘弄懂深度殘差收縮網路
- 深度殘差收縮網路:(五)實驗驗證
- 深度殘差收縮網路:(六)程式碼實現
- 深度殘差網路(ResNet)
- 深度學習之殘差網路深度學習
- 殘差網路(Residual Networks, ResNets)
- 殘差神經網路-ResNet神經網路
- 學習筆記16:殘差網路筆記
- 深度學習中的注意力機制(Attention Model)深度學習
- 微軟亞研:對深度神經網路中空間注意力機制的經驗性研究微軟神經網路
- PyTorch入門-殘差卷積神經網路PyTorch卷積神經網路
- 注意力機制
- 通俗理解自注意力機制和多頭注意力機制
- 帶自注意力機制的生成對抗網路,實現效果怎樣?
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄10)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄11)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄12)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄13)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄14)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄15)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄16)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄17)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄1)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄2)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄3)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄4)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄5)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄6)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄7)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄8)函式
- 深度殘差網路+自適應引數化ReLU啟用函式(調參記錄9)函式
- 深度學習——手動實現殘差網路ResNet 辛普森一家人物識別深度學習
- 支援向量機(SVM)之硬閾值