1. 程式人生 > >機器不學習:用神經模塊網絡學習推理

機器不學習:用神經模塊網絡學習推理

model tensor 作用 參考 我們 arr 生成 人工 相關

機器不學習 jqbxx.com-機器學習好網站

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

深度學習的主要範式是一種“一刀切”的方法:無論我們要解決什麽問題,我們都要寫下一個固定的模型框架,在這個模型中我們希望能夠捕捉到輸入和輸出之間的關系,並從標記的訓練數據中學習該固定模型的參數。

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

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

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

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

技術分享圖片

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

技術分享圖片

技術分享圖片

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

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

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

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

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

  1. Neural Module Networks.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。CVPR 2016.(https://arxiv.org/abs/1511.02799)

  2. Learning to Compose Neural Networks for Question Answering.Jacob Andreas,Marcus Rohrbach,Trevor Darrell和Dan Klein。NAACL 2016.(https://arxiv.org/abs/1601.01705)

  3. Modeling Relationships in Referential Expressions with Compositional Modular Networks.Ronghang Hu, Marcus Rohrbach, Jacob Andreas, Trevor Darrell and Kate Saenko.CVPR 2017.(https://arxiv.org/abs/1611.09978)

更多精彩內容,機器不學習官方網站(jqbxx.com)

機器不學習:用神經模塊網絡學習推理