神經過程的提出就是為了改進上述兩種方法.
下面摘自維基百科:
定義 : 在概率論概念中,隨機過程是隨機變數的集合。若一隨機系統的樣本點是隨機函數,則稱此函數為樣本函數,這一隨機系統全部樣本函數的集合是一個隨機過程
在隨機過程中, 每組數據都是一個變數, 有N個數據就有N個變數. 這些變數應該儘可能的滿足函數 , 而函數 是從一個分布 中採樣出來的.
在本文中的符號定義:
本節最好結合我的另外一個筆記, [高斯過程] 來看, 這樣會理解的深刻一些.
現在定義聯合概率為 .
首先, 我們知道我們從 可以採樣出很多很多的函數, 關於數據的邊緣分布應該符合下面的式子:
其中, .
在高斯過程中, F就是根據核函數和其對應的優化過程, 利用已觀測數據得出一個高維高斯, 這個高維高斯的維度是已觀測數據的size.
這一步相當於數據增強. 對應著高斯過程筆記的2.4節內容.
首先看條件分布
這樣情況下的邊緣分布為:
我們在上面假設的是, 可以是任何函數, 但是實際上這樣是無法計算的, 必須要要賦予 一個具體的函數形式, 然後通過調整這個函數的參數來具現化函數, 這裡為了提高模型capacity, 這裡使用的是神經網路 , 其中, 是輸入, 是參數.
注意!!!! 現在我們面對一個新數據 的時候, 做法從
從一個泛函中採樣出函數應用於與 變為了
從一個分布中採樣出參數 z, 將其應用於神經網路 g , 再將 x 輸入這個神經網路.
即, , 其中,
那麼現在的目標就是求
變分推理詳見 PRML 第十章. 我也放上了我的一部分筆記, [變分推理(2)] 由於太多隻做了一部分, 結果還因為忘記保存丟了一大部分, 生氣啊, 不過放上的那些也夠用了.
我們現在要求的 的變分後驗 , 這裡用到了第二個神經網路. 但不是完全的輸入 輸出 的形式, 因為不是一組 對應一個 , 其只為一個變數.
變分法是從分解邊緣分布 開始的.
但是在這篇文章中的邊緣分布是 , 由於在後續的分析中, 一直處於條件的位置, 因此為了簡化運算, 這裡將 設為 .
之後的運算中也不會再出現 x , 但是有 y 的地方, 就肯定有一個條件的
分解公式為:
我們是希望能夠使得關於潛在變數的後驗分布 去更新先驗分布 , 所以要最小化 距離. 即, 最大化 ELBO, 由於KL距離的值一定是大於等於0的, 因此:
由於這個裡面的 是無法計算的, 因此我們需要對其進行求解, 並且, 這裡的 是做了零先驗假設, 但是在有上下文數據的情況下, 我們可以使用先驗, 即: .
下面的 是我們假設的 的真實分布.
將 加入式子就是:
我們是希望能夠用一些部分已知數據對 , 去求解另一部分的數據對應的 , 即: 這樣就有如下的式子(不想推了):
由於真實概率 是無法處理的, 因此這裡需要用變分後驗近似分布 去替代它.
這裡最難理解的一個地方是, 如何優化得到 .
我的個人理解是, 這裡其實就是用的簡單的隨即下降加上一些對從分布中生成數據進行梯度下降的方法, 這個在第2.4節會細講.
這一節雖然短, 但是確實最精華, 最insight的地方, 推薦去看原文. 害怕自己理解不到位.
首先在講這一節的內容之前很有必要看第2.4節的內容, 其先直接去看2.4節.
這裡就可以做一件非常有意思的事情!!!!!! 比如用在對話分析的地方就可以進行語言風格分類, 然後根據提供的上下文語句實現不同風格的對話. 可以幫助你過聖誕節, 春節, 清明節, 七夕節(雖然和我沒什麼關係).
還是接著上一步整體數據與上下文數據的區別展開的討論.
當我們不向數據新的數據提供 上下文數據 的時候, 像2.4.2)展示的那樣, 用到的只是訓練 數據的平均信息.
而當提供了一些上下文數據的時候, 就會為 提供先驗, 使其成為 .
不同的上下文數據會提供不同的先驗. 產生不同的結果.
第四章感覺很重要, 但是我完全不想寫....
推薦閱讀: