回覆列表
  • 1 # 機器之心Pro

    DeepCoder:學習程式設計(DeepCoder: Learning to Write Programs)具有連續和離散定址方案的動態神經圖靈機(Dynamic Neural Turing Machine with Continuous and Discrete Addressing Schemes)透過探索不完美的獎勵來改善策略梯度演算法(Improving Policy Gradient by Exploring Under-appreciated Rewards)用神經網路拆分和征服(Divide and Conquer with Neural Networks)Lie-Access 神經圖靈機(Lie-Access Neural Turing Machines)透過遞迴實現神經程式設計架構通用化(MAKING NEURAL PROGRAMMING ARCHITECTURES GENERALIZE VIA RECURSION)(最佳論文)神經組合最佳化(Neural Combinatorial Optimization)神經函數語言程式設計(NEURAL FUNCTIONAL PROGRAMMING)神經程式格(NEURAL PROGRAM LATTICES)神經-符號程式合成(Neuro-Symbolic Program Synthesis)使用一個可微分的 FORTH 直譯器程式設計(PROGRAMMING WITH A DIFFERENTIABLE FORTH INTERPRETER)使用分層生成卷積神經網路的無監督程式推導(Unsupervised Program Induction with Hierarchical Generative Convolutional Neural Networks)

    下面詳細介紹一下第一篇和第六篇,如果想了解其他論文,可在https://openreview.net/group?id=ICLR.cc/2017/conference上輸入論文名稱搜尋:

    論文:Deepcoder: Learning to Write Programs

    摘要:本文開發了一種使用輸入-輸出樣本的深度學習來解決程式設計競賽風格(programming competition-style)問題。該方法透過訓練神經網路來預測由輸入到輸出生成的程式屬性。本文使用神經網路的預測來增強在程式設計中進行搜尋的技術,其包括了列舉搜尋(enumerative search)和基於 SMT 的解算器(SMT-based solver)。實證表明,本文的方法可以在強非增強型基線(strong non-augmented baselines)和遞迴神經網路(Recurrent Neural Network)方法上產生一個數量級的加速,並且能夠解決和在程式設計競賽中比最簡單問題更復雜一些的問題。

    論文:Making Neural Programming Architectures Generalize via Recursion

    摘要:從經驗上講,試圖使用資料來學習程式設計的神經網路顯示出了較差的通用性。此外,當輸入的複雜度超過了閾值,就很難去推測這些模型的表現。為了解決這個問題,本文提議增加一個帶有關鍵抽象方法的增強神經架構——遞迴(recursion)。作為一個應用,本文在神經程式設計器-直譯器框架(Neural Programmer-Interpreter framework)中的兩個任務——新增和排序——上實現了遞迴,實現了在更少量的訓練資料下展示出了優越的泛化性和可解釋性。透過將問題劃分為一個個更小的部分,並且極大地減少每個神經網路元件域,這種方法也讓我們可以很容易去證明擔保整個系統的行為。根據經驗表明,為了讓神經架構更穩健地學習程式語義(program semantics),有必要引進一個遞迴這樣的方法。

    除了 ICLR 2017 收錄的 12 篇自主程式設計論文之外,據我所知還有其他兩篇論文推動了自主程式設計的重大進展,完整論文可在arXiv上查詢:

    論文:Deep API Programmer:Learning to Program with APIs

    摘要:本文提出了 DAPIP(Deep API Programmer/深度 API 程式設計器),這是一個可以根據示例程式設計(Programming-By-Example)的系統,其可以學習使用 API 來編寫執行資料轉換任務的程式。本文設計了一種領域特定語言(DSL:domain-specific language),允許 API 輸出和常量字串的任意拼接(concatenation)。該 DSL 由三個 API 系列組成:基於正則表示式的 API、查詢 API 和轉換 API。然後我們提出了一種全新的神經合成演算法(neural synthesis algorithm)來在該 DSL 中搜索與一個給定的示例集一致的程式。該搜尋演算法使用了最近引入的神經架構來編碼「輸入-輸出示例(input-output examples)」和建模在該 DSL 中的程式搜尋。本文的研究表明:在合成基準和真實世界基準上,該合成演算法在程式合成上的表現都優於基線方法。

    論文:RobustFill: Neural Program Learning under Noisy I/O

    摘要:在人工智慧發展的初期,有關自動生成計算機程式用於一些特定任務的嘗試就已開始了。最近有兩個自動學習程式的方式受到了人們的關注:1)神經程式生成,其中神經網路基於輸入/輸出(I/O)範例進行學習,並生成程式;2)神經程式歸納,其中神經網路透過隱藏的程式表示直接生成輸出。本文第一次在大體量真實世界學習任務中比較了兩種方式,同時也將這些方法與基於給定規則的程式生成方法進行了對比。本文的神經網路模型使用特定的 attention RNN 來處理不同大小的 I/O 配對集。本文的生成模型在真實世界資料的測試中達到了 92% 的準確率,而此前最好的神經網路生成方法只有 34% 準確率。生成模型的效能在這一測試中也優於歸納模型,但更重要的是本文證明了每種方法的效能高度依賴於評價標準和客戶端形式。最後,本文的研究證明了人們可以訓練神經網路模型在充滿噪音的真實世界資料(如包含錯字)中具有魯棒性,而手動編寫規則的系統完全無法與之相比。

  • 中秋節和大豐收的關聯?
  • PDD榮登福布斯精英榜,28歲成億萬富翁,加盟IG前的經歷令人唏噓,你有何看法?