Hierarchical Programmatic Reinforcement Learning via Learning to Compose Programs

Guan-Ting Liu, En-Pei Hu, Pu-Jen Cheng, Hung-yi Lee, Shao-Hua Sun
1/30/2023
cs.LGcs.AIcs.PL

No official code found. Best implementation: NTURobotLearningLab/HPRL (7 stars, last commit 2023-11-18).

Abstract

Aiming to produce reinforcement learning (RL) policies that are human-interpretable and can generalize better to novel scenarios, Trivedi et al. (2021) present a method (LEAPS) that first learns a program embedding space to continuously parameterize diverse programs from a pre-generated program dataset, and then searches for a task-solving program in the learned program embedding space when given a task. Despite the encouraging results, the program policies that LEAPS can produce are limited by the distribution of the program dataset. Furthermore, during searching, LEAPS evaluates each candidate program solely based on its return, failing to precisely reward correct parts of programs and penalize incorrect parts. To address these issues, we propose to learn a meta-policy that composes a series of programs sampled from the learned program embedding space. By learning to compose programs, our proposed hierarchical programmatic reinforcement learning (HPRL) framework can produce program policies that describe out-of-distributionally complex behaviors and directly assign credits to programs that induce desired behaviors. The experimental results in the Karel domain show that our proposed framework outperforms baselines. The ablation studies confirm the limitations of LEAPS and justify our design choices.

View on arXivView PDF

Code Implementations(1)

Hierarchical Programmatic Reinforcement Learning via Learning to Compose Programs (ICML 2023)

77Shell, PythonMay 30, 20232 years ago

Similar Papers

Cite this paper

@article{liu2023hierarchical,
  title  = {Hierarchical Programmatic Reinforcement Learning via Learning to Compose Programs},
  author = {Guan-Ting Liu and En-Pei Hu and Pu-Jen Cheng and Hung-yi Lee and Shao-Hua Sun},
  year   = {2023},
  eprint = {2301.12950},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2301.12950v2},
  journal = {ICML 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.12950.svg)](https://codeofpaper.com/paper/2301.12950)

Discussion