多篇顶会论文看DRO (Distributionally Robust Optimization) 最新进展
?PaperWeekly 原創 ·?作者?|?張一帆
學校?|?中科院自動化所博士生
研究方向?|?計算機視覺
常見的算法使用經驗風險最小化(ERM)的范式,有一個模型參數為 ,一個損失函數 和數據分布 ,通常情況下我們只能看到訓練數據分布 ,那么 ERM 可以寫作:
當測試數據集 的時候,ERM 往往性能會大幅度下降。Distributionally Robust Optimization?(DRO) 為這個問題提供了一個解決方案,即在一個預先確定的分布族 (uncertainty set) 中,用最糟糕的預期風險替換一個單一分布下的預期風險。
如果 包含了 ,那么 DRO 的目標函數就會成為 上平均損失的上界。然而我們不總是能得到域的分布,即將 劃分為多個分布 ?,當我們沒有 domain 的先驗知識的時候,如何去構造 是 DRO 成功的關鍵,目前大概有如下幾種方式:
1. 基于 moment constraint,對數據分布的一階矩,二階矩進行約束。這種方法需要從數據中估計一階矩,二階矩,目前只能在比較 toy 的數據集上使用;
2. 基于 divergence;
3. 基于 Wasserstein/MMD ball;
4. 基于 coarse-grained mixture models。本文通過幾篇高引和最新的頂會文章對 DRO 進行簡單介紹。
基于 divergence 的方法
1.1 開篇之作
論文標題:
Kullback-Leibler Divergence Constrained Distributionally Robust Optimization
論文鏈接:
http://www.optimization-online.org/DB_FILE/2012/11/3677.pdf?
由于年代比較久遠,文中使用的 notation 和我們現在的稍有差別,其對 DRO 的定義為:
這里的 是參數集而 是 § 的數據分布, 作為 uncertainty set。本文第一次采取了如下方法來定義 uncertainty set,其中 是 KL 散度, 是我們對真實數據集的估計。
這里的超參數 控制 了uncertainty set 的大小。我們知道 KL 散度隱式的假設了 相對于 是處處連續的,并且他可以寫作:
到現在為止,我們內層的優化目標是概率分布 ,而 并沒有在目標函數中出現,這就很難優化。作者采用了 change-of-measure 的技巧,首先我們記 為似然比(likelihood ratio),也稱之為迪姆導數(Radon-Nikodym derivative),我們可以輕易的得到 §,然后使用 change-of-measure 將 KL 散度轉化為:
同樣地,對目標函數使用 change-of-measure 的技巧,我們可以得到:
這樣的話內層優化就從依賴于 的優化問題轉化成了對于 的:
因為本文關注于凸優化的場景,也就是說 是凸集, 是凸函數,作者根據一定的假設,直接推出了內層優化的閉式解:
這里的 是 Lagrangian multiplier。內層優化有閉式解意味著什么?意味著我們這個 worst-case distribution 有閉式的概率分布,根據 的定義,我們只需要找到使得內層優化最大的 然后乘上 即可,因此我們可以得到:*
如果我們在外層優化找到了最優的 ,那么他的概率測度可以寫作*:* 這是一個非常有趣的現象,內層優化的最優分布和數據分布 成正比,比例因子為 。所以這個 bi-level 的優化問題直接變成了單層的優化問題:
1.2 P-DRO
論文標題:
Modeling the Second Player in Distributionally Robust Optimization
收錄會議:
ICLR 2021
論文鏈接:
https://arxiv.org/abs/2103.10282
代碼鏈接:
https://github.com/pmichel31415/P-DRO
本文使用生成模型對 uncertainty set 進行建模。但是不是所有的生成模型都可以表達有用的數據分布(如果 太大就會有噪音數據),因此文中使用 KL 散度約束模型分布與真實數據分布之間的距離,文中提出的 Parametirc DRO 如下所示:
他的優化過程比較麻煩主要有兩個注意點:
1.難以保證學到的數據分布真實
因為外層分布的優化是基于一個良好的數據分布 的,我們不能保證 是有效的數據分布,因此作者將該問題轉化成了一個 importance sampling 的問題,這樣保證了數據點 是從真實數據中采樣得到的。
不過真實數據分布 我們依然不知道,因此還需要去估計他,這個 estimator 靠如下方式得到:
即在所有生成模型中選擇一個對數似然估計的最準的,那么接下來模型變成了如下形式,這就是一個簡單的加權損失函數,為了訓練的穩定,在一開始的時候 , 是一樣的,也就是 ERM。
2.生成模型的訓練過程
要最大化上述損失有兩個難點:
這個 KL ball 的限制難以達到;
最大化這個期望會導致訓練的不穩定(large gradient variance)。
為了解決這個問題,作者首先將 KL 散度使用 lagrangian 松散一下:
作者證明了:
其中:
于是巧妙地將這個最大化期望損失的問題轉換成了最小化兩個分布的 KL 散度,其中 依賴于真實數據分布 ,這是我們無法得到的,因此作者將這一項看作常數,再經過一系列轉換變成了:
整體的 model 記作:
基于 Wasserstein/MMD ball
2.1 Wasserstein ball-based
這一塊推薦兩篇文章都非常的硬核,在這里只陳述他們大概的思路。
論文標題:
Certifying Some Distributional Robustnesswith Principled Adversarial Training
收錄會議:
ICLR 2018 Oral
論文鏈接:
https://arxiv.org/abs/1710.10571
代碼鏈接:
https://github.com/duchi-lab/certifiable-distributional-robustness
同樣,先拿出 DRO 的優化目標:
不確定集 的選擇影響了模型的魯棒性和可計算性。他們的方法大概總結如下:對一個將數據點 擾動到 的擾動器,我們規定一個 cost function:,通常情況下 。
考慮一個魯棒性區域 是一個數據分布 附近的 -ball, 是 Wasserstein metric。直接解決這個 bi-level 的問題是非常難的,因此作者使用拉格朗日乘子對問題進行簡化并重新公式化為:
式子中的 可以控制對抗攻擊的強度。
訓練的算法其實是非常簡單的,只不過文中涉及了對算法性質比如魯棒性,收斂性的大量證明,感興趣的讀者建議深度閱讀原文。
2.2 MMD-based
論文標題:
Distributionally Robust Optimization and Generalization in Kernel Methods
收錄會議:
NeurIPS 2019
論文鏈接:
https://arxiv.org/abs/1905.10943
代碼鏈接:
https://github.com/mstaib/mmd-dro-code
本文首先提出了以往方法的兩種缺陷:
1. 基于 -divergence 的 uncertainty set 只能包含真實數據分布附近的數據點,不能偏離真實數據分布太多,因此很難使得 worst-case distribution 包含測試分布,所以不是很能保證一個很好的泛化性能;
2. 基于 Wasserstein distance 的 uncertainty set 包含了一個連續分布,克服了上述問題,但是這種方法非常難以實現,并且理論過程需要復雜的假設。
本文使用 MMD(maximummean discrepancy)對 uncertainty set 進行建模,得到了 MMD DRO。亮點有三:
1. 本文證明了 MMD DRO 等價于 ERM 加上一個對損失函數的希爾伯特范數的懲罰項;
2. 在 Gaussian kernel ridge regression 的場景下,作者證明了一個新的泛化損失上界;
3. 作者給出了近似的易于實現的算法。
首先兩個數據分布 之間的 MMD(max min discrepancy)距離定義如下,不了解 MMD 的可以參考這篇文章 [1]。
我們定義均值 embedding 為 ,那么 MMD 可以寫作:
到這里我們就可以定義本文的核心問題了 MMD Dro:
這里的 是一個有 個樣本點的經驗數據分布。接下來使用 表示 DRO 的 uncertainty set,這是一個包含經驗數據分布的分布, 是從 uncertainty set 中采樣的分布, 表示真實數據分布。
如果 半徑足夠大,那么它就更有可能包含真實數據分布。但是半徑太大這個問題又會很難處理(包含很多噪音樣本),作者給出了如下兩個定理來對泛化性能的 bound 進行討論:
Lemma 1. 對于一個有上界的核函數 ,有 的概率下式成立:
這里 是樣本數目,顯然樣本數目越多 更有可能逼近真實數據分布。
Corollary 1. 如果我們設置 ,那么我們有 的概率使得下述的 bound 成立。
本文稱右端的式子為 DRO 的對抗問題,接下來會對這個對抗問題進行 bound。
現在引入額外假設 ,此時 risk 可以寫作內積的形式 ,那么我們就可以得到:
之所以這里是一個不等式,是因為不是所有 空間內的函數都是某些分布的?? mean embedding。上述形式下,我們的分析就會變得更加容易些。
Theorem 1. 假設 ,那么下述不等式成立:
可以看到直接把 MMD 整沒了,那么我們總體的 DRO 就轉化成了:
回顧一下?Lemma 1.,右端內層的? 優化是真實數據分布 empirical loss 的上界,所以最終的優化目標體現了這樣一個事情:只要在經驗數據分布上優化 ,再加上對 的一個范數的優化,就有大概率能夠提供一個 bound 給分布外的數據。當然了,上式并不是完全體,因為我們不能保證 ,所以作者還進行了進一步的推論,對這一項正則項進行近似,最終將對 loss 的 penalty 轉化為了對 的。
有意思的是,本文還將 MMD DRO 進行了另一個角度的解釋,因為搜索所有在 MMD ball 中的分布 是非常難做到的,因此作者將問題進行化簡,只關注和經驗分布 具有相同 support 的分布(直觀來看也就是含有相同的樣本但權重不一樣),那么 MMD DRO 問題可以簡化為:
進一步的,作者驗證了這個簡化版的問題的最優解為:
其中 是高斯核矩陣, 姑且當作是 就好,巧妙的是,當我們將高斯核矩陣設置為 identity 的時候,這個式子就變成了:
也就是說,我們從 MMD DRO 出發,其實得到了常用的 empirical variance penalty,這里的方差在以往工作中定義為:
Coarse-grained mixture models
3.1 Distributionally Robust Language Modeling
論文標題:
Distributionally Robust Language Modeling
收錄會議:
EMNLP 2019
論文鏈接:
https://arxiv.org/abs/1909.02060
代碼鏈接:
https://worksheets.codalab.org/worksheets/0xf8122ebd24e94209a2a1764007509098
本文關注的場景是 NLP 下的,但是對于 CV,ML 也很有借鑒意義?,F在的語言模型都是大大數據集上進行訓練的,而訓練數據集有非常多的主題(新聞,評論等),而測試的數據集往往是未知的。那么我們能否訓練一個通用模型在所有測試數據集上表現良好呢?本文提供了一種思路。
首先,使用 MLE 會失敗!為什么?雖然數據越多越好,但是如果訓練過程中用的數據與測試無關,那么測試效果會下降(測試,訓練數據都是新聞時,增加評論相關的訓練數據就是使得模型效果下降),而這個下降的原因是:MLE 強調的是在訓練數據中的平均效果,從而忽略了出現次數比較少而重要的數據。考慮我們的數據集 10% 是評論,90% 是新聞,那么 MLE 就會把重點放在新聞上,而我們需要的是將這個關注”搬回來“,讓模型對兩種數據同樣重視。
我們先來看一看問題的建模,數據,訓練數據分布,測試數據分布記為 。語言模型 通常使用如下的 MLE 損失被訓練去近似訓練數據分布 。
當測試訓練數據獨立同分布,傳統的統計理論告訴我們只要數據夠多,MLE 就能效果卓越。但是測試數據分布往往可能是訓練數據中很少的一部分(上述例子中的評論),這時 MLE 就會效果極差。
這時我們定義一個潛在的測試數據分布集合 作為 uncertainty set,如果一個模型在 中表現很好,那么他也能在 中表現良好。而 DRO 的關在在于 uncertainty set 和 loss,作者分別對這兩個關鍵點進行了設計。
Uncertainty Set:本文的 uncertainty set 定義為如下形式:
也就是說 是 的集合,而 們組成了訓練數據 。為了在所有可能的測試集上表現良好,我們的訓練目標變為:
這個目標可以通過 upweighting 損失比較大的數據來實現在所有測試分布上的一個比較均勻的表現(這也是 mixture models 和之前幾種模型的核心差距,個人理解 mixture models 更像是 data-centric 的方法,對自身數據進行 mixture 或者 reweighting 從而獲得更好的魯棒性)。
上式有一個致命的缺陷,他約束的是任意分布,如果有一個 sample 是噪音數據,那么模型將會給他分配很高的權重。為了解決這個問題,作者提出了要將 uncertainty set 約束到有效分布上而不是任意分布。有一個方法可以避免這個問題:“我們不要逐 sentence 進行加權,我們根據 topic 進行加權”。
作者假設每個句子都屬于一個 topic ,那么句子分布記作 。這時我們將上述的 uncertainty set 和 worst case topic distribution 分別進行改寫:
這一方法通過調整 topic 之間的權重來取得一個較為均勻的表現。
本文對于 uncertainty set 的?loss?形式如下:
那么加上 MLE loss,我們的總體損失函數可以寫作如下形式:
也就是說訓練模型 來匹配每個可能的測試分布 ,使每個 density 盡可能一致??梢赃€是難以理解,那我們對比一下:
不同之處在于 可以看作一個常數,但是 依賴于 因此對于外層優化而言不能看做 constant。
Algorithm 現在難點在于 這一項不好處理。本文對每個 topic 訓練一個模型 然后用以估計這一項的值 。整體優化的思路分兩步:
1. 在多個 step 中選擇使得總體損失最大的 ,即我們存儲到第 次優化時每個 topic 產生的平均損失(通過 exponential weighted moving average),然后選擇使得該 loss 最大的 :;
2. 有了 ,我們就可以根據下式更新參數,這里的 是我們對概率分布 的估計。
這時候就有人會問了,這個 難道真的要遍歷所有排列組合嗎?其實不用,我們只需要將 從高到低對所有 topic 排序,然后依次賦予 的概率值。舉個栗子:
給定 ,,那么 。第三個 topic 因為 loss 最大,所以賦予了 的概率值,而第一個 topic loss 第二大,但此時,不夠分,所以把剩余的概率都給他,topic 2 沒有概率。這時上面對梯度的權重就變成了 。
3.2 DRSL
論文標題:
Does Distributionally Robust Supervised Learning Give Robust Classifiers
收錄會議:
ICML 2018 Oral
論文鏈接:
https://arxiv.org/abs/1611.02041
先說結論,本文之所以能作為 oral 出現,他的 intuition 非常關鍵,本文依然選擇 KL-divergence 作為 uncertainty set 的建模工具,但是拋出了一個重磅結論:DRO 訓練得到的分類器并不比 ERM 的好! 我們必須添加一些結構化的假設,引入 domain 相關的信息(gender,style 等)才能真正超越 ERM,訓練出 robust classifier。
先來看看本文的建模,是 density ratio, 則為 divergence,第一個約束就是 uncertainty set 和 empirical distribution 之前的 divergence,將這個 density ratio 作為權重對所有樣本重新進行加權,第二個約束說所有權重的和為 1。
參考文獻
[1] https://zhuanlan.zhihu.com/p/163839117
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的多篇顶会论文看DRO (Distributionally Robust Optimization) 最新进展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今晚直播 | 微软亚洲研究院徐毅恒:预训
- 下一篇: 我通过对方的微信号添加对方时他还没有通过