魯棒是的音譯,也就是健壯和強壯的意思。它也是在異常和危險情況下系統生存的能力。比如說,計算機軟件在輸入錯誤、磁盤故障、網絡過載或有意攻擊情況下,能否不死機、不崩潰,就是該軟件的魯棒性。所謂”魯棒性”,也是指控制系統在一定(結構,大小)的參數攝動下,維持其它某些性能的特性。根據對性能的不同定義,可分為穩定魯棒性和性能魯棒性。以閉環系統的魯棒性作為目標設計得到的固定控制器稱為魯棒控制器。
魯棒性包括穩定魯棒性和品質魯棒性。一個控制系統是否具有魯棒性,是它能否真正實際應用的關鍵。因此,現代控制系統的設計已將魯棒性作為一種最重要的設計指標。
AI模型的魯棒可以理解為模型對數據變化的容忍度。假設數據出現較小偏差,只對模型輸出產生較小的影響,則稱模型是魯棒的。 Huber從穩健統計的角度給出了魯棒性的3個要求:
模型具有較高的精度或有效性。對于模型假設出現的較小偏差(noise),只能對算法性能產生較小的影響。對于模型假設出現的較大偏差(),不能對算法性能產生”災難性”的影響。
; 2、魯棒性和穩定性的區別
魯棒性即穩健性,外延和內涵不一樣;穩定性只做本身特性的描述。魯棒性指一個具體的控制器,如果對一個模型族中的每個對象都能保證反饋系統內穩定,那么就稱其為魯棒穩定的。穩定性指的是系統在某個穩定狀態下受到較小的擾動后仍能回到原狀態或另一個穩定狀態。
3、魯棒性和泛化性的區別
魯棒性是控制論中的詞語,主要指在某些參數略微改變或控制量稍微偏離最優值時系統仍然保持穩定性和有效性。泛化能力指根據有限樣本得到的網絡模型對其他變量域也有良好的預測能力。根據泛化能力好的網絡設計的神經網絡控制器的魯棒性也會有所改善。魯棒性指自己主動去改變網絡中的相關參數,細微地修改(破壞)模型,也能得到理想的效果;而泛化能力是指,在不主動修改(破壞)模型的前提下,被動接受不同的外界輸入,都能得到相應的理想的效果。
4、如何提升模型魯棒性研究方向
為了提升模型的魯棒性, 現在主流的研究大致分為三個方向:
1、修改模型輸入數據, 包括在訓練階段修改訓練數據以及在測試階段修改輸入的樣本數據。
2、修改網絡結構, 比如添加更多的網絡層數,改變損失函數或激活函數等方法。
3、添加外部模塊作為原有網絡模型的附加插件, 提升網絡模型的魯棒性。
常用的方法1、
解決的問題:co-(在神經網絡中,隱藏層單元之間有很高的相關性)。可以看作一個噪聲 [公式] 和全連接矩陣 [公式] 作乘積,隨機導致一部分連接權重為0。能夠有效緩解神經元之間的co-(之前一起發揮作用的神經元現在可能單獨出現了)。訓練時,每次都會得到一個新的子網絡。預測時,所有的神經元都會發生作用,可以看作多個子網絡的平均。因此類似于和 [公式] 正則,不同之處在于的多個子網絡之間共享參數,同時神經元是被隨機丟棄的。
; 2、Batch/Layer
將激活層的輸入標準化,使得標準化后的輸入能夠落在激活函數的非飽和區。
3、Label
label 就是把原來的one-hot表示,在每一維上都添加了一個隨機噪音。這是一種簡單粗暴,但又十分有效的方法前向和遞歸神經網絡的區別,目前已經使用在很多的圖像分類模型中了。
Label 優勢:
1、一定程度上,可以緩解模型過于武斷的問題,也有一定的抗噪能力
彌補了簡單分類中監督信號不足(信息熵比較少)的問題,增加了信息量;
2、提供了訓練數據中類別之間的關系(數據增強);
3、可能增強了模型泛化能力
4、降低 norm ( )從而讓每個類別的樣本聚攏的效果(文章[10]提及)
5、產生更好的校準網絡,從而更好地泛化,最終對不可見的生產數據產生更準確的預測。(文章[11]提及)
Label 劣勢:
1、單純地添加隨機噪音,也無法反映標簽之間的關系,因此對模型的提升有限,甚至有欠擬合的風險。
2、它對構建將來作為教師的網絡沒有用處,hard 目標訓練將產生一個更好的教師神經網絡。(文章[11]提及)
; 4、Mixup
mixup是一種非常規的數據增強方法,一個和數據無關的簡單數據增強原則,其以線性插值的方式來構建新的訓練樣本和標簽。最終對標簽的處理如下公式所示前向和遞歸神經網絡的區別,這很簡單但對于增強策略來說又很不一般。
( x i , y i ) \left ( x_{i},y_{i} \right )(x i ?,y i ?),( x j , y j ) \left ( x_{j},y_{j} \right )(x j ?,y j ?)兩個數據對是原始數據集中的訓練樣本對(訓練樣本和其對應的標簽)。其中λ \ λ是一個服從B分布的參數,λ ~ B e t a ( α , α ) \\sim Beta\left ( \alpha ,\alpha \right )λ~B e t a (α,α) 。Beta分布的概率密度函數如下圖所示,其中α ∈ [ 0 , + ∞ ] \alpha \in \left [ 0,+\infty \right ]α∈[0 ,+∞]
因此α \alpha α是一個超參數,隨著α \alpha α的增大,網絡的訓練誤差就會增加,而其泛化能力會隨之增強。而當α → ∞ \alpha \ \infty α→∞時,模型就會退化成最原始的訓練策略。參考:
5、半監督學習,利用偽標簽增加模型的泛化性6、Focal Loss
Focal loss 主要是為了解決目標檢測中正負樣本比例嚴重失衡的問題,并不是通常的正則化化方法。該損失函數降低了大量簡單樣本在訓練中所占的權重,讓模型更加關注困難、錯分的樣本。
上面的幾種方式,是我常用的幾種方法,更多的可以參考:
:
: AI浩
Title: 魯棒性的含義以及如何提高模型的魯棒性