當前位置:
首頁 > 新聞 > Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

Jurgen 一直認為 GAN 是其 PM 模型(1992)的變體,他與 Goodfellow 從郵件到演講也有多次公開交流。然而最近,Jurgen 獨立發表了一篇綜述論文,再一次概覽了極小極大博弈,及 PM 模型與 GAN 之間的強烈聯繫。

生成對抗網路(GAN)通過兩個無監督神經網路學習建模數據分布,這兩個神經網路互相拉鋸,每一個都試圖最小化對方試圖最大化的目標函數。最近 LSTM 之父 Jürgen Schmidhuber 在一篇綜述論文中,將 GAN 這一博弈策略與應用無監督極小極大博弈的早期神經網路關聯起來。而這篇論文中提到的早期神經網路 Adversarial Curiosity、PM 模型均出自 Jürgen Schmidhuber。

他認為:GAN 可以看作是 Adversarial Curiosity (1990) 的特例,Adversarial Curiosity 基於兩個網路之間的極小極大博弈,其中一個網路通過其概率動作生成數據,而另一個網路預測輸出的結果。

另外,Jürgen 之前曾表示 PM(Predictability Minimization)模型(Jürgen 於 1992 年提出)並非基於極小極大博弈,現在他對此說法予以否認,認為 PM 模型通過神經編碼器建模數據分布,而該編碼器最大化神經預測器試圖最小化的目標函數。

Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

打開今日頭條,查看更多圖片

Jürgen 在 NIPS 2016 打斷 Goodfellow 關於 GAN 的教程,並提問 PM 模型與 GAN 之間有什麼不同。

谷歌大腦研究科學家 David Ha 在 Twitter 上轉發了這篇論文,並讚揚 Jürgen Schmidhuber 雄心依舊。去年,David Ha 與 Jürgen 合作了論文《World Models》;近日 David Ha 發表論文,提出不需要權重訓練的神經網路。

Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

Jürgen Schmidhuber 是這篇 GAN 綜述論文的唯一作者,詳細介紹了 GAN 與早期使用極小極大博弈的神經網路之間的關係。接下來我們來一探究竟。

無監督極小極大博弈在計算機科學中的應用

計算機科學歷史上,通過最小化另一個程序最大化的目標函數來求解問題的做法有很多。1990 年後,對抗技術應用於無監督人工神經網路領域。在該環境中,單個智能體擁有兩個獨立的學習神經網路。第一個神經網路在沒有教師也沒有外部獎勵滿足用戶定義目標的情況下,生成數據。第二個神經網路學習預測輸出結果的屬性,以最小化誤差。第一個神經網路最大化第二個神經網路最小化的目標函數,從而生成能讓第二個神經網路學到更多的數據。

近期應用無監督極小極大博弈的例子即生成對抗網路(GAN)。GAN 一詞最早出現在 Ian Goodfellow 等人的論文中,而 GAN 的基本思想最早由 Olli Niemitalo 於 2010 年提出(未經同行評審)。

GAN 是 Adversarial Curiosity (1990) 的一個特例

1990 年出現了第一個無監督對抗神經網路 Adversarial Curiosity,它嘗試在強化學習探索環境中實現好奇心(curiosity)(Adversarial Curiosity 以下簡稱 AC1990)。Jürgen 認為 GAN 與 AC1990 有很大關聯。

在 AC1990 中,第一個神經網路通常稱為控制器 C。C 可以通過一系列互動(叫做「試驗」或「事件(episode)」)與環境進行交互。在任意試驗中執行一次交互時,控制器 C 生成輸出向量 x ∈ R^n。該輸出向量可能會影響環境,環境輸出對 x 的回應:y ∈ R^q。同樣地,y 可能影響 C 在下一次迭代中的輸入。

在 AC1990 的第一個變體中,C 是循環神經網路,因此它是一種通用目的的計算方式。C 的一些適應性循環單元是生成均值和方差的高斯單元,因此 C 就變成了生成模型(Jürgen 在「Explicit Random Actions versus Imported Randomness」章節有提及)。這些隨機單元所做的事情等同於讓 C 感知偽隨機數字或雜訊所完成的事情,這與 GAN 中的生成器類似。

AC1990 中的第二個神經網路是世界模型 M。在 AC1990 的第一個變體中,出於通用性的原因,M 也是循環的。M 以 C 的輸出 x ∈ R^n 為輸入,並預測其對環境的影響或後果 y ∈ R^q。

根據 AC1990,M 最小化其預測誤差,從而變成更好的預測器。在沒有外部獎勵的情況下,對抗模型 C 嘗試找到能夠最大化 M 誤差的動作:M 的誤差是 C 的本質獎勵。因此,C 最大化 M 試圖最小化的誤差。M 的損失就是 C 的收益。

在沒有外部獎勵的情況下,C 本質上被驅動去創建新的動作序列或試驗,以得到令 M「吃驚」的數據,直到 M 對數據熟悉並最終厭倦。

Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

世界模型的結構圖。該模型常用於智能體相關的學習。

什麼樣的環境使 AC1990 成為 GAN?

哪一種部分可觀測環境會使 AC1990 成為生成圖像的 GAN 呢?這個環境一定包含用戶給定「真實」圖像訓練集 X ={x^1, x^2, . . . , x^k ∈ R^n} 的表徵。X 對 C 和 M 不是直接可見的,但是其屬性由 AC1990 以類似 GAN 的動作或試驗進行探測。

在任意給定試驗開始時,C 和 M 中所有單元的激活函數都是重新設置的。C 什麼都看不見(因為沒有來自環境的輸入)。使用內部隨機單元後,C 可以計算單個輸出 x ∈ R^n,即「假」圖像。在所有試驗的 pre-wired 部分中,x 都被從訓練集 X 中隨機選取的「真實」圖像所替代(傳統強化學習默認的這一簡單探索策略可以在所有試驗的固定部分中選擇隨機動作)。這確保了 M 能夠看到真假圖像。

環境將對輸出動作 x 給出回應,將 x 對環境的影響返回為二元觀測結果 y ∈ R,如果圖像為真,則 y = 1,反之則 y = 0。

在類似 AC1990 的系統中,M 將 C 的輸出 x 作為輸入,並預測其對環境的影響 y。通常,M 通過最小化其預測誤差來學習。但是,在沒有外部獎勵的情況下,對抗網路 C 希望能最大化 M 想最小化的誤差,從而學習生成數據。M 的損失即 C 的負損失(negative loss)。也就是說,M 的行為本質上類似於 GAN 中的判別器,C 類似於 GAN 中的生成器。

AC1990 的改進

1991 年,AC1990 出現了第一次重大改進。AC1990 中 M 的誤差(需要被最小化)是 C 的獎勵(需要被最大化)。這有利於在很多確定性環境中找到好的探索策略。但是,在隨機環境中,這種做法可能失敗。C 可能集中於學習環境的某些部分,而由於隨機性或計算限制,M 在這些部分中總是產生較高的預測誤差。例如,由 C 控制的智能體可能會停留在只有高度不可預測白噪音前。

因此,1991 版本的 AC 指出,在隨機環境中,C 的獎勵不應該是 M 的誤差,而應該是後續訓練迭代中 M 誤差的一階導數的近似,即 M 得到了改進。因此,即使 M 在有噪音的電視屏幕前出現高誤差,C 也不會因為智能體停留在電視前面而得到獎勵,因此 M 的誤差沒有得到改進。完全可預測和基本不可預測都會令 C 感到無聊。

對抗大腦將賭注押在概率規劃的結果上

本文特別感興趣的一點是以一種更高級的對抗性方法用於 1997 年提出的好奇心探索,被稱為 AC 1997。

在 AC 1997 中,單個智能體有兩種對抗性的獎勵最大化策略,被稱為左腦和右腦。每種策略都是對通用目標計算機運行程序的可修正概率分布。實驗是以一種協作方式進行採樣的程序,這種協作方式受左右腦的影響。通過執行由實驗觸發的觀察序列的可計算函數(可能導致內部二元 yes/no 分類),每個實驗詳細說明如何執行指令序列(可能影響兩個環境以及智能體的內部狀態)以及如何計算實驗結果。左右腦的可修正參數是指令概率。通過包含特殊自我參照策略修正指令序列的程序,可以訪問和操作這些參數。

左右腦也可能觸發某些下注(bet)指令的執行,這些指令是為了在它們被觀察到之前預測實驗結果。如果它們的預測或假設結果不同,則同意執行實驗,以確定哪個大腦是正確的,並且出乎意料的失敗者會在零和博弈中向獲勝者支付內在獎勵(實值的賭注,如 1.0)。

也就是說,一個大腦本能地通過實驗來欺騙另一個大腦或使其驚訝,這樣以來,另一個大腦雖然同意實驗方案但不同意預期結果,這通常是複雜時空事件(通過執行自我發明的實驗生成)的內在可計算抽象化。

這促使兩個無監督的大腦系統著重於「有趣的」計算問題,而對左右腦能夠一致性地預測結果的「無聊」計算(可能包含環境)以及當前任何大腦依然很難預測結果的計算失去了興趣。此外,在缺少外部獎勵的情況下,一個大腦將另一個大腦最小化的價值函數最大化。

AC 1997 如何與生成對抗網路產生關係呢?AC 1997 類似於標準的生成對抗網路,從某種意義上來說,兩者都是無監督的生成對抗極小極大參與者,並著重於二元結果實驗:1 或 0、yes 或 no、假設正確或錯誤。但是,對於生成對抗網路來說,實驗方案是預先安排好的,並且常常是相同的:只是簡單地測試最近生成的模式是否在給定的訓練集中。

通過限制 AC 1997 的域以及相應編程語言中的指令屬性,人們可以將其局限於上述簡單的設定,這樣以來,左右腦的可能下注就局限於類 GAN 實驗的二元 yes/no 結果。但一般來說,AC 1997 的對抗大腦實際上可以自己創建任意的計算問題,生成的程序也能以任何可計算的方式與環境進行交互,從而輸出左右腦都可以下注的二元結果。這有點像一個純粹科學家從發明實驗中汲取內在快樂信號,實驗中的發現最開始令人驚訝但可學習,之後能夠進行可靠的重複性預測。

GAN 和 PM 模型的對比

神經網路的一個重要的任務是從給定數據,如圖片中學習統計特徵。為了實現這個目標,不使用梯度下降/上升的策略,而是另一種非監督的極小極大博弈。這種博弈中,一個網路極小化被另一個網路極大化的目標函數。這種在兩個非監督對抗網路的方式已經在上世紀 90 年代的多篇論文中被介紹。它被稱為 PM 網路(Predictability Minimization)。

PM 的目標是實現無監督學習中最重要的任務,一個理想的、解耦的、針對給定數據的特徵編碼,即使編碼的元素之間是統計學意義上互相獨立的。也就是說,編碼的分布類似於數據,同時給定數據模式的概率也是編碼元素概率的產物。這樣的編碼可以協助完成降採樣。

PM 網路需要隨機初始化一個編碼器的權重。它映射了數據樣本 x ∈ Rn(比如圖片)到編碼 y ∈ [0, 1]^m,m 指的是 m 個所謂的編碼單元。在編碼單元中,整數編碼 i,j,的取值範圍是從 1 到 m。對於第 i 個 y 中的元素可以表示為 y_i ∈ [0, 1]。另外有一個獨立的預測網路,使用梯度下降的方法進行訓練,用於預測從剩餘的元素 y_j 取的每一個 y_i(j ≠ i)。

然而,編碼器是通過極大化預測器用於最小化的那個目標函數(例如,均方誤差函數)。在 1996 年的論文(Semilinear predictability minimization produces well-known feature detectors)說明,「內在的含義是,編碼單元是被訓練(在我們的實驗中是在線反向傳播)用來最大化和預測器用於最小化的同一個目標函數」,或者 1999 年的論文(Neural predictors for detecting and removing redundant information)中提到,「但是編碼單元嘗試最大化預測器用來最小化的同一個目標函數」。

為什麼這場預測器和編碼器的博弈的結果是解耦的特徵碼?通過使用梯度下降用於最大化預測誤差,編碼單元使 y_j 從真正的 [0,1] 預測中偏離,即他們被逼向單元內部的角落,並傾向於二元化,要麼是 0,要麼是 1。同時,根據 1992 年論文的證明,當最大化第 i 個編碼單元的方差時,編碼器的目標函數也被最大化,因此最大化了輸入數據所表達的信息。於此同時,相對於其他編碼單元而言,它的(非條件的)期望 E(y_i) 和建模預測器的條件期望 E (y_i | {y_j , j ≠ i}) 的偏移被最小化。也就是說,編碼單元被鼓勵去從數據中提取有意義的,但是互相獨立的二元信息。

PM 內在的概率分布是一個多元二項式分布。在理想狀態下,PM 確實學習從數據中創建二元特徵編碼。也就是說,相對於一些輸入特徵,每個 y_i 是 0 或者 1,而預測器學習了條件預期值 E (y_i | {y_j , j≠ i})。因為編碼既是二元的也是有特徵的,其值和編碼單元的非條件的概率 P (y_i = 1) 是等價的。例如,如果一些編碼單元的預測是 0.25,則該編碼單元為真的概率是 1/4。

第一個 PM 網路的嘗試實驗是在大約 30 年前。那時候,計算成本比現在要昂貴百萬倍。當 5 年後,計算成本降低 10 倍時,有了簡單的用於圖片的類線性 PM 網路自動生成特徵檢測器。這些檢測器被神經科學所熟知,如從中心到周圍檢測器(on-center-off-surround detectors),從周圍到中心檢測器(off-center-on-surround detectors),方向敏感的棒狀檢測器(orientation-sensitive bar detectors)等。

PM 真的不是一個最小化最大目標函數的策略嗎?

NIPS2014 的 GAN 論文中,論文認為 PM 和 GAN 是不同的,因為 PM 不是基於極小極大博弈的。在極小極大博弈中,其有一個值函數(value function),其中一個智能體嘗試最大化而另一個智能體嘗試最小化(它)。論文宣稱,對於 GAN 來說,「網路之間的對抗是唯一的訓練標準,並且網路可以自給自足的訓練」。但是對於 PM 來說,「(它)只是一個正則化器,用於鼓勵神經網路的隱藏單元在完成其他任務時在統計學上保持獨立,這不是一個基本的訓練標準」。

但是這一論點是不正確的,因為 PM 的確是一個純粹的極小極大博弈。並不存在所謂的「其他任務」。特別的,PM 也是被訓練的,而且其訓練過程是「網路之間的對抗是唯一的訓練標準,並且網路可以自給自足的訓練」。

通過 PM 變體學習生成模型

在第一個同行審閱的 PM 論文中,有一個 PM 變體網路,其中有一個可選的解碼器(被稱為重建器),這個重建器可以基於編碼重建數據。假設 PM 確實發現了數據中理想的特徵編碼。因為編碼的分布和數據相似,有了解碼器,我們可以立刻將系統作為生成模型使用,只需要根據非條件概率隨機激活每個二元編碼單元,並用解碼器從輸出數據中採樣。有了精確的解碼器,採樣數據必須根據特徵編碼遵守原始分布的統計特徵

然而,在研究者的印象中,這種直接的生成模型的應用從來沒有在任何一個 PM 論文中被提及。同時解碼器(也被認為是額外的、可選的編碼單元的局部方差最大化方法)實際上被一些 1993 年後的 PM 論文忽略了。這些論文關注於解耦內部表示的非監督學習,用於輔助降採樣學習。

儘管如此,1990 年和 2014 年就提到了使用極小極大訓練的隨機輸出並用於產生數據生成模型。

從 GAN 學習特徵編碼

PM 的變體可以很容易用作類似 GAN 的生成模型。相對的,GAN 的變體可以很容易像 PM 那樣用來學習特徵編碼。如果我們將一個從隨機輸入編碼中訓練的 GAN 生成器視為一個獨立組件,並在其輸出層添加一個傳統的編碼器網路,並訓練這個編碼器將輸出特徵映射到原始的隨機編碼,那麼在理想的情況下,這個編碼器會成為一個針對其原始數據的特徵編碼生成器。

PM 模型和 GAN 及其變體的關係

PM 和 GAN 都是對數據的統計特徵進行非監督學習的方法。兩者都採用了基於梯度的對抗網路,並通過極小極大博弈實現目標。

PM 嘗試產生容易解碼、看似隨機、具有特徵編碼的數據,而 GAN 嘗試從隨機編碼中產生解碼數據。從這個角度來說,PM 的編碼器輸入更像是生成對抗網路的解碼器輸出,而前者的編碼器輸出更像是後者解碼器的輸入。從另一角度來說,PM 編碼器的輸出類似於 GAN 解碼器的輸出,因為兩者都是隨著對抗損失的變化而變化。

GAN 嘗試從其他數據分布(高斯分布、二項式分布等)中擬合真實的數據分布。類似的,PM 嘗試從提前給定的多元因子二項式分布中擬合真實的數據分布。許多後 PM 方法,比如信息瓶頸法基於的是率扭曲理論(rate distortion theory),變分自編碼器,雜訊對比估計(Noise-Contrastive Estimation)和自監督提升方法(Self- Supervised Boosting)方法都和 PM 有著特定的關係,儘管以上的模型都沒有採用像 PM 那樣的基於梯度的極小極大博弈的對抗網路策略。但是,GAN 採用了。

PM 及其變體的解碼器和 GAM 及其變體的編碼器可以通過以下的管道流程說明(可以把它們看成是非常相似的有四個步驟的循環):

有著標準解碼器的 PM 變體流程:

數據→ 極小極大化目標函數訓練後的數據→ 編碼→ 傳統解碼器(經常被忽略)→ 數據

有標準編碼器的 GAN 變體流程(相比較於 InfoGAN):

編碼→ 極小極大化目標函數訓練的解碼器→ 數據→ 標準編碼器→ 編碼

Jurgen Schmidhuber新論文:我的就是我的,你的GAN還是我的

PM 和 GAN 的對比。

如果能夠實驗研究以上的 GAN 的管道可以比 PM 更好的訓練和編碼,或者在這之後可以更有效的擬合將是非常有趣的事情。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

禁止與華為討論技術標準?高通、英特爾3GPP上限制員工交流
ICLR 2019論文解讀:量化神經網路

TAG:機器之心 |