雷鋒網 AI 科技評論按:許多自然問題都有一定的不確定性,比如一個杯子從桌上掉地,它可能躺在桌角、立在凳子下面,甚至直接摔碎。這種具有多種可能結果的未來預測一直是一個難題。深度學習三駕馬車之一的 Yann LeCun 近日就發布了一篇論文介紹他對這類問題的最新研究成果:誤差編碼網絡 ENN。雷鋒網 AI 科技評論把這篇論文的主要內容介紹如下。
多模態時間序列預測
學習關於時間序列的前饋預測模型是人工智慧中的一個重要問題,它可以應用於無監督學習、規劃以及壓縮。這類任務中的一個主要難點是,如何處理許多時間序列中都會展現出的多模態本質。如果一個時間序列有多種可能的演變方式,用經典的l1或者l2範數損失訓練的模型做出的預測就會是各個發展方向中不同結果的平均值或者中位數,那麼這個結果本身就是一個不會發生的結果、是一個無效的預測。
近年來,Ian Goodfellow 等人發明並發揚光大的生成式對抗性網絡GANs就是一種通用的框架,它把預測問題轉換為了預測函數和可訓練的鑑別器網絡(代表著損失)之間的極大極小值遊戲。通過這個可訓練的損失函數,理論上它可以處理多種輸出模式,因為如果生成器能生成每一種模式的樣本的話就肯定可以騙過鑑別器,從而走向收斂。然而,只能生成某一個模式的樣本的生成器其實也能騙過生成器走向收斂,實際中研究人員們也廣泛觀察到了這種現象。圍繞這種問題,大家開發出了一些解決或者緩解模式崩潰問題的方法,比如minibatch鑑別、增加參數化噪聲、通過展開的鑑別器做反向傳播以及用多個GANs覆蓋不同的模式等等。然而,其中的很多方法還是帶來了額外的麻煩,比如增加了實現的複雜度以及增加了計算量消耗。類似視頻預測這種輸出高度依賴輸入的條件生成任務中,模式崩潰的問題顯得更為嚴重。
誤差編碼網絡 ENN
在這篇論文中,作者們介紹了一種新的架構,它讓時間序列數據的條件預測也可以是多模態且健壯的。它的構建基於一個簡單的直覺,就是把未來狀態分成確定部分和隨機部分的組合;確定部分可以根據當前狀態直接做出預測,隨機的(或者說難以預測)的部分就代表了關於未來的不確定性。訓練這個確定性的網絡就能夠以網絡預測的形式獲得確定性因子,同時也得到了與真實狀態相比得到的預測誤差。這個誤差可以用低維隱含變量的形式編碼,然後送入第二個網絡中;這第二個網絡經過訓練後就可以利用這些額外的信息準確地更正前一個確定性網絡的預測結果。這就是論文中提出的誤差編碼網絡(Error Encoding Network,ENN)。
簡單來說,這個框架在三個時間步驟中分別含有三個函數映射:
第一個函數映射把當前狀態映射到未來狀態,它也就把未來狀態分成了確定性和不確定性的兩個部分
第二個函數映射是從不確定部分映射到低維隱含向量『
第三個函數映射是基於隱含向量的條件,把當前狀態映射到未來狀態,這個過程中也就編碼了未來狀態的模式信息。
模型的訓練過程中會用到全部的三個映射,推理部分只需要最後一個映射。
模型架構
前述的兩個網絡都是根據監督學習的目標函數端到端訓練的,隱含變量是通過學到的參數化函數計算的,這樣一來訓練過程就可以簡單、快速。
相關研究
以往的視頻預測模型中,有的做法只關注了確定性,忽略了時間序列預測的多模態性本質;也有的做法裡需要訓練數據帶有額外的標籤,才能以不同的動作為條件生成不同的預測。與這些方法相比,論文中提出的方法是以隱含變量為條件生成的,而這些隱含變量是以無監督的方式從視頻中學到的。
有一些研究在視頻預測中使用了對抗性損失,比如使用多尺度架構和多種不同的損失組合進行預測。增加的對抗性損失和梯度差異損失能夠提升圖像質量,尤其可以降低使用l損失時經常出現的模糊現象。然而,當時研究者們也指出生成器學會了忽略噪聲,生成的結果和不帶噪聲訓練的確定性模型的結果相似。
也有其它的視頻預測模型中用交替最小化的方式推測隱含變量。一種做法裡包含了一個離散的隱含變量,它的作用是在幾個用來預測未來視頻的隱藏狀態的不同模型間切換。這要比一個純粹的確定性模型靈活得多,然而一個離散的隱含變量仍然會把可能的未來模式顯示在一個離散的集合中。這篇論文中的模型則是通過一個學到的參數化函數推測連續的隱含變量。
近期也有研究表明,好的生成式模型可以通過在隱含空間聯合學習表徵和解碼器的參數得到。這樣做的要比訓練對抗式網絡簡單。生成式模型當然也可以通過交替最小化隱含變量和解碼器的參數得到,但每個樣本的隱含變量都可以在每次更新後存儲下來,當對應的樣本再次從訓練集中拿出時優化過程也還可以繼續。這種做法和論文中的方法有所關聯,不過區別是,這次沒有為每個樣本存儲隱含變量,而是通過確定性網絡的預測誤差學習一個函數。
實驗結果 - 定性部分
在遊戲(Atari Breakout,Atari Seaquest,Flappy Bird)、機器人操控、模擬駕駛的視頻數據集上的測試結果都表明,這種方法可以持續地產生未來幀內容的多模態預測。它們都具有完善定義的多模態結構,其中的環境可以根據智能體的動作而改變,又或者是隨機地改變,同時還能足夠多樣化的視覺環境。作者們訓練模型根據已知的4幀畫面,預測接下來的1到4幀。
比如下方打磚塊遊戲的預測結果,基準線的確定性模型預測的反彈板越來越模糊,這表明了模型對它的未來位置越來越不確定,不過同時靜態的背景一直非常清晰。殘差,也就是ground truth和基準模型之間的差別,值預測了確定性模型無法預測的小球和反彈板的運動。把殘差作為輸入,網絡學到的函數就可以把它編碼為隱含變量z。在訓練集內採樣不同的z值,就得到了以同一組幀為條件的三種不同生成結果。
打磚塊遊戲的生成結果。左側4幀是給定的,右側4幀是模型生成的。
在另一個遊戲Flappy Bird中,除了玩家的動作和新出現的管子的高度之外都是確定的。在第一個例子中可以看到,通過改變隱含變量可以得到兩種不同的結果,新的管子在不同的時間進入畫面、有不同的高度,或者乾脆沒有新的管子出現。
Flappy Bird,例1,最後一幀的管子有不同的高度。
在第二個例子中,改變隱含變量可以改變小鳥飛行的高度。這就說明環境中的兩種變量都可以被EEN建模。
Flappy Bird,例2,最後一幀的小鳥有不同的高度。
實驗結果 - 定量部分
論文中以信噪比為指標對比了一個基準的確定性模型和一個GAN。可以看到,隨著生成的樣本數量更多,論文中所提模型的表現也跟著提升;這表明它的生成結果足夠多樣化,起碼某些測試集中出現的模式都已經覆蓋到了。也可以看到,隨著增加生成樣本的數目,GAN的表現並沒有提升,這說明它的隱含變量對生成的樣本幾乎沒什麼影響。這也和其它研究中得到的結果相符。
另外還可以看到,不同模型之間用信噪比為指標對比的話,可比性不是很強,因為基準模型是直接優化l損失的,ENN是以給定的測試樣本為條件進行優化,GAN則是總體優化了另一個loss。這裡作者們主要想要表明,隨著生成的樣本變多,ENN的生成質量也會提高;而GAN就不會這樣。
結論
這篇論文提出了一種在帶有不確定的情況下進行時間預測的新框架,方法是把未來狀態中可預測和不可預測的部分分開。這種方法執行速度快、易於實現且便於訓練,不需要對抗性網絡或者交替最小化。論文中是在視頻數據集上的做的測試,但這也是一種通用化的方法,理論上可以用於任意值連續的時間序列預測問題中。
關於未來研究,這篇論文中採用了一個簡單的技巧,採樣隱含變量時不考慮是否依賴當前狀態;作者們認為可能還能找到更好的辦法。另外,這個模型的一個好處是,它可以快速從沒有見過的數據中提取隱含變量,因為畢竟它只需要在前饋網絡中運行一次。如果關於動作的隱含變量是易於解耦的,這就可以成為一種從大規模無標籤數據集中抽取動作、進行模仿學習的好方法。其它有意思的應用方式還包括用模型做預測、用它展開不同的未來可能性。
更多細節請查看原論文:https://arxiv.org/abs/1711.04994
雷鋒網 AI 科技評論編譯