FlexiBO:基于成本感知的深度神经网络多目标优化
?PaperWeekly 原創(chuàng) ·?作者?|?張瑋瑋
學(xué)校?|?東北大學(xué)碩士生
研究方向?|?腦電情緒識(shí)別
論文動(dòng)機(jī)
設(shè)計(jì)機(jī)器學(xué)習(xí)系統(tǒng)的關(guān)鍵挑戰(zhàn)之一是在幾個(gè)目標(biāo)之間的正確平衡,這些目標(biāo)往往是不可比較和沖突的。例如,在設(shè)計(jì)深度神經(jīng)網(wǎng)絡(luò)(DNNs)時(shí),需要在準(zhǔn)確性、能耗和推理時(shí)間等多個(gè)目標(biāo)之間進(jìn)行權(quán)衡。通常,沒(méi)有一種配置對(duì)所有目標(biāo)都具有同樣好的性能。盡管已經(jīng)發(fā)展了不同的多目標(biāo)優(yōu)化算法來(lái)識(shí)別帕累托最優(yōu)配置,最新的多目標(biāo)優(yōu)化算法沒(méi)有考慮到每個(gè)目標(biāo)不同的評(píng)估成本。
論文工作
論文提出了一種 FlexiBO(flexible Bayesian optimization)方法來(lái)解決上述問(wèn)題,在改進(jìn) Pareto 超體積指標(biāo)的基礎(chǔ)上,提出了一種新的獲取函數(shù)。獲取函數(shù)可以選擇下一個(gè)樣本和目標(biāo),以提供每單位成本的最大信息增益。
這篇論文受 Pareto Active Learning(PAL)的啟發(fā), 與其不同的是,這篇論文使用的不同的帕累托前沿構(gòu)造方法,將成本考慮在內(nèi),引入了一個(gè)新的獲取函數(shù)來(lái)采樣下一個(gè)配置和評(píng)估目標(biāo)。
因此,該方法可以在評(píng)估獲得的額外信息與獲取該信息的成本之間進(jìn)行權(quán)衡,從而確保我們不會(huì)為了微小的潛在收益而執(zhí)行昂貴的評(píng)估。通過(guò)評(píng)估成本較低的目標(biāo)而不是成本較高的目標(biāo),遍歷目標(biāo)空間,并以更高的效率找到接近最優(yōu)配置。
論文標(biāo)題:
FlexiBO: Cost-Aware Multi-Objective Optimization of Deep Neural Networks
論文鏈接:
https://arxiv.org/abs/2001.06588
代碼鏈接:
https://github.com/softsys4ai/FlexiBO
論文方法
在多目標(biāo)優(yōu)化設(shè)置中,每個(gè)目標(biāo)被建模為一個(gè)單獨(dú)的代理模型。在許多應(yīng)用中,評(píng)估不同的目標(biāo)會(huì)產(chǎn)生不同的成本,這其中有很多目標(biāo)可能會(huì)很昂貴。因此,我們希望不計(jì)算所有的輸入,只通過(guò)非支配點(diǎn)來(lái)識(shí)別帕累托區(qū)域 。
更具體地說(shuō),FlexiBO 是一種基于成本感知的多目標(biāo)優(yōu)化算法,迭代并且自適應(yīng)地選擇一系列點(diǎn)和目標(biāo) ,直到達(dá)到最大迭代次數(shù) ,其目的是確定一個(gè)帕累托區(qū)域而不是帕累托前沿。為了識(shí)別 中的帕累托最優(yōu)點(diǎn)來(lái)構(gòu)造 ,論文用 的一個(gè)小子集訓(xùn)練代理模型,對(duì)每個(gè)目標(biāo)使用單獨(dú)的代理模型來(lái)預(yù)測(cè)目標(biāo)函數(shù)的值。
沒(méi)有被任何目標(biāo)采樣過(guò)的點(diǎn) ,可以被預(yù)測(cè)為一個(gè)向量 ,這種預(yù)測(cè)的不確定性表示為 。
論文為每個(gè)點(diǎn)使用預(yù)測(cè)值和不確定值來(lái)確定不確定區(qū)域,這些不確定區(qū)域可以來(lái)決定 的支配性。接著,非支配點(diǎn) 被用來(lái)分類(lèi) 是否屬于帕累托最優(yōu)點(diǎn)集。這些帕累托最優(yōu)點(diǎn)集被用來(lái)構(gòu)建帕累托前沿。
初始化之后,算法逐步迭代到最大步數(shù)。每次迭代包含單個(gè)步驟:建模、帕累托區(qū)域的構(gòu)建以及采樣。FlexiBO 中每個(gè)代理模型的構(gòu)建都是基于每次迭代的采樣點(diǎn),這些采樣點(diǎn)用于預(yù)測(cè)非采樣配置的目標(biāo)值及其伴隨的不確定性。
我們使用這些預(yù)測(cè)來(lái)構(gòu)建一個(gè)新的帕累托前沿,然后選擇下一個(gè)配置來(lái)評(píng)估最能改善帕累托前沿(以減少帕累托體積為衡量標(biāo)準(zhǔn))的配置,每個(gè)配置都以衡量特定目標(biāo)的成本為權(quán)重。
算法終止后,將最終迭代中預(yù)測(cè)為 Pareto 前沿一部分的配置返回為 Pareto 區(qū)域,即?。算法 1 給出了用 FlexiBO 實(shí)現(xiàn)的貝葉斯優(yōu)化過(guò)程的偽代碼:
3.1 建模
在第 個(gè)迭代階段,為了預(yù)測(cè)平均向量 和標(biāo)準(zhǔn)偏差 ,對(duì)于所有的 ,論文使用了單獨(dú)的代理模型(GP 和 RF)。將每個(gè)配置 x E 分配到一個(gè)不確定區(qū)域 Rt(x),其計(jì)算如下(參見(jiàn)圖 3):
其中,β 是一個(gè)縮放參數(shù),用于定義不確定區(qū)域與 σ 的比例,用于分析探索與開(kāi)發(fā)的權(quán)衡。對(duì)于迭代步數(shù) 的 個(gè)目標(biāo),定義 ,不確定區(qū)域 內(nèi)的悲觀(guān)值和樂(lè)觀(guān)值分別由 和 確定。
3.2 帕累托區(qū)域的構(gòu)建
在每個(gè)迭代步數(shù) ,為了確定帕累托區(qū)域,論文使用非支配點(diǎn)集構(gòu)建了悲觀(guān)和樂(lè)觀(guān)的前沿。偽代碼如算法 2 所示。
首先,對(duì) 使用以下規(guī)則來(lái)定義 :
其次,由每個(gè) 的悲觀(guān)值 來(lái)構(gòu)造悲觀(guān)帕累托前沿 。如果 小于 ,且 大于 但小于 ,更新已在 中的點(diǎn) 的悲觀(guān)值 。
這種構(gòu)建悲觀(guān)帕累托前沿的過(guò)程確保了任何有可能被納入帕累托區(qū)域的點(diǎn)不會(huì)因?yàn)轭~外強(qiáng)調(diào)不確定性區(qū)域中點(diǎn)的悲觀(guān)值而被拋棄。論文使用已排序的悲觀(guān)值在一個(gè)目標(biāo)上的排名來(lái)構(gòu)造 ,如算法 2 所示。
如果 大于 ,則每個(gè)點(diǎn) 都包含在樂(lè)觀(guān)帕累托前沿 中。最后計(jì)算了 和 之間的 Pareto 區(qū)域的體積。
3.3 采樣
論文在考慮了每個(gè)目標(biāo) 的每個(gè) 的評(píng)估成本的帕累托體積變化 。為了計(jì)算帕累托區(qū)域的體積變化,我們將每個(gè) 的不確定性區(qū)域在每個(gè) 上分別收縮到其估計(jì)均值 μ,然后計(jì)算 Pareto 體積變化 (偽代碼見(jiàn)算法 3)。論文使用以下方法選擇下一個(gè)樣本 和目標(biāo) :
算法在 和 中選擇最初會(huì)導(dǎo)致構(gòu)建一個(gè)大 Pareto 區(qū)域的點(diǎn),并迭代地減小 Pareto 區(qū)域的體積,如圖 5 所示。
3.4 具體工作流程?
Step 1 更新模型
性能測(cè)量的輸出被反饋到 FlexiBO。FlexiBO 使用這些信息更新其替代模型(即 GP 或 RF)的后驗(yàn)分布。?
Step 2 優(yōu)化獲取函數(shù)
一旦更新了代理模型,就可以重新計(jì)算獲取函數(shù),并通過(guò)優(yōu)化獲取函數(shù)來(lái)確定下一個(gè)配置和目標(biāo)。
Step 3 測(cè)量信息增益
在每次探索迭代中,都需要為參數(shù)分配適當(dāng)?shù)闹怠C總€(gè)配置選項(xiàng)的值是根據(jù)其最大化預(yù)期效用的能力來(lái)選擇的,而要評(píng)估的目標(biāo)的選擇是基于特定目標(biāo)上的預(yù)期最大體積變化。
Step 4 訓(xùn)練DNN模型?
在每個(gè)新選擇的配置中,沒(méi)有必要訓(xùn)練 DNN 模型。相反,對(duì)于沒(méi)有選擇昂貴目標(biāo)的配置,FlexiBO 使用代理模型來(lái)近似網(wǎng)絡(luò)的準(zhǔn)確性。為了測(cè)量這些配置的能源消耗,FlexiBO 用隨機(jī)參數(shù)實(shí)例化 DNN 架構(gòu),然后在目標(biāo)設(shè)備上自動(dòng)部署架構(gòu)進(jìn)行分析。?
Step 5-6 DNN性能測(cè)量
性能度量是需要從優(yōu)化 DNN 的目標(biāo)資源受限的硬件中收集的。根據(jù)當(dāng)前部署配置的參數(shù)設(shè)置,為目標(biāo)架構(gòu)設(shè)置參數(shù),檢索訓(xùn)練過(guò)的 DNN。一旦優(yōu)化預(yù)算耗盡,將返回 DNN 的帕累托最優(yōu)配置。?
實(shí)驗(yàn)?
為了評(píng)估 FlexiBO,作者在 3 個(gè)不同的領(lǐng)域使用了 8 種不同的架構(gòu):目標(biāo)檢測(cè)、自然語(yǔ)言處理(NLP)和語(yǔ)音識(shí)別。表 1 列出了實(shí)驗(yàn)中使用的體系結(jié)構(gòu)、數(shù)據(jù)集、編譯器以及訓(xùn)練和測(cè)試集的大小。?
為了初始化 FlexiBO,從對(duì)應(yīng)的 DNN 系統(tǒng)的配置空間中測(cè)量了 15 個(gè)隨機(jī)采樣配置的精度和能耗。在實(shí)驗(yàn)中,考慮的跨堆棧配置空間如表 2 所示。例如,硬件/操作系統(tǒng)配置選項(xiàng)會(huì)影響 DNN 的能耗,而網(wǎng)絡(luò)選項(xiàng)(例如過(guò)濾器大小)會(huì)影響準(zhǔn)確性和能耗。
實(shí)驗(yàn)設(shè)置最大迭代次數(shù) T 為 200。然后測(cè)量了 10 次能耗,并取了中位數(shù),目的是減少測(cè)量噪聲。精度測(cè)量不受噪聲影響,因此不會(huì)重復(fù)。實(shí)驗(yàn)使用了兩種版本的 FlexiBO 和兩種不同的替代模型 GP(FlexiBO+GP)和 RF(FlexiBO+RF)。作者將本文的方法與隨機(jī)搜索(RS) 、單目標(biāo)貝葉斯能耗優(yōu)化(SOBO, EC)、精度優(yōu)化(SOBO, Acc)、PAL 進(jìn)行了對(duì)比。
為了與 FlexiBO 進(jìn)行比較分析,實(shí)驗(yàn)設(shè)置了一個(gè)昂貴目標(biāo)在 RS 中計(jì) 算的次數(shù)上限,該上限等于昂貴目標(biāo)在 FlexiBO 中計(jì)算的次數(shù)。SOBO(Acc)和 SOBO(EC)通過(guò)使用改進(jìn)的最大概率來(lái)獲得一個(gè)新點(diǎn),并在每次迭代中進(jìn)一步測(cè)量?jī)蓚€(gè)目標(biāo),從而獨(dú)立優(yōu)化精度和能耗。其實(shí)驗(yàn)結(jié)果如下圖所示:
圖 7 顯示了目標(biāo)空間中實(shí)驗(yàn)的不同配置,主要是在 Xception+ImageNet 架構(gòu)上,FlexiBO(GP, RF)對(duì)比 SOBO(EC, Acc)、RS 和 PAL 方法。?
另外,實(shí)驗(yàn)使用貢獻(xiàn)度和多樣性質(zhì)量指標(biāo)來(lái)評(píng)估帕累托前沿,當(dāng)真實(shí)帕累托前沿的形狀和基數(shù)未知時(shí),貢獻(xiàn)度特別有用,還可以用來(lái)提供使用不同方法獲得的帕累托前沿之間的公平比較。具有較大貢獻(xiàn)值的帕累托前沿近似更接近估計(jì)的實(shí)際帕累托前沿。
帕累托前沿的多樣性是決定傳播程度的另一個(gè)有用的質(zhì)量指標(biāo)。具有更高多樣性的帕累托前沿在優(yōu)化過(guò)程中有更多的使用點(diǎn),從而確保在多目標(biāo)環(huán)境下更好地控制性能調(diào)優(yōu)。圖 8 和圖 9 展示了以下不同帕累托前沿的貢獻(xiàn)和多樣性值。
實(shí)驗(yàn)?
在本工作中,作者開(kāi)發(fā)了一種新的成本感知貝葉斯多目標(biāo)優(yōu)化算法稱(chēng)為 FlexiBO。FlexiBO 近似帕累托區(qū)域,并采用了一種新穎的成本感知獲取,不僅選函數(shù)擇下一個(gè)樣本,而且還選擇最具成本效益的目標(biāo)來(lái)收集測(cè)量數(shù)據(jù)。論文使用 7 種不同的 DNN 體系結(jié)構(gòu)來(lái)完成目標(biāo)檢測(cè)、自然語(yǔ)言處理和語(yǔ)音識(shí)別任務(wù),并在一個(gè)資源受限的設(shè)備上優(yōu)化了精度和能耗兩個(gè)目標(biāo)。
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類(lèi)優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來(lái)。
?????稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開(kāi)渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫(xiě),文中配圖以附件形式發(fā)送,要求圖片清晰,無(wú)版權(quán)問(wèn)題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來(lái)稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專(zhuān)欄吧
·
總結(jié)
以上是生活随笔為你收集整理的FlexiBO:基于成本感知的深度神经网络多目标优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 那些死在战争中的数万尸体去哪儿了?
- 下一篇: SIGIR 2021 | 深入探索犯罪情