0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PerferredNetworks發(fā)布了其超參數(shù)優(yōu)化框架的beta版本

nlfO_thejiangme ? 來源:lq ? 2018-12-14 09:47 ? 次閱讀

近日,日本的深度學(xué)習(xí)公司PerferredNetworks 發(fā)布了其超參數(shù)優(yōu)化框架的beta版本。這篇文章中將詳細介紹這一框架的特性及其后面的原理。

關(guān)于超參數(shù)

參數(shù)是控制機器學(xué)習(xí)算法行為的參數(shù),在深度學(xué)習(xí)中主要包括了學(xué)習(xí)率、批量大小和訓(xùn)練周期、層數(shù)、每層神經(jīng)元的數(shù)量和通道等。他們不僅僅是一個簡單的數(shù)值,同時控制著模型訓(xùn)練的行為并在很大程度上影響著模型的性能。除了上述提到的數(shù)值外還包括了使用的優(yōu)化方法(SDG或Adam等)。調(diào)參是深度學(xué)習(xí)的一項重要技術(shù),由于需要眾多的實踐經(jīng)驗和對算法的理解,調(diào)參的過程常常被人們戲稱作煉丹。這也是初學(xué)者所面臨的最大困難。

對于機器學(xué)習(xí)算法來說,如果沒有超參數(shù)算法的設(shè)計和模型的訓(xùn)練幾乎不可能進行。對于深度學(xué)習(xí)來說,超參數(shù)的數(shù)量很可能十分龐大,工程師們需要花費巨量的時間來調(diào)整超參數(shù)來獲取表現(xiàn)較好的模型。如何快速調(diào)整模型,甚至自動化搜索超參數(shù),已經(jīng)成為一個廣泛的研究熱點。

下面讓我們來看看PFN提出的這一框架有什么特點。

Optuna

Optuna是一套能夠自動優(yōu)化超參數(shù)的的軟件框架,它可以通過不斷試錯的方法找到最好表現(xiàn)的最優(yōu)超參數(shù)值。值得注意的是,官方提供了Python接口,能夠方便的集成到代碼中使用。它主要基于運行的歷史數(shù)據(jù)來確定接下來需要測試的超參數(shù)值?;谶@些數(shù)據(jù),它可以估計出超參數(shù)比較可能出現(xiàn)的區(qū)域并在這個區(qū)域中進行超參數(shù)搜索嘗試。隨著不斷獲取新的結(jié)果,它也將更新這一區(qū)域并繼續(xù)搜索。在不斷重復(fù)搜索、評價更新的過程中來獲取表現(xiàn)更好的超參數(shù)。具體來講,這一軟件框架的優(yōu)化方法屬于貝葉斯優(yōu)化算法中的樹形帕曾(Parzen)優(yōu)化器。

適用范圍

Optuna作為超參數(shù)優(yōu)化框架可以和PFN自己的深度學(xué)習(xí)框架Chainer充分結(jié)合使用。只需要在Chainer中寫接受來自O(shè)ptuna的超參數(shù)的代碼即可。通過這一接口Optuna可以不斷調(diào)用了用戶編寫的模型代碼,神經(jīng)網(wǎng)絡(luò)也可以在你不同的超參數(shù)下得以訓(xùn)練并搜尋較好的結(jié)果。

目前在PFN的多個項目中都使用了Chainer深度學(xué)習(xí)架構(gòu)和Optuna優(yōu)化框架的組合。但我們用戶來說這兩個框架是相互獨立的,同樣可以將Optuna與其他機器學(xué)習(xí)軟件結(jié)合起來使用。目前官方提供了使用scikit-learn、XGBoost和LightGBM等算法集成Optuna的實例代碼供用戶學(xué)習(xí)。事實上,除了機器學(xué)習(xí)問題外Optuna還廣泛適用于各種需要優(yōu)化的任務(wù),比如計算加速就是一個典型的例子。只要可以編寫接收超參數(shù)的接口并返回算法的計算結(jié)果即可使用這一框架來自動化冗長的調(diào)參過程。

新框架的優(yōu)勢

如果熟悉PFN的小伙伴可能會問,為什么在擁有諸如Hyperopt、Spearmint、SMAC等超參數(shù)自動化框架后還需要建立新的框架Optuna呢?這是因為目前的框架在某些環(huán)境下無法工作或者不能保持穩(wěn)定的優(yōu)化,同時這些框架已經(jīng)落后于目前最先進的超參數(shù)優(yōu)化機制。研究人員希望開發(fā)出一種可以在python中具體指定需要調(diào)優(yōu)的超參數(shù),而不是為優(yōu)化器編寫單獨的代碼。

新特點

和Chainer一樣,Optuna提供了動態(tài)圖模型(define-by-run)風格的接口,這使得用戶可以在代碼很復(fù)雜的情況下比其他框架更好地保持模塊化特性。同時Optuna還可以在復(fù)空間中優(yōu)化超參數(shù),這是先前的框架所不能完成的。

在深度學(xué)習(xí)中定義計算圖主要有兩種主要的風格:動態(tài)圖和靜態(tài)圖。在早期的深度學(xué)習(xí)框架中,Caffe和Tensorflow等靜態(tài)圖框架占據(jù)了主流;但隨著技術(shù)的發(fā)展,Chainer首次提出了動態(tài)圖框架,隨后PyTorch和Tensorflow2.0更新的eager也引入了動態(tài)圖模型,逐漸成為深度學(xué)習(xí)的主流方法。在超參數(shù)調(diào)優(yōu)領(lǐng)域,同樣存在著Define-and-Run和Define-by-Run兩種風格。Optuna和市面上絕大多數(shù)的框架不同,它是基于Define-by-Run的概念,API風格非常獨特。

這使得用于程序保持高度模塊化成為可能,同時也使得復(fù)雜超參數(shù)空間中的參數(shù)搜索成為可能。當使用如深度學(xué)習(xí)或梯度推舉算法等迭代算法時,對于訓(xùn)練粗略的預(yù)測可以通過學(xué)習(xí)曲線來得到。利用這樣的方法,Optuna能根據(jù)這一預(yù)測終止可能性較小的超參數(shù)區(qū)域,把更多的算力用于可能性更高的區(qū)域以提高搜索效率。而上面提到已有的超參數(shù)學(xué)習(xí)框就缺乏這一功能。此外最近的研究表明在學(xué)習(xí)曲線上使用剪枝技術(shù)十分有效,下圖顯示了在一個簡單深度學(xué)習(xí)任務(wù)上表現(xiàn)出的有效性,當Optuna和Hyperopt優(yōu)化引擎使用相同TPE時,Optuna使用剪枝技術(shù)獲取了更高的效率。

深度學(xué)習(xí)是計算密集型技術(shù),訓(xùn)練也是耗時的過程。對于一個自動超參數(shù)優(yōu)化框架來說,高效和穩(wěn)定應(yīng)當是其主要特征。Optuna支持異步分布式優(yōu)化,使得算法可以同時在多個節(jié)點上進行多次嘗試。并行計算的效果如下圖所示,研究人員通過修改計算機的數(shù)量來探索了分布式優(yōu)化的加速情況。

用戶可通過簡單的代碼配置,就可以并行地分布式地執(zhí)行包含分布式過程的目標函數(shù)。

可視化

面板可視化,基于http 優(yōu)化過程或?qū)С鰌andas數(shù)據(jù)。

可視化方便我們形象的理解并優(yōu)化程序的運行。Optuna提供了可通過瀏覽器訪問的面板來觀察優(yōu)化過程。用戶可以通過這一方法從實驗過程和結(jié)果中獲取有效的信息來幫助分析。同時還提供了優(yōu)化過程詳細信息的導(dǎo)出,以便進行詳細的分析。

在Optuna的支持下FPN參加了OpenImageChallange2018,并取得了第二名的好成績。

PFN開源眾多算法的目的在于加速深度學(xué)習(xí)的研發(fā)活動,Optuna作為在自動化超參數(shù)調(diào)優(yōu)上的研究成果是十分重要的進步,讓機器學(xué)習(xí)的自動化加速過程又進了一步。除此之外研究人員還在繼續(xù)研究神經(jīng)架構(gòu)自動搜索和自動特征抽取等功能,十分期待PFN能夠開發(fā)更多優(yōu)秀的算法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5581

    瀏覽量

    79283
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132654
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5503

    瀏覽量

    121175

原文標題:Perferred Networks提出自動化超參數(shù)優(yōu)化框架Optuna

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    蘋果iOS 6.1 Beta 4發(fā)布 增語音撥號功能

    發(fā)布Apple TV軟件Beta 3和Xcode 4.6第四個開發(fā)者預(yù)覽版。相信很快iOS 6.1正式版就要跟大家見面。
    發(fā)表于 12-19 09:25

    改善深層神經(jīng)網(wǎng)絡(luò)--參數(shù)優(yōu)化、batch正則化和程序框架 學(xué)習(xí)總結(jié)

    《深度學(xué)習(xí)工程師-吳恩達》02改善深層神經(jīng)網(wǎng)絡(luò)--參數(shù)優(yōu)化、batch正則化和程序框架 學(xué)習(xí)總結(jié)
    發(fā)表于 06-16 14:52

    OpenHarmony v2.2 Beta2發(fā)布!

    8 月 4 日,OpenHarmony v2.2 Beta2 發(fā)布,最新版本在 OpenHarmony 2.0 Canary 的基礎(chǔ)上,針對輕量系統(tǒng)、小型系統(tǒng)和標準系統(tǒng)增加了新的特性。標準系統(tǒng)新增
    發(fā)表于 08-09 13:53

    DevEco Studio 2.2 Beta2新版本發(fā)布,SDK API6正式Release

    ,可以通過預(yù)覽器Previewer來實現(xiàn)。之前的版本,Previewer僅支持幾個固定尺寸的畫布,無法滿足不同屏幕分辨率的需求。本次2.2 Beta2版本,Previewer新增自定
    發(fā)表于 09-15 17:28

    HarmonyOS IDE工具DevEco 新版本3.0 Beta1發(fā)布

    3.0 Beta1新功能一覽1. 新增特性:新增支持方舟開發(fā)框架ArkUI 3.0版本和eTS(Extended TypeScript)擴展語法。eTS是在TS的基礎(chǔ)上支持聲明式U
    發(fā)表于 10-26 18:16

    版本上線! OpenHarmony 3.2 Beta1 版本介紹

    /manifest.git -b OpenHarmony-3.2-Beta1 --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'從版本發(fā)布Tag節(jié)點
    發(fā)表于 06-01 17:17

    OpenHarmony 3.2 Beta1版本正式發(fā)布

    5 月 31 日,開放原子開源基金會正式發(fā)布 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)3.2 Beta1 版本。全球開發(fā)者可通過Gitee和鏡像站點下載完整代碼
    發(fā)表于 06-06 17:58

    HarmonyOS 3.0 Beta版本說明

    版本信息|版本介紹本次發(fā)布HarmonyOS 3.0 Beta,可用于開發(fā)基于API Version 8的應(yīng)用。從本次發(fā)布起,變更
    發(fā)表于 07-07 14:16

    面向開發(fā)者的HarmonyOS 3.0 Beta發(fā)布

    2021年10月,我們面向開發(fā)者發(fā)布HarmonyOS 3.0 Developer Preview版,但開發(fā)的腳步永不停歇,現(xiàn)在我們又更新API版本,配套
    發(fā)表于 07-08 11:14

    OpenHarmony 3.2 Beta2 版本發(fā)布:支持電源管理重啟恢復(fù)機制等

    版本概述當前版本在OpenHarmony 3.2 Beta1的基礎(chǔ)上,更新支持以下能力:標準系統(tǒng)基礎(chǔ)能力增強新增支持窗口多熱區(qū)分發(fā)機制。支持電源管理重啟恢復(fù)機制。多模輸入新增支持Input手寫筆壓感
    發(fā)表于 08-02 10:31

    OpenHarmony 4.0 Beta1發(fā)布,邀您體驗

    系統(tǒng)的ArkUI、應(yīng)用框架、圖形媒體等子系統(tǒng)能力,并提供首批API Level 10接口。 作為OpenHarmony 4.0的首個Beta版本,推出了系列新特性。期待社區(qū)開發(fā)者踴躍體驗新特性,貢獻智慧與力量
    發(fā)表于 06-08 14:14

    iOS10.3最新版本beta6發(fā)布,預(yù)示正式版快要發(fā)布

    iOS 10.3 beta 5才發(fā)布沒幾天beta 6又來了,可真是把強迫癥患者給忙壞了。不過估計這也是最后一次測試了,最終版本可能會在下個月正式發(fā)
    發(fā)表于 03-15 15:38 ?1308次閱讀

    Ubuntu 20.04 LTS最后一個Beta測試版本發(fā)布 帶來最新GNOME 3.36版桌面環(huán)境

    Canonical今天發(fā)布Ubuntu 20.04 LTS的最后一個Beta測試版本,正式版將在4月23日放出。
    的頭像 發(fā)表于 04-07 10:35 ?2214次閱讀

    蘋果發(fā)布iOS/iPadOS 14.2 更新的首個beta版本

    來源:IT之家 據(jù) Macrumors 報道,繼昨日蘋果發(fā)布 iOS 14 正式版更新后,蘋果今天面向開發(fā)者發(fā)布 iOS/iPadOS 14.2 更新的首個 beta
    的頭像 發(fā)表于 09-18 16:16 ?2141次閱讀

    蘋果新發(fā)布的iOS 14.4 Beta2更新什么?

    從 iOS 14.4 Beta 的首個測試版發(fā)布到現(xiàn)在,已經(jīng)一個月過去了。為啥這么久沒動靜?因為蘋果那邊從圣誕節(jié)放假到現(xiàn)在... 終于,蘋果發(fā)布 iOS/iPadOS 14.4
    的頭像 發(fā)表于 01-19 15:39 ?9912次閱讀