LGAISEOct 13, 2019

Neural Program Synthesis By Self-Learning

arXiv:1910.05865v19 citations
Originality Incremental advance
AI Analysis

This addresses program synthesis for low-level code generation, though it appears incremental with specific algorithmic improvements.

The paper tackles neural program synthesis for generating assembly code matching CPU/RAM state changes, developing AutoAssemblet using self-learning reinforcement learning with policy/value networks and multi-entropy sampling. It shows significantly higher success rates on basic programming tasks compared to baselines.

Neural inductive program synthesis is a task generating instructions that can produce desired outputs from given inputs. In this paper, we focus on the generation of a chunk of assembly code that can be executed to match a state change inside the CPU and RAM. We develop a neural program synthesis algorithm, AutoAssemblet, learned via self-learning reinforcement learning that explores the large code space efficiently. Policy networks and value networks are learned to reduce the breadth and depth of the Monte Carlo Tree Search, resulting in better synthesis performance. We also propose an effective multi-entropy policy sampling technique to alleviate online update correlations. We apply AutoAssemblet to basic programming tasks and show significant higher success rates compared to several competing baselines.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes