当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Learning to Synthesize Programs as Interpretable and Generalizable Policies
arXiv - CS - Programming Languages Pub Date : 2021-08-31 , DOI: arxiv-2108.13643
Dweep Trivedi, Jesse Zhang, Shao-Hua Sun, Joseph J. Lim

Recently, deep reinforcement learning (DRL) methods have achieved impressive performance on tasks in a variety of domains. However, neural network policies produced with DRL methods are not human-interpretable and often have difficulty generalizing to novel scenarios. To address these issues, prior works explore learning programmatic policies that are more interpretable and structured for generalization. Yet, these works either employ limited policy representations (e.g. decision trees, state machines, or predefined program templates) or require stronger supervision (e.g. input/output state pairs or expert demonstrations). We present a framework that instead learns to synthesize a program, which details the procedure to solve a task in a flexible and expressive manner, solely from reward signals. To alleviate the difficulty of learning to compose programs to induce the desired agent behavior from scratch, we propose to first learn a program embedding space that continuously parameterizes diverse behaviors in an unsupervised manner and then search over the learned program embedding space to yield a program that maximizes the return for a given task. Experimental results demonstrate that the proposed framework not only learns to reliably synthesize task-solving programs but also outperforms DRL and program synthesis baselines while producing interpretable and more generalizable policies. We also justify the necessity of the proposed two-stage learning scheme as well as analyze various methods for learning the program embedding.

中文翻译:

学习将程序综合为可解释和可推广的策略

最近,深度强化学习(DRL)方法在各种领域的任务上取得了令人印象深刻的表现。然而,使用 DRL 方法生成的神经网络策略不是人类可解释的,并且通常难以推广到新场景。为了解决这些问题,先前的工作探索了更具可解释性和结构化的学习程序化政策。然而,这些工作要么采用有限的策略表示(例如决策树、状态机或预定义的程序模板),要么需要更强的监督(例如输入/输出状态对或专家演示)。我们提出了一个框架来学习合成一个程序,它详细说明了以灵活和富有表现力的方式解决任务的过程,仅从奖励信号。为了减轻学习编写程序以从头开始诱导所需代理行为的难度,我们建议首先学习一个程序嵌入空间,该空间以无监督的方式连续参数化不同的行为,然后搜索学习的程序嵌入空间以产生一个程序最大化给定任务的回报。实验结果表明,所提出的框架不仅学会了可靠地合成任务解决程序,而且在生成可解释和更通用的策略的同时,也优于 DRL 和程序合成基线。我们还证明了所提出的两阶段学习方案的必要性,并分析了学习程序嵌入的各种方法。我们建议首先学习一个程序嵌入空间,该空间以无监督的方式连续参数化不同的行为,然后搜索学习到的程序嵌入空间以产生一个最大化给定任务回报的程序。实验结果表明,所提出的框架不仅学会了可靠地合成任务解决程序,而且在生成可解释和更通用的策略的同时,也优于 DRL 和程序合成基线。我们还证明了所提出的两阶段学习方案的必要性,并分析了学习程序嵌入的各种方法。我们建议首先学习一个程序嵌入空间,该空间以无监督的方式连续参数化不同的行为,然后搜索学习到的程序嵌入空间以产生一个最大化给定任务回报的程序。实验结果表明,所提出的框架不仅学会了可靠地合成任务解决程序,而且在生成可解释和更通用的策略的同时,也优于 DRL 和程序合成基线。我们还证明了所提出的两阶段学习方案的必要性,并分析了学习程序嵌入的各种方法。实验结果表明,所提出的框架不仅学会了可靠地合成任务解决程序,而且在生成可解释和更通用的策略的同时,也优于 DRL 和程序合成基线。我们还证明了所提出的两阶段学习方案的必要性,并分析了学习程序嵌入的各种方法。实验结果表明,所提出的框架不仅学会了可靠地合成任务解决程序,而且在生成可解释和更通用的策略的同时,也优于 DRL 和程序合成基线。我们还证明了所提出的两阶段学习方案的必要性,并分析了学习程序嵌入的各种方法。
更新日期:2021-09-01
down
wechat
bug