エネルギー関数を用いたOpenAIの概念学習
OpenAIは、エージェントがエネルギー関数を用いて概念を学習・抽出する手法を導入し、学習した概念を再訓練なしで全く異なる領域のタスクに適用できるようにしました。この能力により、2次元の粒子環境で学んだ概念などの知識を、3次元の物理ベースロボット環境へ転送することが可能になります。
エネルギーに基づく概念表現
このアプローチの核心は、概念をエネルギーモデルとして数学的に表現することです。物理的直感に基づき、これらのモデルは観測された事象や状態を低エネルギー構成として扱います。
エネルギー関数 $E(x, a, w)$ は、各概念に対して以下の3つの要素に基づいて定義されます。
- 世界の状態 ($x$): エンティティとその属性・位置から構成される観測環境。
- 注意マスク ($a$): モデルを特定のエンティティ集合に集中させる「識別」メカニズム。
- 条件ベクトル ($w$): エネルギーを計算する対象概念を指定する連続値ベクトル。
エネルギーモデルは単一の正の数値を出力します。エネルギーがゼロのとき概念は満たされたとみなされ、エネルギーが高いほど概念が満たされていないことを示します。満足するためには、注意マスクが正しい位置にあるエンティティに焦点を合わせ、かつ正しいエンティティが識別されている必要があります。
ニューラルネットワークのアーキテクチャとトレーニング
入力として任意数のエンティティを扱うため、エネルギー関数はリレーショナルネットワークアーキテクチャに基づくニューラルネットワークとして構築されます。トレーニング手順ではこのエネルギー関数のパラメータを最適化し、他の関数は暗黙的に導出されます。
トレーニングプロセス
モデルは、特定の概念に対して生成された(注意マスク、状態)の軌跡を用いてトレーニングされます。トレーニングプロセスは以下を含みます。
- デモンストレーション: モデルには、特定の概念セットに対して通常5つのデモが与えられます。
- 予測: 新しい環境 ($X_0$) が与えられたとき、モデルは次の状態 ($X_1$) と次の注意マスク ($a$) を予測します。
- 最適化: トレーニングデータで得られた次の状態と次の注意マスクに低エネルギー値が割り当てられるようにエネルギー関数を最適化します。
変分オートエンコーダと同様に、モデルはタスクの側面を効果的に圧縮する値を学習するようインセンティブが与えられます。
能力とクロスドメイン転送
このアーキテクチャにより、単一のネットワークが生成と認識の両方を実行できます。この二重の能力により、生成で学んだ概念を識別に、またはその逆に転用することが可能になります。
概念タイプと評価
システムは、以下の概念タイプを含むタスク群で評価されました。
- 視覚的: 例として「赤」や「四角形」など。
- 空間的: 例として「内部」や「上に」など。
- 時間的: 例として「遅い」や「後」など。
- 社会的: 例として「攻撃的」や「協力的」など。
- 定量化: 数量(1、2、3、または3以上)や近接性に関する判断。
モデルは、特定の空間関係を分類・生成し、異なる環境間でシーン内のエンティティを特定の方法でナビゲートする能力を示しました。