Policy Architectures for Compositional Generalization in Control
About
Many tasks in control, robotics, and planning can be specified using desired goal configurations for various entities in the environment. Learning goal-conditioned policies is a natural paradigm to solve such tasks. However, current approaches struggle to learn and generalize as task complexity increases, such as variations in number of environment entities or compositions of goals. In this work, we introduce a framework for modeling entity-based compositional structure in tasks, and create suitable policy designs that can leverage this structure. Our policies, which utilize architectures like Deep Sets and Self Attention, are flexible and can be trained end-to-end without requiring any action primitives. When trained using standard reinforcement and imitation learning methods on a suite of simulated robot manipulation tasks, we find that these architectures achieve significantly higher success rates with less data. We also find these architectures enable broader and compositional generalization, producing policies that extrapolate to different numbers of entities than seen in training, and stitch together (i.e. compose) learned skills in novel ways. Videos of the results can be found at https://sites.google.com/view/comp-gen-rl.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Push and Switch | OpenAI Fetch - Push and Switch 3-Push + 3-Switch (S+O) (test) | Success Rate32.4 | 18 | |
| 3-Push | Push & Switch | Success Rate97.2 | 9 | |
| 2-Push | Push & Switch | Success Rate98.5 | 9 | |
| 3-Switch | Push & Switch | Success Rate87.9 | 9 | |
| Push | OpenAI Fetch Push 3-Push (L+O) (test) | Success Rate90.7 | 9 | |
| Switch | OpenAI Fetch Switch 2-Switch (L) (test) | Success Rate91.2 | 9 | |
| 2-Switch | Push & Switch | Success Rate95.4 | 9 | |
| Push | OpenAI Fetch Push 2-Push (L) (test) | Success Rate94.1 | 9 | |
| Push and Switch | OpenAI Fetch - Push and Switch 2-Push + 2-Switch (S) (test) | Success Rate49.8 | 9 | |
| Push and Switch | OpenAI Fetch - Push and Switch 2-Push + 2-Switch (L+S) (test) | Success Rate38.4 | 9 |