CICC科普欄目|從基礎知識到實際應用,一文了解「機器學習非凸優化技術」

2021-03-01 中國指揮與控制學會


優化技術在科技領域應用廣泛,小到航班表,大到醫療、物理、人工智慧的發展,皆可看到其身影,機器學習當然也不例外,且在實踐中經歷了一個從凸優化到非凸優化的轉變,這是因為後者能更好地捕捉問題結構。本文梳理了這種轉變的過程和歷史,以及從機器學習和信號處理應用中習得的經驗。本文將帶領讀者簡要了解幾種廣泛使用的非凸優化技術及應用,介紹該領域的豐富文獻,使讀者了解分析非凸問題的簡單步驟所需的基礎知識。更多詳細內容請查看原論文。


優化作為一種研究領域在科技中有很多應用。隨著數字計算機的發展和算力的大幅增長,優化對生活的影響也越來越大。今天,小到航班表大到醫療、物理、人工智慧的發展,都依賴優化技術的進步。


在這段興奮期的大部分時間,由於我們對凸集合和凸函數的深入了解,我們主要聚焦於凸優化問題。但是,信號處理、生物信息學和機器學習等領域的現代應用通常不滿足於僅使用凸函數,因為非凸公式能夠更好地捕捉問題結構。


近期出現了一些論文開始探討非凸優化,不過第一批論文仍然堅持使用凸優化,致力於證明特定類別的非凸問題(具備與這些問題的自然實例類似的合適結構)可以在沒有損失的前提下轉換成凸問題。更準確地說,原始的非凸問題和修改後的凸問題具備共同的最優解,因此凸問題的解也可以自動解決非凸問題!但是,這種方法需要耗費大量時間解決所謂的鬆弛凸問題(relaxed convex problem)。


第二批論文研究在避免鬆弛凸優化的情況下可證明的非凸優化技術,並用於解決原本形式的非凸問題,似乎取得了與凸鬆弛方法同等質量的結果。伴隨這些較新結果的是新的實現:對於稀疏恢復(sparse recovery)、矩陣補全(matrix completion)、穩健式學習(robust learning)等大量應用,這些直接技術能更快地收斂到最優解,速度通常比基於鬆弛凸優化的技術提高一個數量級甚至更多,而準確率與後者差不多。


本文旨在講述這一實現的歷史,以及從機器學習和信號處理應用的角度中學得的經驗。本文將介紹非凸優化問題和可獲取對此類問題極具擴展性解決方案的大量結構。本文將認真分析和利用額外的任務結構,證明之前避免的 NP-hard 問題現在具備在近線性時間內運行的求解器。本文將告知讀者如何在不同的應用領域查找此類結構,使讀者深入了解分析此類問題和提出更新解決方案的基礎工具和概念。


論文: Non-convex Optimization for Machine Learning


論文地址:https://arxiv.org/abs/1712.07897


摘要:大量機器學習算法通過解決優化問題來訓練模型、執行推斷。為了準確捕捉學習和預測問題,經常出現的稀疏或低秩等結構化約束或目標函數本身都被設計成非凸函數。對運行在高維空間或訓練張量模型和深層網絡等非線性模型的算法尤其如此。


將學習問題表達為非凸優化問題的便利方式使算法設計者獲得大量的建模能力,但是此類問題通常是 NP-hard 難解決的問題。之前流行的解決方案是將非凸問題近似為凸優化,使用傳統方法解決近似(凸)優化問題。但是該方法可能造成損失,且對於大規模優化來說難度較高。


另一方面,解決非凸優化的直接方法在多個領域中取得了巨大成功,現在仍是從業者常用的方法,因為這種方法通常由基於凸鬆弛的技術,流行的啟發式方法包括投影梯度下降(projected gradient descent)和交替最小化(alternating minimization)。但是,人們通常不了解其收斂性和其他特性。


本文展示了一些近期進展,這些進展可以填補我們對這些啟發式方法長期以來的認識不足。本文將帶領讀者了解幾種廣泛使用的非凸優化技術及應用。本文目標是介紹該領域的豐富文獻,以及使讀者了解分析非凸問題的簡單步驟所需的技術。



圖 1:章節閱讀建議順序圖示。例如,3、4 章介紹的概念有助於第 9 章的理解,而通讀第 6 章則對此無必要。類似地,我們推薦先讀第 4 章再讀第 5 章,不過讀者可以選擇讀完第 3 章後直接閱讀第 7 章。

第 1 部分:引言和基礎工具。這部分提供介紹性說明和凸優化中的一些基礎概念和算法工具。推薦不熟悉數值優化的讀者閱讀這部分內容。

第 2 部分:非凸優化基元。這部分使讀者了解非凸優化問題中最廣泛使用的基元。

第 3 部分:應用。這部分介紹機器學習和信號處理領域中四個有趣的應用,探索如何使用之前介紹的非凸優化技術解決這些問題。

第一章 簡介

這一部分將為後續討論打下基礎,並為讀者提供一些非凸優化問題的基本概念與動機,我們將嘗試使用現實生活的案例解釋這些基本概念。

1.1 非凸優化

優化問題的一般形式可以表示為如下形式:


其中 x 為該優化問題的變量,f:R^p → R 為該問題的目標函數,C ⊆ R^p 為優化問題的約束集。當非凸優化應用到機器學習中時,目標函數可以允許算法設計者編碼適當和期望的行為到機器學習模型中,例如非凸優化中的目標函數可以表示為衡量擬合訓練數據好壞的損失函數。正如 Goodfellow 所說,一般的非凸優化和深度學習中的非凸優化,最大的區別就是深度學習不能直接最小化性能度量,而只能最小化損失函數以近似度量模型的性能。而對目標函數的約束條件允許約束模型編碼行為或知識的能力,例如約束模型的大小。

凸優化問題研究的目標函數是凸函數,對應的約束集為凸集,我們將在第二章正式定義這些術語。一個最優化問題通常會違反一個或多個凸優化條件,即它們通常會有非凸目標函數和非凸約束集等限制,因此這一類的最優化問題可以稱為非凸優化問題。在本論文中,我們將討論帶有非凸目標函數和非凸約束(§ 4, 5, 6, 8)的非凸優化問題,還有帶有非凸約束和凸目標函數(§ 3, 7, 9, 10, 8)的最優化問題。這些非凸優化的問題在很多應用領域上都有廣泛的體現。

1.2 非凸優化的動機

目前很多應用都頻繁地要求學習算法在極高維度的空間中進行運算。例如網頁文本分類問題就要求基於 n-gram 的表徵有數百萬甚至更高的維度,推薦系統同樣有數百萬的推薦條目和數百萬的推薦用戶,而像人臉識別、圖像分類和生物信息學中的基因檢測等單一處理任務同樣有非常高維度的數據。

處理這種數據和模型需要對模型的學習施加一個結構化約束,這種約束不僅有助於正則化學習問題,同時還經常有助於防止優化問題變得病態。例如如果我們知道用戶如何評價一個推薦條目,那麼我們將希望推斷該用戶將如何評價其它的推薦條目,這通常可以用於廣告推薦中。為了做到這一點,我們必須明白用戶對一些商品的評價如何影響另一些商品的評價,並針對這種影響添加一些結構化約束。因為如果沒有這些結構,那麼推斷任何新用戶的評價都是不可能的。正如我們將在下文看到的,這種結構化約束通常都屬於非凸問題。

在其它應用中,學習任務的自然目標函數是非凸函數,特別在深度學習中是高度非凸目標函數。常見的訓練深度神經網絡和張量分解等問題都涉及到本文所述的非凸優化。此外,即使非凸目標函數和約束允許我們準確地建模學習問題,但它們同樣對算法的設計者提出了很嚴峻的挑戰,即如何令高度非凸的目標函數收斂到一個十分理想的近似最優解。非凸優化並不像凸優化,我們並沒有一套便利的工具來解決非凸問題,甚至已知有幾個非凸問題是 NP-hard,我們總是只能近似地、顯著地減小或增大目標函數的值。由於一系列非凸問題使得最優化變得更加困難,有時候不僅求最優解是 NP-hard,連近似求最優都是 NP-hard [Meka et al., 2008]。

1.4 凸鬆弛方法

面對非凸問題及其與 NP-hard 之間的關係,傳統的解決方案是修改問題的形式化或定義以使用現有工具解決問題。通常通過凸鬆弛來進行,以使非凸問題編碼為凸問題。由於該方法允許使用類似的算法技術,所謂的凸鬆弛方法得到了廣泛研究。例如,推薦系統和稀疏回歸問題都應用了凸鬆弛方法。對於稀疏線性回歸,凸鬆弛方法帶來了流行的 LASSO 回歸。

現在,這類更改通常給問題帶來巨大改變,鬆弛公式對於原始問題來說不是好的解決方案。但是,如果該問題具備較好的結構,那麼在仔細的鬆弛處理後,這些扭曲(distortion,鬆弛差距)就消失了,即凸鬆弛問題的解也適用於原始的非凸問題。

這種方法很流行也很成功,但是也有局限性,最顯著的缺點就是可擴展性(scalability)。儘管凸鬆弛優化問題在多項式時間中是可解決的,但在大規模問題中高效地應用這種方法通常比較困難。


圖 1.3:不同方法在四個非凸優化問題上的運行時實驗對比。LASSO、extended LASSO 和 SVT 是基於鬆弛的方法,IHT、gPGD、FoBa、AM-RR、SVP 和 ADMiRA 是非凸方法。在所有情況中,非凸優化技術比基於鬆弛的方法快出一個數量級。注意圖 1.3c 和 1.3d 使用對數尺度的 y 軸。

1.5 非凸優化方法

有趣的是,近年來,機器學習和信號處理領域出現了一種新方法,不對非凸問題進行鬆弛處理而是直接解決。引起目標是直接優化非凸公式,該方法通常被稱為非凸優化方法。

非凸優化方法常用的技術包括簡單高效的基元(primitives),如投影梯度下降、交替最小化、期望最大化算法、隨機優化及其變體。這些方法在實踐中速度很快,且仍然是從業者最喜歡用的方法。

但是,最初看來這些方法似乎註定要失敗,因為前面提到的 NP-hard 問題很難解決。不過,一系列深入、具備啟發性的結果證明了,如果該問題具備較好的結構,那麼不僅可以使用鬆弛方法,還可以使用非凸優化算法。在這類案例中,非凸方法不僅能避免 NP-hard,還可以提供可證明的最優解。事實上,在實踐中它們往往顯著優於基於鬆弛的方法,不管是速度還是可擴展性,見圖 1.3。

非常有趣的一點是,允許非凸方法避免 NP-hard 結果的問題結構與允許圖鬆弛方法避免失真和較大鬆弛差距的結構類似!因此,如果問題具備較好的結構,則基於凸鬆弛的方法和非凸技術都可以成功,但是,非凸技術通常可以提供更具擴展性的解決方案。

第三章 非凸投影梯度下降

本章介紹和研究用於非凸優化問題的梯度下降方法。第 2 章研究了適合解決凸優化問題的投影梯度下降方法。不幸的是,凸問題中使用的這種算法和分析技術不適用於非凸問題。事實上,非凸問題是 NP-hard 的,因此,通常不期望有算法技術可以解決此類問題。

但是,情況並不是那麼糟糕。如第 1 章所討論的,非凸優化的幾個重大突破展示了具備較好額外結構的非凸問題可以在多項式時間中得到有效解決。這裡,我們將研究投影梯度下降方法在此類結構化非凸優化問題上的內部工作原理。

討論分為三部分。第一部分是約束集,儘管是非凸的,但它們具備額外的結構可使投影高效實施。第二部分是目標函數中幫助優化的結構特性。第三部分是展示和分析適用於非凸問題的 PGD 算法的簡單擴展。我們將看到對於具備較好結構目標函數的問題和約束集,類 PGD 算法可在多項式時間內收斂至全局最優,且收斂速度是線性的。

本章重點是基礎概念的概述和闡釋。我們將試圖用輕鬆、易於理解的方式分析具備非凸目標函數的問題。但是,概述僅限於我們所展示結果的精細度。本章所討論結果不是可能的最優結果,下面的章節中將介紹更精細、更針對特定問題的結果,也會詳細討論特定應用。


圖 3.1:限制性凸性的描述。f 在整個實線上明顯是非凸的,但在由虛垂直線界定的交叉陰影區域內是凸的。g 是一個非凸函數,滿足限制性的強凸性。交叉陰影區域之外(再次由虛垂直線界定),當其曲線低於切線時,g 甚至不能為凸,但是在該區域內,它已實際表現出強凸性。

投影梯度下降算法已在算法 1 中陳述。該過程通過採取以梯度為指導的步驟生成迭代 x_t,以努力減少局部函數值。最後,它返回最後的迭代,平均迭代或者最佳的迭代。


算法 2 概述了用於解決非凸優化問題的廣義投影梯度算法(gPGD)的過程。讀者將會發現這非常類似於算法 1 之中的 PGD。然而,一個關鍵的區別是所做的投影:PGD 利用了凸投影,而 gPGD 利用了非凸投影(如果涉及到一個非凸約束集 C)。



第五章 EM 算法

在本節中,我們會簡述最大期望(Expectation Maximization/EM)的原理。該原理是被人們廣泛使用的學習算法的基礎,如用於學習高斯混合模型,用於學習隱馬爾科夫模型(HMM)的 Baum-Welch 算法,以及混合回歸。EM 算法是 Lloyd 算法用於 K-均值聚類的一個變體。

儘管 EM 算法在表面上遵循了我們在§5 中研究的交替最小化原則,但由於其在概率學習環境中學習潛變量模型的廣泛適用性,我們認為深入理解 EM 方法是非常有意義的。為了讓閱讀體驗自成體系,我們首先會花一些時間在概率學習方法中構建符號。

算法 4 概括了 gAM 對潛在變量學習問題的適應性。注意,算法中的步驟 4 和 6 可以在幾個問題上非常有效地執行。


算法 5 給出了 EM 算法的整體框架。實現 EM 算法需要兩個過程,其一是構造與當前迭代(期望步驟或 E 步驟)對應的 Q 函數,另一個是用於最大化 Q 函數(最大化步驟或 M 步驟)以獲得下一迭代。

轉自:機器之心

長按下方二維碼    免費訂閱!

如何加入學會

學會近期活動:

1. 2018.1.20上午,召開"空天大數據與人工智慧專委會成立大會「。

2. 2018.1.20下午,舉辦「空天大數據與軍事智能化研討會暨院士專家新春茶話會「。



註冊學會會員:

個人會員:

關注學會微信:中國指揮與控制學會(c2_china),回復「個人會員」獲取入會申請表,按要求填寫申請表即可,如有問題,可在公眾號內進行留言。通過學會審核後方可在線進行支付寶繳納會費。

單位會員:

關注學會微信:中國指揮與控制學會(c2_china),回復「單位會員」獲取入會申請表,按要求填寫申請表即可,如有問題,可在公眾號內進行留言。通過學會審核後方可繳納會費。


長按下方學會二維碼,關注學會微信

相關焦點

  • 從基礎知識到實際應用,一文了解「機器學習非凸優化技術」
    選自arXiv機器之心編譯優化技術在科技領域應用廣泛,小到航班表,大到醫療、物理、人工智慧的發展,皆可看到其身影,機器學習當然也不例外,且在實踐中經歷了一個從凸優化到非凸優化的轉變,這是因為後者能更好地捕捉問題結構。
  • 機器學習非凸優化研究的最新進展極簡介紹與資料推薦
    src=11&timestamp=1613301433&ver=2890&signature=gjw91tekhFoiF1ZActpzDax9cgeDYd8SsDrUdqHj2KAVZj*EvI4yFqOvL3bLpjlWB2fGIY21qJdrQtVcM4HxTo2AYGUATGsVs-TFmHkw2WfDDyBuhlvmpaRfjY3aLQCL&new=1從基礎知識到實際應用
  • 機器學習概念篇:一文詳解凸函數和凸優化,乾貨滿滿
    在機器學習各種優化問題中,凸集、凸函數和凸優化等概念經常出現,其是各種證明的前提條件,因此認識其性質對於優化問題的理解尤為重要,本文便就凸集、凸函數和凸優化等各種性質進行闡述
  • 凸優化-凸集和凸函數 | CMU經典課程 | 附課件 |機器學習基礎
    CMU:Convex Optimization課程Convex Optimization課程,該課程介紹了凸優化問題的基礎知識、一階方法、最優化和對偶、 二階方法、一些特別問題的探討等內容。本文是該課程基礎知識中凸集和凸函數部分的課程筆記。
  • CICC科普欄目|平行學習—機器學習的一個新型理論框架
    在過去的10多年中,平行系統這一研究體系在實踐中取得了大量的成果,並不斷豐富和完善起來[6−9]。近年來,我們嘗試將平行系統的思想擴展並引入到機器學習領域建立一種新型理論框架以更好地解決數據取捨、行動選擇等傳統機器學習理論不能很好解決的問題。 以下我們將首先回顧常見的一些機器學習理論,並比較它們在數據獲取—行動選擇這一核心問題上的處理方式。
  • 學界丨一文讀懂機器學習需要哪些數學知識---附精品資源
    一文讀懂機器學習需要哪些數學知識0.前言本篇文章是由留德華叫獸 在知乎的優秀回答改編擴展而成的首先對人工智慧、機器學習一個綜述:大話「人工智慧、數據科學、機器學習」--綜述 - 知乎專欄(https://zhuanlan.zhihu.com/p/26645993)籠統地說,原理和基礎都在數學這邊,當然有很多偏應用和軟體使用的技術,例如「深度學習調參」等,這些報個培訓速成班就能學會的技術含量不那麼高的東西
  • 資源| 從變分邊界到進化策略,一文讀懂機器學習變換技巧
    選自inFERENCe 作者:Ferenc Huszár機器之心編譯參與:路雪、黃小天本文作者 Ferenc Huszár 是一名機器學習研究者,在劍橋取得博士學位,對概率推斷、生成模型、無監督學習和應用深度學習解決問題感興趣。
  • 機器學習的基礎圖表!
    機器學習和人工智慧的關係機器學習是一種重在尋找數據中的模式並使用這些模式來做出預測的研究和算法的門類。機器學習是人工智慧領域的一部分,並且和知識發現與數據挖掘有所交集。首先存在大數據→機器會學習使用訓練數據集來進行分類,調節特定的算法來實現目標分類→該計算機可學習識別數據中的關係、趨勢和模式④智能應用:智能應用使用人工智慧所得到的結果,如圖是一個精準農業的應用案例示意,該應用基於無人機所收集到的數據
  • 清華大學崔鵬:探索因果推理和機器學習的共同基礎
    在11月27日由智源舉辦的 NeurIPS 2020中國預講會上,來自清華大學計算機科學與技術系的崔鵬副教授發表了主題為「穩定學習:發掘因果推理和機器學習的共同基礎」的演講,崔老師表示,「我們將站在機器學習的角度,探討如何看待因果推理。」
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    作者 | 杜博亞來源 | 阿澤的學習筆記「本文的目的,是務實、簡潔地盤點一番當前機器學習算法」。文中內容結合了個人在查閱資料過程中收集到的前人總結,同時添加了部分自身總結,在這裡,依據實際使用中的經驗,將對此模型優缺點及選擇詳加討論。
  • 本文帶你了解優化背後的數學知識
    機器之心原創作者:Joshua Chou編輯:Joni Zhong翻譯:魔王在一篇名為《Escaping from saddle points on Riemannian manifolds》的論文中,來自華盛頓大學、加州大學伯克利分校的研究人員深入探索了優化問題的細節,這對理解機器學習底層的數學知識非常重要。本文是對該論文的解讀。
  • 踏入AI領域,這些數學基礎一定要打好
    以下是一位AI從業者總結的機器學習所需的數學基礎模塊,從中我們不難發現:線性代數、概率論與統計是機器學習中最重要且不可缺少的微積分則是數學分析體系的基礎,其基礎性作用不言而喻一些複雜算法也是會被廣泛應用在機器學習場景中,
  • 寫給設計師的人工智慧科普指南:基礎概念篇
    本系列將圍繞人工智慧AI基礎能力與設計領域智能化展開,如果你是設計師或產品經理,你可以了解到入門AI的基礎知識、人工智慧是如何影響設計與交互,把握智能設計的「可」與「不可」;如果你是算法或技術同學,本系列不會涉及前沿算法的分享,但你也可以了解到在設計專業領域我們對於智能化的一些思考。
  • 基礎| 初學者必讀:從迭代的五個層面理解機器學習
    選自Elite Data Science機器之心編譯參與:Jane W、吳攀你能猜到這個謎語的答案嗎?如果你學習機器學習,它將隨處可見……如果你是一個程式設計師,你會用它上千次……如果你練習過任何技術,這儼然是第二個你……不,答案不是狂飲咖啡……而是「迭代(iteration)」!
  • 基礎 初學者必讀:從迭代的五個層面理解機器學習
    因此,我們想展示簡單的迭代技術是如何在機器學習中具有美麗形式和深刻意義的。這篇文章是針對初學者寫的,但更有經驗的讀者也不妨一讀。為什麼討論迭代問題?迭代是機器學習的核心概念,它在許多方面至關重要。了解這個簡單的概念在機器學習工作流程中的確切位置,這會帶來很多切實的好處:1. 你能更好地理解算法2.
  • 我們從100篇最優化筆記中,總結出8個知識點 | AI知識科普
    最優化問題目前在機器學習,數據挖掘等領域應用非常廣泛,簡單來說機器學習主要做的就是優化問題。解決最優化問題的方法有很多種,比如微分學中求極值、常用微分公式、變分學中求極值、凸集與凸函數等。翻譯成數學語言就是:為了讓大家更直觀的了解什麼是凸集,我們來看下面一組圖形和線段。
  • 1900頁數學基礎:面向CS的線性代數、拓撲、微積分和最優化
    近年來,計算機科學、機器人學、機器學習和數據科學已經成為技術發展的重要推力。任何查看這些領域相關論文的人都會受到一些奇怪術語的困擾,如核 PCA、嶺回歸、套索回歸、支持向量機(SVM)、拉格朗日乘數、KKT 條件等。這些奇怪的術語背後涉及的是大量有關最優化理論的「經典」線性代數知識。
  • CICC科普欄目|從感知機到深度神經網絡,帶你入坑深度學習
    如果得出的輸出值大於閾值單元,那麼神經元就會『興奮』,並將輸出傳遞到其它神經元。這樣你就可以理解人工智慧網絡就是借鑑基本的生物神經元工作原理建模的吧。神經網絡究竟如何工作?為了了解神經網絡是如何工作的,我們先來看看一個叫感知機的簡單的人工神經網絡。對我而言,感知機是我見過的機器學習中最優雅的算法之一。
  • 一文了解大數據管理的技術
    閱讀本文的前置知識首先,和其他任何領域一樣,有一些基礎知識是任何軟體工程師都應該了解的。簡而言之,我假設來到大數據領域的人已經知道某種程式語言,並且對例如算法、SQL、版本控制(VCS)、系統生命發展周期(SDLC)、網絡、Linux 和 CI/CD 等基礎知識有所了解。
  • 萬字乾貨 | 一文助你了解機器學習
    本文將通過大量案例和通俗易懂的「人話」,講述機器學習建模邏輯和使用場景,讓非數據科學專業的職場人都可以快速了解機器學習是什麼,能做什麼,如何用!通過近十個月的學習和實踐,筆者對機器學習有了初步理解,本文將通過大量案例和通俗易懂的「人話」,講述機器學習建模邏輯和使用場景,讓非數據科學專業的職場人都可以快速了解機器學習是什麼,能做什麼,如何用!