在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

一種兼具神經網絡高效性和高斯過程靈活性的方法——神經過程

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

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

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

深度學習:神經網絡是靈活的非線性函數,可以直接訓練

高斯過程:GP提供了一個概率框架,可用于學習非線性函數的分布

兩者都有各自的優點和缺點。當數據量有限時,由于本身具備概率性質可以描述不確定性,GP是首選(這和非貝葉斯神經網絡不同,后者只能捕捉單個函數,而不是函數分布);而當有大量數據時,訓練神經網絡比GP推斷更具擴展性,因此優勢更大。

神經過程的目標就是實現神經網絡和GP的優勢融合。

什么是神經過程?

NP是一種基于神經網絡的方法,用于表示函數的分布。下圖展示了如何建立NP模型,以及訓練模型背后的一般想法:

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

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

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

讓我們來思考以下兩種情況:

基于單個數據集推斷函數的分布

當存在多個數據集且它們之間存在某種相關性時,推斷函數的分布

對于情況一,常規的(概率)監督學習就能解決:給定一個包含N個樣本的數據集,比如(xi, yi),其中i=1,…,N。假設確實存在一個函數f,它能產生yi=f(xi),我們的目標就是學習f的后驗分布,然后用它預測測試集上某點的函數值f(x?)。

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

對于數據集很多但它們的樣本很少的情況,情況二的做法特別有用,因為這時模型學到的經驗基于所有fd,它的內核、超參數是這些函數共享的。當給出新的數據集d?時,我們可以用后驗函數作為先驗函數,然后執行函數回歸。

之所以要舉著兩個例子,是因為一般來說,GP適用于情況一,即便N很小,這種做法也很有效。而NP背后的思路似乎主要來自元學習——在這種情況下,潛在的z可以被看作是用于不同數據集間信息共享的機制。但是,NP同樣具有概率模型的特征,事實上,它同時適用于以上兩種情況,具體分析請見下文。

NP模型是怎么實現的?

下面是NP生成模型的詳細圖解:

如果要逐步分解這個過程,就是:

首先,“context points”里的數據(xc,yc)通過神經網絡h映射,獲得潛在表征rc

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

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

最后,為了預測輸入x?t后的函數值,對z采樣并將樣本與x?t組成數對,用神經網絡g映射(z,x?t)獲得預測分布中的樣本y?t。

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

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

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

下圖是近似后驗q(z|·)的具體推斷過程。也就是說,我們用相同的神經網絡h映射兩個數據集,獲得聚合的r,再把r映射到μz和σz,使后驗q(z|?)=N(μz,σz)被參數化。

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

第二項是個正則項,它描述了q(z|context,target)和q(z|context)之間的KL散度。這和常規的KL(q||p)有點不同,因為我們的生成模型一開始就把p(z|context)當做條件先驗,不是p(z),而這個條件先驗有依賴于神經網絡h,這就是我們沒法得到確切值,只能用一個近似值q(z|context)。

實驗

NP作為先驗

我們先來看看把NP作為先驗的效果,也就是沒有觀察任何數據,模型也沒有經過訓練。初始化權重后,對z~N(0,I)進行采樣,然后通過x?值的生成先驗預測分布并繪制函數圖。

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

例如,如果我們用的激活函數是sigmoid,調整z的維數為{1, 2, 4, 8}。

如果用的是ReLU:

在一個小數據集上訓練NP

假設我們只有5個數據點:

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

可以發現,NP似乎已經成功學習了這5個數據點的映射分布,那它的泛化性能如何呢?我們把這個訓練好的模型放在另一個新的context set上,它的表現如下圖所示:

這個結果不足為奇,數據量太少了,模型過擬合可以理解。為了更好地提高模型泛化性,我們再來試試更大的函數集。

在一小類函數上訓練NP

上文已經用單個(固定)數據集探索了模型的訓練情況,為了讓NP像GP一樣通用,我們需要在更大的一類函數上進行訓練。但在準備復雜函數前,我們先來看看模型在簡單場景下的表現,也就是說,這里觀察的不是單個函數,而是一小類函數,比如它們都包含a?sin(x),其中a∈[?1,1]。

我們的目標是探究:

NP能不能捕捉這些函數?

NP能不能概括這類函數以外的函數?

下面是具體步驟:

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

設xi~U(?3,3)

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

把數據對(xi,yi)隨機分成context set和target set兩個數據集,并進行優化

重復上述步驟

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

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

需要注意的是,這里我們沒有用任何context set里的數據,只是為了可視化指定了具體的(z1, z2)值。接下來,就讓我們用這個模型進行預測。

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

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

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

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

之后,作者又比較了GP和NP的預測分布情況,發現兩者性能非常接近,只是隨著給出的數據點越來越多時,NP會因為架構選擇(神經網絡過小、低緯度z)出現性能急劇下降。對此,以下幾個改進方法可以幫助解決問題:

2維z適合用于學習理解,在實際操作中,可視情況采用更高的維度

讓神經網絡h和g變得更深,擴大隱藏層

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

結論

雖然NP號稱結合了神經網絡和GP,能預測函數的分布,但它從本質上看還是更接近神經網絡模型——只需優化架構和訓練過程,模型性能就可以大幅提高。但是,這些變化都是隱含的,使得NP更難被解釋為先驗。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4772

    瀏覽量

    100808
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24713
  • 深度學習
    +關注

    關注

    73

    文章

    5503

    瀏覽量

    121206

原文標題:函數分布視角下的神經過程

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    人工神經網絡原理及下載

    人工神經網絡是根據人的認識過程而開發出的一種算法。假如我們現在只有些輸入和相應的輸出,而對如何由輸入得到輸出的機理并不清楚,那么我們可以把輸入與輸出之間的未知
    發表于 06-19 14:40

    求助大神關于神經網絡的問題

    求助大神 小的現在有個難題: 組車重實時數據 對應個車重的最終數值(維數組輸入對應輸出個數值) 這其中可能
    發表于 07-14 13:35

    求助基于labview的神經網絡pid控制

    小女子做基于labview的蒸發過程中液位的控制,想使用神經網絡pid控制,請問這個控制方法可以嗎?有誰會神經網絡pid控制么。。。叩謝
    發表于 09-23 13:43

    神經網絡解決方案讓自動駕駛成為現實

    的越來越大的挑戰。結論機器學習神經網絡將沿著條挑戰高效處理性能的發展道路繼續闊步前進。先進的神經網絡架構已經顯現出優于人類的識別精確。用
    發表于 12-21 17:11

    【PYNQ-Z2申請】基于PYNQ的卷積神經網絡加速

    探索整個過程中資源利用的優化使整個過程更加節能高效預計成果:1、在PYNQ上實現卷積神經網絡2、對以往實現結構進行優化3、為卷積神經網絡網路
    發表于 12-19 11:37

    【PYNQ-Z2試用體驗】神經網絡基礎知識

    能在外界信息的基礎上改變內部結構,是一種自適應系統,通俗的講就是具備學習功能。現代神經網絡一種非線性統計數據建模工具。簡單來說,就是給定輸入,
    發表于 03-03 22:10

    【案例分享】ART神經網絡與SOM神經網絡

    一種常用的無監督學習策略,在使用改策略時,網絡的輸出神經元相互競爭,每時刻只有個競爭獲勝的神經
    發表于 07-21 04:30

    人工神經網絡實現方法有哪些?

    人工神經網絡(Artificial Neural Network,ANN)是一種類似生物神經網絡的信息處理結構,它的提出是為了解決些非線性,非平穩,復雜的實際問題。那有哪些辦法能實現
    發表于 08-01 08:06

    高斯過程回歸GPR和多任務高斯過程MTGP

    ,基于數據間的相關,構造協方差函數,通過Bayesian推理進行計算,與點秀的神經網絡、支持向量機相比,高斯
    發表于 06-30 06:59

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡一種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反
    發表于 07-12 08:02

    卷積神經網絡維卷積的處理過程

    inference在設備端上做。嵌入式設備的特點是算力不強、memory小。可以通過對神經網絡做量化來降load和省memory,但有時可能memory還吃緊,就需要對神經網絡在memory使用上做進步優化
    發表于 12-23 06:16

    一種基于高效采樣算法的時序圖神經網絡系統介紹

    成為了非常重要的問題。 基于以上問題,本文提出了一種基于高效采樣算法的時序圖神經網絡系統 。首先我們介紹用于時序圖神經網絡采樣的高效采樣
    發表于 09-28 10:34

    什么是高斯過程 神經網絡高斯過程解析

    神經網絡是怎么和高斯過程聯系在起的呢?Lee et al. [1] and Neal [2] 指出,隨機初始化無限寬網絡的參數會產生
    發表于 08-10 11:25 ?4426次閱讀

    bp神經網絡算法過程包括

    BP神經網絡(Backpropagation Neural Network)是一種多層前饋神經網絡,具有強大的非線性映射能力,廣泛應用于模式識別、信號處理、預測等領域。本文將詳細介紹BP神經網
    的頭像 發表于 07-04 09:45 ?472次閱讀

    機器人神經網絡系統的特點包括

    機器人神經網絡系統是一種模擬人類大腦神經網絡的計算模型,具有高度的復雜靈活性。在本文中,我們將詳細介紹機器人
    的頭像 發表于 07-09 09:45 ?462次閱讀
    主站蜘蛛池模板: 怡红院国产| 91在线免费视频| 亚洲欧美视频在线播放| 午夜综合网| 美女黄页网站免费进入| 亚洲高清毛片| 2020欧美极品hd18| 国产中文99视频在线观看| 9797色| 精品亚洲欧美无人区乱码| 色视频在线免费观看| 第四色亚洲| 69 hd xxxx日本| 亚洲一区二区视频| 欧美最猛性xxxx高清| 深夜视频在线播放视频在线观看免费观看 | 精品国产三级a∨在线| 色噜噜狠狠色综合欧洲| 欧美视频精品在线| 色在线网站| 亚洲国产综合久久精品| 四虎4hu永久在线观看| 亚洲成人激情电影| 2021天天操| 办公室桌震娇喘视频大全在线| 性xxx中文视频| 一区二区三区无码高清视频| 午夜视频h| 91md天美精东蜜桃传媒在线| 久久免费视频2| 女色窝人体色77777| 日日天天干| 欧美激情五月| 亚洲网站在线看| 一级毛片在线看在线播放| 亚洲三级电影在线播放| 一级毛片a| 欧美zooz人与禽交| 毛片在线播| 呦交小u女国产秘密入口| 午夜毛片网站|