您的位置:首頁>正文

用神經模組網路學習推理

原文作者:Jacob Andreas

與 Ronghang Hu, Marcus Rohrbach, Trevor Darrell, Dan Klein and Kate Saenko合作

假設我們正在建造一個家用機器人, 並希望它能夠回答與它周圍的一些問題。 我們可能會它問這樣的問題:

我們如何確保機器人可以正確回答這些問題?深度學習的標準方法是收集問題, 圖像和答案的大型資料集, 並訓練一個單一的神經網路, 從問題和圖像直接映射到答案。 如果大多數問題看起來像左邊那個, 我們就有一個熟悉的圖像識別問題, 而這類單一的方法是非常有效的:

但是對於像右邊那樣的問題, 就沒有那麼容易辨認出來了:

在這裡, 我們訓練的網路已經不起作用了, 它只是猜測圖像中最常見的顏色。 是什麼讓這個問題變得更加困難?即使圖像更清晰, 這個問題也需要很多步驟來推理:不是簡單地識別圖像中的主要物件, 模型必須首先找到藍色圓柱體, 定位相同大小的其他物件, 然後確定其顏色。 這是一個複雜的計算, 而這個計算也只能用於這個特定的問題。 不同的問題需要不同的步驟順序來解決。

深度學習的主要範式是一種“一刀切”的方法:無論我們要解決什麼問題, 我們都要寫下一個固定的模型框架, 在這個模型中我們希望能夠捕捉到輸入和輸出之間的關係,

並從標記的訓練資料中學習該固定模型的參數。

但現實世界的推理並不是這樣工作的:它涉及到各種不同的能力, 我們在其他情況下遇到新的問題, 它就會以新的方式結合起來。 我們需要的是這樣一個模型, 它可以根據面前的問題動態地確定如何去推理——一個可以即時選擇自身結構的網路。 在這篇文章中, 我們將討論一類稱之為神經模組網路 (NMNs)的新模型, 它將這種更加靈活的方法融入到解決問題的過程中, 同時保留了深度學習有效的表現能力。

之前, 我們注意到回答上述問題要涉及到三個不同的步驟:找到一個藍色的圓柱體, 找到其他大小相同的東西, 並確定它的顏色。 我們可以畫出這樣的示意圖:

不同的問題可能涉及不同的一系列步驟。 如果我們問“有多少東西和球一樣大小?”, 我們可能會有這樣的東西:

各種問題間, 類似於“比較大小”之類的基本操作是共用的, 但是它們以不同方式被使用。 NMNs背後的關鍵思想是讓這個共用變得更加明確:我們使用兩個不同的網路結構來回答上述兩個問題, 但我們在涉及相同基本操作的網路之間共用權重:

我們如何學習這樣的模型?我們不是在大量成對的輸入/輸出上訓練單一的大型網路, 實際上, 我們在訓練大量不同的網路的同時, 也在適當的情況下將它們的參數綁定在一起:

(包括DyNet和TensorFlow Fold在內的幾個最新的深度學習框架都是在這種動態計算的基礎上明確設計的。)

我們在訓練過程結束時得到的不是一個深度網路,而是一個神經“模組”的集合,每個神經“模組”實現一個推理的單一步驟。當我們想在一個新的問題實例上使用我們的訓練模型時,我們可以動態地組合這些模組來產生適合於這個問題的新的網路結構。

關於這個過程的一個出色的地方是,我們不需要為個別模組提供任何低級別的監督:該模型從來沒有看到藍色物件的孤立例子或“剩餘”關係。模組只能在較大的組合結構中學習,只有(問題,答案)成對作為監督。但是訓練過程能夠自動地推斷出結構片段之間的正確關係以及它們所負責的計算:

這個過程同樣適用於回答關於更逼真的照片的問題,甚至是其他的知識資源,比如資料庫:

整個過程的關鍵要素就是像上面那樣的高層次的“推理藍圖”。這些藍圖告訴我們應該如何佈置每個問題的網路,以及不同的問題如何相互關聯。但藍圖從哪裡來?

在我們對這些模型的初步研究中(1,2),我們在設計特定於問題的神經網路的問題和分析語法結構的問題上得出了驚人的聯繫。語言學家早已觀察到,一個問題的語法與回答它所需的計算步驟的順序密切相關。這得益于自然語言處理方面的最新進展,我們可以使用現成的語法分析工具自動地為這些藍圖提供近似的版本。

但從語言結構到網路結構的準確映射仍然是一個具有挑戰性的問題,轉換過程容易出錯。在之後的工作中,我們不是依靠這種語言學分析,而是轉向由人類專家生成的資料,他們用理想化的推理藍圖直接標記了一系列問題(3)。通過學著去模仿這些人,我們的模型能夠大大提高預測的品質。最令人驚訝的是,當我們採用了模仿專家的模式,但是允許它探索自己對這些專家預測的修改之後,就可以找到比各種問題的專家更好的解決方案。

儘管近年來深度學習方法取得了令人矚目的成就,但其中包括少量學習和複雜推理等許多問題仍然是一個挑戰。但是,這些問題恰恰是諸如語義解析和程式歸納等更結構化的經典技術真正發揮作用的問題。神經模組網路為我們提供了兩全其美的方法:離散組合的靈活性和資料效率,以及深度網路的代表性能力。NMNs已經在視覺和文本推理任務上取得了一些成功,我們也很興奮地開始將它們應用到其他人工智慧問題上。

這篇文章是參考以下文獻:

Neural Module Networks.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。CVPR 2016.(arXiv)

Learning to Compose Neural Networks for Question Answering.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。NAACL 2016.(arXiv)

Modeling Relationships in Referential Expressions with Compositional Modular Networks.Ronghang Hu, Marcus Rohrbach, Jacob Andreas, Trevor Darrell and Kate Saenko.CVPR 2017.(arXiv)

圖像來自VQA(http://www.visualqa.org/)和CLEVR(http://cs.stanford.edu/people/jcjohns/clevr/)資料集。

翻譯人:用戶9527,該成員來自雲+社區翻譯社

原文連結:http://bair.berkeley.edu/blog/2017/06/20/learning-to-reason-with-neural-module-networks/

(包括DyNet和TensorFlow Fold在內的幾個最新的深度學習框架都是在這種動態計算的基礎上明確設計的。)

我們在訓練過程結束時得到的不是一個深度網路,而是一個神經“模組”的集合,每個神經“模組”實現一個推理的單一步驟。當我們想在一個新的問題實例上使用我們的訓練模型時,我們可以動態地組合這些模組來產生適合於這個問題的新的網路結構。

關於這個過程的一個出色的地方是,我們不需要為個別模組提供任何低級別的監督:該模型從來沒有看到藍色物件的孤立例子或“剩餘”關係。模組只能在較大的組合結構中學習,只有(問題,答案)成對作為監督。但是訓練過程能夠自動地推斷出結構片段之間的正確關係以及它們所負責的計算:

這個過程同樣適用於回答關於更逼真的照片的問題,甚至是其他的知識資源,比如資料庫:

整個過程的關鍵要素就是像上面那樣的高層次的“推理藍圖”。這些藍圖告訴我們應該如何佈置每個問題的網路,以及不同的問題如何相互關聯。但藍圖從哪裡來?

在我們對這些模型的初步研究中(1,2),我們在設計特定於問題的神經網路的問題和分析語法結構的問題上得出了驚人的聯繫。語言學家早已觀察到,一個問題的語法與回答它所需的計算步驟的順序密切相關。這得益于自然語言處理方面的最新進展,我們可以使用現成的語法分析工具自動地為這些藍圖提供近似的版本。

但從語言結構到網路結構的準確映射仍然是一個具有挑戰性的問題,轉換過程容易出錯。在之後的工作中,我們不是依靠這種語言學分析,而是轉向由人類專家生成的資料,他們用理想化的推理藍圖直接標記了一系列問題(3)。通過學著去模仿這些人,我們的模型能夠大大提高預測的品質。最令人驚訝的是,當我們採用了模仿專家的模式,但是允許它探索自己對這些專家預測的修改之後,就可以找到比各種問題的專家更好的解決方案。

儘管近年來深度學習方法取得了令人矚目的成就,但其中包括少量學習和複雜推理等許多問題仍然是一個挑戰。但是,這些問題恰恰是諸如語義解析和程式歸納等更結構化的經典技術真正發揮作用的問題。神經模組網路為我們提供了兩全其美的方法:離散組合的靈活性和資料效率,以及深度網路的代表性能力。NMNs已經在視覺和文本推理任務上取得了一些成功,我們也很興奮地開始將它們應用到其他人工智慧問題上。

這篇文章是參考以下文獻:

Neural Module Networks.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。CVPR 2016.(arXiv)

Learning to Compose Neural Networks for Question Answering.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。NAACL 2016.(arXiv)

Modeling Relationships in Referential Expressions with Compositional Modular Networks.Ronghang Hu, Marcus Rohrbach, Jacob Andreas, Trevor Darrell and Kate Saenko.CVPR 2017.(arXiv)

圖像來自VQA(http://www.visualqa.org/)和CLEVR(http://cs.stanford.edu/people/jcjohns/clevr/)資料集。

翻譯人:用戶9527,該成員來自雲+社區翻譯社

原文連結:http://bair.berkeley.edu/blog/2017/06/20/learning-to-reason-with-neural-module-networks/

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示