Memory Anchors for Continual Robot Learning
Organizations: Stanford University · Toyota Research Institute
Abstract
Robot policies deployed in the wild should have the capability to continually learn new tasks without forgetting existing behaviors. A common approach to combat such catastrophic forgetting is to train on new task data with a replay buffer of previously learned task data. Although this buffer is commonly sampled randomly from all prior experiences, we show that a small set of these experiences contributes greatly in anchoring past performance. We call these experiences Memory Anchors. We identify Memory Anchors in regions where representations of new-task observations collapse onto those of old-task observations even though the tasks require conflicting actions, like when a familiar object must be manipulated in a new way. Rehearsing old data in this region plays a key role in preventing destructive overwriting of past task knowledge, serving as this critical Memory Anchor role. Excluding only 10% Memory Anchors before sampling the buffer leads to more than a 4.5x increase in catastrophic forgetting on the LIBERO benchmark suites. Conversely, enriching the replay buffer with Memory Anchors can decrease high-conflict task forgetting by 63% and enables successful continual learning of two task sequences on a real robot. Videos and additional visualizations can be found at https://robot-adaptation.github.io/MemoryAnchors
Figures & tables
| Ours | MIR | GSS | Ours-ActionDis | RandER | |
|---|---|---|---|---|---|
| Avg. NBT | .11 .01 | .14 .01 | .17 .03 | .13 .01 | .18 .02 |
| Anchor Conc. | .27 | .13 | .08 | .25 | .10 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Access to Memory Anchors | FWT( ) | NBT( ) | AUC( ) | FWT( ) | NBT( ) | AUC( ) |
|---|---|---|---|---|---|---|
| LIBERO-Long | LIBERO-Spatial | |||||
| 100% ( RandER ) | 0.87 0.02 | 0.20 0.02 | 0.73 0.03 | 0.90 0.02 | 0.05 0.01 | 0.87 0.01 |
| 99% ( RandER -1%) | 0.86 0.02 | 0.17 0.02 | 0.74 0.02 | 0.90 0.02 | 0.07 0.02 | 0.85 0.02 |
| 95% ( RandER -5%) | 0.87 0.02 | 0.28 0.03 | 0.67 0.03 | 0.88 0.02 | 0.14 0.03 | 0.78 0.03 |
| 90% ( RandER -10%) | 0.86 0.02 | 0.34 0.04 | 0.63 0.04 | 0.90 0.01 | 0.33 0.04 | 0.66 0.04 |
| LIBERO-Object | LIBERO-Goal | |||||
| Method | FWT( ) | NBT( ) | AUC( ) | FWT( ) | NBT( ) | AUC( ) |
|---|---|---|---|---|---|---|
| LIBERO-Long | LIBERO-Spatial | |||||
| RandER | 0.85 0.02 | 0.25 0.02 | 0.67 0.03 | 0.88 0.01 | 0.18 0.02 | 0.75 0.01 |
| Anchor ER (10%) | 0.86 0.02 | 0.26 0.03 | 0.67 0.03 | 0.90 0.01 | 0.14 0.01 | 0.79 0.02 |
| Anchor ER (20%) | 0.87 0.02 | 0.27 0.03 | 0.68 0.03 | 0.88 0.02 | 0.16 0.02 | 0.76 0.02 |
| LIBERO-Object | LIBERO-Goal | |||||
| RandER | 0.96 0.01 | 0.05 0.01 | 0.92 0.01 | 0.92 0.01 | 0.18 0.03 | 0.79 0.03 |
| Task Interaction | Mean |
|---|---|
| put the cream cheese in the bowl put the bowl on the plate | 0.240 |
| put the bowl on top of the cabinet put the wine bottle on top of the cabinet | 0.240 |
| put the wine bottle on the rack turn on the stove | 0.180 |
| open the top drawer and put the bowl inside put the wine bottle on top of the cabinet | 0.180 |
| turn on the stove open the middle drawer of the cabinet | 0.120 |
Continual Robot Learning
Continual robot learning develops robots that acquire new skills and adapt to changing conditions while retaining previously learned behavior.
See all 89 papers