[論文レビュー] Learning to Synthesize Programs as Interpretable and Generalizable Policies
本稿では、報酬信号のみを用いて解釈可能で一般化可能なプログラム的方策を学習する二段階フレームワーク、LEAPSを提案する。まず、教師なしのプログラム-報酬ペairから連続的プログラム埋め込み空間を学習し、次にその空間上で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を事前学習し、次にポリシー勾配の目的関数を用いて微調整する。
- 与えられたMDPタスクの報酬を最大化するプログラムを発見するために、学習済み潜在空間上でCMA-ES(CEM)を用いて探索する。
- 潜在ベクトルから実行可能コードを再構成するためのプログラムデコーダを導入し、変換器ベースのシーケンスモデルを用いる。
- 訓練の安定性とサンプル効率を向上させるために、カリキュラム学習と報酬形状化を適用する。
- 再訓練なしに、複数のタスク間で事前学習済みのプログラム埋め込み空間を再利用する。
実験結果
リサーチクエスチョン
- RQ1エキスパートの監視や入力/出力ペアなしに、報酬信号のみからプログラム埋め込み空間を学習できるか?
- RQ2教師なし事前学習に続く報酬ベース探索という二段階学習スキームは、エンドツーエンド学習と比較してサンプル効率と方策性能を向上させるか?
- RQ3学習済みプログラム方策は、学習分布外のより大きな状態空間や未確認の環境設定に対しても一般化可能か?
- RQ4ループや条件分岐の有無を含む異なるプログラム表現は、方策性能と解釈可能性にどのように影響するか?
- RQ5合成されたプログラムは、人間が性能向上のために解釈・編集可能か、その程度はどの程度か?
主な発見
- LEAPSは、STAIRCLIMBER や FOURCORNER といった複雑なKarelタスクにおいても、10個のランダムな初期設定すべてで100%の成功率を達成した。DRL手法では失敗したタスクであった。
- CLEANHOUSE や HARVESTER においても、DRLエージェントが意味のある行動を学習できなかったにもかかわらず、LEAPSは成功率100%を達成し、DRL、HRL、VIPER、およびプログラム合成ベースラインをすべて上回った。
- アブレーションスタディの結果、二段階学習スキームが不可欠であることが示された:潜在空間上でランダム探索を行うLEAPS-randは有効な方策を発見できなかったが、学習済み空間上でCEM探索を実行した場合に成功した。
- LEAPSが合成したプログラムは、より大きな状態空間(例:10倍大きな迷路)や未確認の設定に対しても一般化可能であり、学習データを超える強力な一般化能力を示した。
- 人間のユーザーがLEAPSが生成したプログラムを解釈・編集し、性能向上に成功した。これにより、本手法の解釈可能性と編集可能性が裏付けられた。
- フレームワークはM1上で全訓練に8.8GBのGPUメモリと104時間を要し、CEMによる推論は1タスクあたり10分未塔であった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。