RM新时代网站-首页

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

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

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

一種兼具神經(jīng)網(wǎng)絡(luò)高效性和高斯過(guò)程靈活性的方法——神經(jīng)過(guò)程

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-10-04 09:00 ? 次閱讀

編者按:幾個(gè)月前,Deepmind在ICML上發(fā)表了一篇論文《Neural Processes》,提出了一種兼具神經(jīng)網(wǎng)絡(luò)高效性和高斯過(guò)程靈活性的方法——神經(jīng)過(guò)程,被稱為是高斯過(guò)程的深度學(xué)習(xí)版本。雖然倍受關(guān)注,但目前真正能直觀解讀神經(jīng)過(guò)程的文章并不多,今天論智帶來(lái)的是牛津大學(xué)在讀PHDKaspar M?rtens的一篇可視化佳作。

在今年的ICML上,研究人員提出了不少有趣的工作,其中神經(jīng)過(guò)程(NPs)引起了許多人的注意,它基于神經(jīng)網(wǎng)絡(luò)概率模型,但又可以表示隨機(jī)過(guò)程的分布。這意味著NPs結(jié)合了兩個(gè)領(lǐng)域的元素:

深度學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)是靈活的非線性函數(shù),可以直接訓(xùn)練

高斯過(guò)程:GP提供了一個(gè)概率框架,可用于學(xué)習(xí)非線性函數(shù)的分布

兩者都有各自的優(yōu)點(diǎn)和缺點(diǎn)。當(dāng)數(shù)據(jù)量有限時(shí),由于本身具備概率性質(zhì)可以描述不確定性,GP是首選(這和非貝葉斯神經(jīng)網(wǎng)絡(luò)不同,后者只能捕捉單個(gè)函數(shù),而不是函數(shù)分布);而當(dāng)有大量數(shù)據(jù)時(shí),訓(xùn)練神經(jīng)網(wǎng)絡(luò)比GP推斷更具擴(kuò)展性,因此優(yōu)勢(shì)更大。

神經(jīng)過(guò)程的目標(biāo)就是實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)和GP的優(yōu)勢(shì)融合。

什么是神經(jīng)過(guò)程?

NP是一種基于神經(jīng)網(wǎng)絡(luò)的方法,用于表示函數(shù)的分布。下圖展示了如何建立NP模型,以及訓(xùn)練模型背后的一般想法:

給定一系列觀察值(xi,yi),把它們分成“context points”和“target points”兩組?,F(xiàn)在,我們要根據(jù)“context points”中已知的輸入輸出對(duì)(xc,yc),其中c=1,…,C,和“target points”中的未知輸入x?t,其中t=1,…,T,預(yù)測(cè)其相應(yīng)的函數(shù)值y?t。

我們可以把NP看作是根據(jù)“context points”中的“target points”建模的模型,相關(guān)信息通過(guò)潛在空間z從左側(cè)流向右側(cè),從而提供新的預(yù)測(cè)。右側(cè)本質(zhì)上是從x映射到y(tǒng)的有限維嵌入,而z是個(gè)隨機(jī)變量,這就使NP成了概率模型,能捕捉函數(shù)的不確定性。一旦模型完成訓(xùn)練,我們就可以用z的近似后驗(yàn)分布作為測(cè)試時(shí)進(jìn)行預(yù)測(cè)的先驗(yàn)。

乍看之下,這種分“context points”和“target points”的做法有點(diǎn)類似把數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集,但事實(shí)并非如此,因?yàn)椤皌arget points”集也是直接參與NP模型訓(xùn)練的——這意味著模型的(概率)損失函數(shù)在這個(gè)集上有明確意義。這樣做也有助于防止模型過(guò)擬合和提供更好的泛化性。在實(shí)踐中,我們還需要反復(fù)把訓(xùn)練數(shù)據(jù)通過(guò)隨機(jī)采樣分為“context points”中的“target points”,以獲得更全面的概括。

讓我們來(lái)思考以下兩種情況:

基于單個(gè)數(shù)據(jù)集推斷函數(shù)的分布

當(dāng)存在多個(gè)數(shù)據(jù)集且它們之間存在某種相關(guān)性時(shí),推斷函數(shù)的分布

對(duì)于情況一,常規(guī)的(概率)監(jiān)督學(xué)習(xí)就能解決:給定一個(gè)包含N個(gè)樣本的數(shù)據(jù)集,比如(xi, yi),其中i=1,…,N。假設(shè)確實(shí)存在一個(gè)函數(shù)f,它能產(chǎn)生yi=f(xi),我們的目標(biāo)就是學(xué)習(xí)f的后驗(yàn)分布,然后用它預(yù)測(cè)測(cè)試集上某點(diǎn)的函數(shù)值f(x?)。

對(duì)于情況二,我們則需要從元學(xué)習(xí)的角度去觀察。給定D個(gè)數(shù)據(jù)集,其中d=1,…,D,每個(gè)數(shù)據(jù)集包含Nd個(gè)數(shù)據(jù)對(duì)(xi(d), yi(d))。如果我們假設(shè)每個(gè)數(shù)據(jù)集都有自己的基函數(shù)fd,輸入xi后,它們有yi=fd(xi),那么在這種情況下,我們就可能想要了解每個(gè)fd的后驗(yàn)分布,然后把經(jīng)驗(yàn)推廣到新數(shù)據(jù)集d?上。

對(duì)于數(shù)據(jù)集很多但它們的樣本很少的情況,情況二的做法特別有用,因?yàn)檫@時(shí)模型學(xué)到的經(jīng)驗(yàn)基于所有fd,它的內(nèi)核、超參數(shù)是這些函數(shù)共享的。當(dāng)給出新的數(shù)據(jù)集d?時(shí),我們可以用后驗(yàn)函數(shù)作為先驗(yàn)函數(shù),然后執(zhí)行函數(shù)回歸。

之所以要舉著兩個(gè)例子,是因?yàn)橐话銇?lái)說(shuō),GP適用于情況一,即便N很小,這種做法也很有效。而NP背后的思路似乎主要來(lái)自元學(xué)習(xí)——在這種情況下,潛在的z可以被看作是用于不同數(shù)據(jù)集間信息共享的機(jī)制。但是,NP同樣具有概率模型的特征,事實(shí)上,它同時(shí)適用于以上兩種情況,具體分析請(qǐng)見(jiàn)下文。

NP模型是怎么實(shí)現(xiàn)的?

下面是NP生成模型的詳細(xì)圖解:

如果要逐步分解這個(gè)過(guò)程,就是:

首先,“context points”里的數(shù)據(jù)(xc,yc)通過(guò)神經(jīng)網(wǎng)絡(luò)h映射,獲得潛在表征rc

其次,這個(gè)向量rc經(jīng)聚合(操作:平均)獲得單個(gè)值r(和每個(gè)rc具有相同的維數(shù))

這個(gè)r的作用是使z的分布參數(shù)化,例如p(z|x1:C,y1:C)=N(μz(r),σ2z(r))

最后,為了預(yù)測(cè)輸入x?t后的函數(shù)值,對(duì)z采樣并將樣本與x?t組成數(shù)對(duì),用神經(jīng)網(wǎng)絡(luò)g映射(z,x?t)獲得預(yù)測(cè)分布中的樣本y?t。

NP的推斷是在變分推斷(VI)框架中進(jìn)行的。具體來(lái)說(shuō),我們介紹了兩種近似分布:

讓q(z|context)去近似條件先驗(yàn)p(z|context)

讓q(z|context,target)去近似于各自的p(z|context,target),其中context:=(x1:C,y1:C),target:=(x?1:T,y?1:T)

下圖是近似后驗(yàn)q(z|·)的具體推斷過(guò)程。也就是說(shuō),我們用相同的神經(jīng)網(wǎng)絡(luò)h映射兩個(gè)數(shù)據(jù)集,獲得聚合的r,再把r映射到μz和σz,使后驗(yàn)q(z|?)=N(μz,σz)被參數(shù)化。

變分下界包含兩個(gè)項(xiàng)(下式),其中第一項(xiàng)是target集上的預(yù)期對(duì)數(shù)似然,即先從z~q(z|context,target)上采樣(上圖左側(cè)),然后用這個(gè)z在target set上預(yù)測(cè)(上圖右側(cè))。

第二項(xiàng)是個(gè)正則項(xiàng),它描述了q(z|context,target)和q(z|context)之間的KL散度。這和常規(guī)的KL(q||p)有點(diǎn)不同,因?yàn)槲覀兊纳赡P鸵婚_(kāi)始就把p(z|context)當(dāng)做條件先驗(yàn),不是p(z),而這個(gè)條件先驗(yàn)有依賴于神經(jīng)網(wǎng)絡(luò)h,這就是我們沒(méi)法得到確切值,只能用一個(gè)近似值q(z|context)。

實(shí)驗(yàn)

NP作為先驗(yàn)

我們先來(lái)看看把NP作為先驗(yàn)的效果,也就是沒(méi)有觀察任何數(shù)據(jù),模型也沒(méi)有經(jīng)過(guò)訓(xùn)練。初始化權(quán)重后,對(duì)z~N(0,I)進(jìn)行采樣,然后通過(guò)x?值的生成先驗(yàn)預(yù)測(cè)分布并繪制函數(shù)圖。

和具有可解釋內(nèi)核超參數(shù)的GP相反,NP先驗(yàn)不太明確,它涉及各種架構(gòu)選擇(如多少隱藏層,用什么激活函數(shù)等),這些都會(huì)影響函數(shù)空間的先驗(yàn)分布。

例如,如果我們用的激活函數(shù)是sigmoid,調(diào)整z的維數(shù)為{1, 2, 4, 8}。

如果用的是ReLU:

在一個(gè)小數(shù)據(jù)集上訓(xùn)練NP

假設(shè)我們只有5個(gè)數(shù)據(jù)點(diǎn):

由于NP模型需要context set和target set兩個(gè)數(shù)據(jù)集,一種方法是選取固定大小的context set,另一種方法則是用不同大小的context set,然后多迭代幾次(1個(gè)點(diǎn)、2個(gè)點(diǎn)……以此類推)。一旦模型在這些隨機(jī)子集上完成訓(xùn)練,我們就可以用它作為所有數(shù)據(jù)的先驗(yàn)和條件,然后根據(jù)預(yù)測(cè)結(jié)果繪制圖像。下圖展示了NP模型訓(xùn)練時(shí)的預(yù)測(cè)分布變化。

可以發(fā)現(xiàn),NP似乎已經(jīng)成功學(xué)習(xí)了這5個(gè)數(shù)據(jù)點(diǎn)的映射分布,那它的泛化性能如何呢?我們把這個(gè)訓(xùn)練好的模型放在另一個(gè)新的context set上,它的表現(xiàn)如下圖所示:

這個(gè)結(jié)果不足為奇,數(shù)據(jù)量太少了,模型過(guò)擬合可以理解。為了更好地提高模型泛化性,我們?cè)賮?lái)試試更大的函數(shù)集。

在一小類函數(shù)上訓(xùn)練NP

上文已經(jīng)用單個(gè)(固定)數(shù)據(jù)集探索了模型的訓(xùn)練情況,為了讓NP像GP一樣通用,我們需要在更大的一類函數(shù)上進(jìn)行訓(xùn)練。但在準(zhǔn)備復(fù)雜函數(shù)前,我們先來(lái)看看模型在簡(jiǎn)單場(chǎng)景下的表現(xiàn),也就是說(shuō),這里觀察的不是單個(gè)函數(shù),而是一小類函數(shù),比如它們都包含a?sin(x),其中a∈[?1,1]。

我們的目標(biāo)是探究:

NP能不能捕捉這些函數(shù)?

NP能不能概括這類函數(shù)以外的函數(shù)?

下面是具體步驟:

設(shè)a滿足均勻分布:a~U(?2,2)

設(shè)xi~U(?3,3)

定義yi:=f(xi),其中f(x)=a?sin(x)

把數(shù)據(jù)對(duì)(xi,yi)隨機(jī)分成context set和target set兩個(gè)數(shù)據(jù)集,并進(jìn)行優(yōu)化

重復(fù)上述步驟

為了方便可視化,這里我們用了二維z,具體圖像如下所示:

從左往右看,模型似乎編碼了參數(shù)a,如果這幅圖不夠直觀,下面是調(diào)整某一潛在維度(z1或z2)的動(dòng)態(tài)可視化:

需要注意的是,這里我們沒(méi)有用任何context set里的數(shù)據(jù),只是為了可視化指定了具體的(z1, z2)值。接下來(lái),就讓我們用這個(gè)模型進(jìn)行預(yù)測(cè)。

如下左圖所示,當(dāng)context set數(shù)據(jù)集里只包含(0, 0)一個(gè)點(diǎn)時(shí),模型覆蓋了一個(gè)較寬的范圍,包含不同a取值下a?sin(x)的值域(雖然a∈[?2,2],但訓(xùn)練時(shí)并沒(méi)有完全用到)。

往context set數(shù)據(jù)集里添加第二個(gè)點(diǎn)(1,sin(1))后,可視化如中圖所示,相比左圖,它不再包含a為負(fù)數(shù)的情況。右圖是繼續(xù)添加f(x)=1.0sin(x)的點(diǎn)后的情況,這時(shí)模型后驗(yàn)開(kāi)始接近函數(shù)的真實(shí)分布情況。

這之后,我們就可以開(kāi)始探究NP模型的泛化性,以2.5sin(x)和|sin(x)|為例,前者需要在a?sin(x)的基礎(chǔ)上做一些推斷,而后者的值始終是個(gè)正數(shù)。

如上圖所示,模型的值域還是和訓(xùn)練期間一樣,但它在兩種情況下都出現(xiàn)了符合函數(shù)分布的一些預(yù)期。需要注意的是,這里我們并沒(méi)有給NP提供足夠多的不確定性,所以它預(yù)測(cè)不準(zhǔn)確也情有可原,畢竟比起易于解釋的模型,這種自帶黑盒特性的模型更難衡量。

之后,作者又比較了GP和NP的預(yù)測(cè)分布情況,發(fā)現(xiàn)兩者性能非常接近,只是隨著給出的數(shù)據(jù)點(diǎn)越來(lái)越多時(shí),NP會(huì)因?yàn)榧軜?gòu)選擇(神經(jīng)網(wǎng)絡(luò)過(guò)小、低緯度z)出現(xiàn)性能急劇下降。對(duì)此,以下幾個(gè)改進(jìn)方法可以幫助解決問(wèn)題:

2維z適合用于學(xué)習(xí)理解,在實(shí)際操作中,可視情況采用更高的維度

讓神經(jīng)網(wǎng)絡(luò)h和g變得更深,擴(kuò)大隱藏層

在訓(xùn)練期間使用更多樣化的函數(shù)(更全面地訓(xùn)練NP超參數(shù)),可提高NP模型泛化性

結(jié)論

雖然NP號(hào)稱結(jié)合了神經(jīng)網(wǎng)絡(luò)和GP,能預(yù)測(cè)函數(shù)的分布,但它從本質(zhì)上看還是更接近神經(jīng)網(wǎng)絡(luò)模型——只需優(yōu)化架構(gòu)和訓(xùn)練過(guò)程,模型性能就可以大幅提高。但是,這些變化都是隱含的,使得NP更難被解釋為先驗(yàn)。

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

原文標(biāo)題:函數(shù)分布視角下的神經(jīng)過(guò)程

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    人工神經(jīng)網(wǎng)絡(luò)原理及下載

    人工神經(jīng)網(wǎng)絡(luò)是根據(jù)人的認(rèn)識(shí)過(guò)程而開(kāi)發(fā)出的一種算法。假如我們現(xiàn)在只有些輸入和相應(yīng)的輸出,而對(duì)如何由輸入得到輸出的機(jī)理并不清楚,那么我們可以把輸入與輸出之間的未知
    發(fā)表于 06-19 14:40

    求助大神關(guān)于神經(jīng)網(wǎng)絡(luò)的問(wèn)題

    求助大神 小的現(xiàn)在有個(gè)難題: 組車重實(shí)時(shí)數(shù)據(jù) 對(duì)應(yīng)個(gè)車重的最終數(shù)值(個(gè)維數(shù)組輸入對(duì)應(yīng)輸出個(gè)數(shù)值) 這其中可能
    發(fā)表于 07-14 13:35

    求助基于labview的神經(jīng)網(wǎng)絡(luò)pid控制

    小女子做基于labview的蒸發(fā)過(guò)程中液位的控制,想使用神經(jīng)網(wǎng)絡(luò)pid控制,請(qǐng)問(wèn)這個(gè)控制方法可以嗎?有誰(shuí)會(huì)神經(jīng)網(wǎng)絡(luò)pid控制么。。。叩謝
    發(fā)表于 09-23 13:43

    神經(jīng)網(wǎng)絡(luò)解決方案讓自動(dòng)駕駛成為現(xiàn)實(shí)

    的越來(lái)越大的挑戰(zhàn)。結(jié)論機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)將沿著條挑戰(zhàn)高效處理性能的發(fā)展道路繼續(xù)闊步前進(jìn)。先進(jìn)的神經(jīng)網(wǎng)絡(luò)架構(gòu)已經(jīng)顯現(xiàn)出優(yōu)于人類的識(shí)別精確。用
    發(fā)表于 12-21 17:11

    【PYNQ-Z2申請(qǐng)】基于PYNQ的卷積神經(jīng)網(wǎng)絡(luò)加速

    探索整個(gè)過(guò)程中資源利用的優(yōu)化使整個(gè)過(guò)程更加節(jié)能高效預(yù)計(jì)成果:1、在PYNQ上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)2、對(duì)以往實(shí)現(xiàn)結(jié)構(gòu)進(jìn)行優(yōu)化3、為卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)路
    發(fā)表于 12-19 11:37

    【PYNQ-Z2試用體驗(yàn)】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一種自適應(yīng)系統(tǒng),通俗的講就是具備學(xué)習(xí)功能?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)一種非線性統(tǒng)計(jì)數(shù)據(jù)建模工具。簡(jiǎn)單來(lái)說(shuō),就是給定輸入,
    發(fā)表于 03-03 22:10

    【案例分享】ART神經(jīng)網(wǎng)絡(luò)與SOM神經(jīng)網(wǎng)絡(luò)

    一種常用的無(wú)監(jiān)督學(xué)習(xí)策略,在使用改策略時(shí),網(wǎng)絡(luò)的輸出神經(jīng)元相互競(jìng)爭(zhēng),每時(shí)刻只有個(gè)競(jìng)爭(zhēng)獲勝的神經(jīng)
    發(fā)表于 07-21 04:30

    人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)方法有哪些?

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種類似生物神經(jīng)網(wǎng)絡(luò)的信息處理結(jié)構(gòu),它的提出是為了解決些非線性,非平穩(wěn),復(fù)雜的實(shí)際問(wèn)題。那有哪些辦法能實(shí)現(xiàn)
    發(fā)表于 08-01 08:06

    高斯過(guò)程回歸GPR和多任務(wù)高斯過(guò)程MTGP

    ,基于數(shù)據(jù)間的相關(guān),構(gòu)造協(xié)方差函數(shù),通過(guò)Bayesian推理進(jìn)行計(jì)算,與點(diǎn)秀的神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)相比,高斯
    發(fā)表于 06-30 06:59

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測(cè)的計(jì)算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反
    發(fā)表于 07-12 08:02

    卷積神經(jīng)網(wǎng)絡(luò)維卷積的處理過(guò)程

    inference在設(shè)備端上做。嵌入式設(shè)備的特點(diǎn)是算力不強(qiáng)、memory小??梢酝ㄟ^(guò)對(duì)神經(jīng)網(wǎng)絡(luò)做量化來(lái)降load和省memory,但有時(shí)可能memory還吃緊,就需要對(duì)神經(jīng)網(wǎng)絡(luò)在memory使用上做進(jìn)步優(yōu)化
    發(fā)表于 12-23 06:16

    一種基于高效采樣算法的時(shí)序圖神經(jīng)網(wǎng)絡(luò)系統(tǒng)介紹

    成為了非常重要的問(wèn)題。 基于以上問(wèn)題,本文提出了一種基于高效采樣算法的時(shí)序圖神經(jīng)網(wǎng)絡(luò)系統(tǒng) 。首先我們介紹用于時(shí)序圖神經(jīng)網(wǎng)絡(luò)采樣的高效采樣
    發(fā)表于 09-28 10:34

    什么是高斯過(guò)程 神經(jīng)網(wǎng)絡(luò)高斯過(guò)程解析

    神經(jīng)網(wǎng)絡(luò)是怎么和高斯過(guò)程聯(lián)系在起的呢?Lee et al. [1] and Neal [2] 指出,隨機(jī)初始化無(wú)限寬網(wǎng)絡(luò)的參數(shù)會(huì)產(chǎn)生
    發(fā)表于 08-10 11:25 ?4404次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法過(guò)程包括

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種多層前饋神經(jīng)網(wǎng)絡(luò),具有強(qiáng)大的非線性映射能力,廣泛應(yīng)用于模式識(shí)別、信號(hào)處理、預(yù)測(cè)等領(lǐng)域。本文將詳細(xì)介紹BP神經(jīng)網(wǎng)
    的頭像 發(fā)表于 07-04 09:45 ?442次閱讀

    機(jī)器人神經(jīng)網(wǎng)絡(luò)系統(tǒng)的特點(diǎn)包括

    機(jī)器人神經(jīng)網(wǎng)絡(luò)系統(tǒng)是一種模擬人類大腦神經(jīng)網(wǎng)絡(luò)的計(jì)算模型,具有高度的復(fù)雜靈活性。在本文中,我們將詳細(xì)介紹機(jī)器人
    的頭像 發(fā)表于 07-09 09:45 ?446次閱讀
    RM新时代网站-首页