[论文解读] Learning to Synthesize Programs as Interpretable and Generalizable Policies
该论文提出LEAPS,一种两阶段框架,仅使用奖励信号即可学习可解释、可泛化的强化学习程序策略。首先,从无监督的程序-奖励配对中学习连续的程序嵌入空间;然后,在该空间中使用基于CEM的搜索发现解决任务的程序,在Karel领域中优于深度强化学习(DRL)和程序合成基线方法,同时实现了人类可解释性与对未见配置的泛化能力。
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)策略缺乏可解释性和泛化能力的问题。
- 在无需专家示范或输入/输出对的情况下,仅从稀疏奖励信号中实现程序合成。
- 开发一种灵活且表达力强的程序表示方法,支持循环和条件语句以实现复杂行为。
- 构建一个可重用的连续潜在空间,以实现对程序结构的高效搜索。
- 证明所学程序在更大且未见过的状态配置上具有泛化能力,同时保持人类可编辑性。
提出的方法
- 通过变分自编码器(VAE)结合可微分程序解码器,对随机生成的程序及其在环境中诱导的行为进行自编码,学习连续的程序嵌入空间。
- 采用两阶段训练:首先在无监督程序-奖励重建任务上预训练程序VAE,然后使用策略梯度目标进行微调。
- 在学习到的潜在空间中使用CMA-ES(CEM)进行搜索,以找到在给定MDP任务中最大化回报的程序。
- 引入一种程序解码器,利用基于Transformer的序列模型从潜在向量重建可执行代码。
- 应用课程学习和奖励塑形以提高训练稳定性和样本效率。
- 在无需重新训练的情况下,跨多个任务复用预训练的程序嵌入空间。
实验结果
研究问题
- RQ1能否仅从奖励信号中学习程序嵌入空间,而无需专家监督或输入/输出对?
- RQ2与端到端训练相比,两阶段学习方案(无监督预训练后接基于奖励的搜索)是否能提升样本效率和策略性能?
- RQ3所学程序策略是否能泛化到更大的状态空间和训练分布之外的未见环境配置?
- RQ4不同程序表示方式(如是否包含循环和条件语句)如何影响策略性能和可解释性?
- RQ5所合成的程序在多大程度上可被人类理解并编辑以提升任务性能?
主要发现
- LEAPS在所有Karel任务的10个随机初始配置上均达到100%成功率,包括STAIRCLIMBER和FOURCORNER等复杂任务,而DRL方法在此类任务中失败。
- 在CLEANHOUSE和HARVESTER任务中,LEAPS在成功率和样本效率方面均优于DRL、HRL、VIPER及程序合成基线方法,其中DRL智能体未能学习到有意义的行为。
- 消融实验表明,两阶段学习方案至关重要:在潜在空间中进行随机搜索(LEAPS-rand)未能找到有效策略,而基于学习空间的CEM搜索则成功找到了有效策略。
- LEAPS合成的程序可泛化至更大的状态空间(如10倍大的迷宫)和未见过的配置,证明其在训练数据之外具有稳健的泛化能力。
- 人类用户能够理解并编辑LEAPS生成的程序以提升性能,证实了该方法的可解释性和可编辑性。
- 该框架在M1上完整训练仅需8.8GB GPU内存和104小时,每次任务的推理通过CEM搜索耗时不足10分钟。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。