Neural Program Synthesis By Self-Learning
Authors: Yifan Xu, Lu Dai, Udaikaran Singh, Kening Zhang, Zhuowen Tu
Keywords: Neural Program Synthesis, Reinforcement Learning, Deep learning, Self-Learning
TL;DR: We develop a neural program synthesis algorithm,AutoAssemblet, to explore the large-scale  code  space  efficiently  via  self-learning  under  the  reinforcement  learning  (RL)  framework.
Abstract: 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. 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.