VFS: Value Functionを使ったLong-Horizon Taskに効果的なRerepsentation
3つの要点
✔️ Low-level skillのValue functionから成り立つrepresentation、Value Functional Spaceの提案
✔️ Model-free RLとModel-Based RLにおいてBaseline手法と比較して高い成功率を示した
✔️ Model-free RLの実験にて未知の環境に対しても高い汎化性能を示した
Value Function Spaces: Skill-Centric State Abstractions for Long-Horizon Reasoning
written by Dhruv Shah, Peng Xu, Yao Lu, Ted Xiao, Alexander Toshev, Sergey Levine, Brian Ichter
(Submitted on 4 Nov 2021 (v1), last revised 29 Mar 2022 (this version, v2))
Comments: Accepted to ICLR 2022
Subjects: Machine Learning (cs.LG); Artificial Intelligence (cs.AI); Robotics (cs.RO)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
背景
Reinforcement Learning (RL, 強化学習)は様々な複雑なタスクを学習して解くことが出来るようになってきていますが、そのパフォーマンスはタスクを解くために要する時間(horizon)がながければ長くなるほど、パフォーマンスが落ちてしまいます。Hierarchical RL (階層型強化学習)では、それらのhorizonが長いタスクに対して、low-level skillsと呼ばれるhorizonが短いスキル(ロボットにおけるものを掴む、置くなどのスキル等)を抽象化されたaction(action abstraction)として用いることで解く取り組みがあります。またこのHierarchical RLはstate abstraction自体も向上させることが出来ることができます。
本論文では、state abstractionは、low-level skill policyのその環境の状態下におけるスキルの実行能力によって決まるものと考え、RLによって学習されたlow-level skill policyのvalue function (価値関数)をstate abstractionとして利用するValue Function Spacesというものを提案しました。
本論文では、このValue function spacesを用いることでlong-horizon tasksにおけるパフォーマンスがmodel-freeとmodel-based共に向上することを示し、またzero-shot generalizationにおけるパフォーマンスも従来の手法と比較して向上したことを示しました。
では、以下の章にて詳しい手法や実験について紹介していきます。
手法
RLにおけるvalue functionはアフォーダンスととても密接な関係であると考えることができ、value functionは学習されたスキルの実行可能性を示しています。この性質を利用して、low-level skillのアフォーダンスを表すskill value functionで成り立っているその環境のstateのskill-centric representationを作り、high-level planningを行うというものが、本論文における主な手法の概要になります。ではこの章を通して詳しい手法について説明していきます。
まず前提として、それぞれのskillはsparse rewardにより学習され、それぞれのvalueの最大値が1となるようにしています。semi-Markov Decision Process (SMDP) $M(S, O, R, P, \tau, \gamma)$を仮定し、k個のスキルが学習されている場合、各スキルのvalue function $V_{o_{i}}$を用いて、skill-centric representationはk次元のrepresentation $Z(s_{t}) = [V_{o_{1}}(s_{t}), V_{o_{2}}(s_{t}),..., V_{o_{k}}(s_{t})]$として表すことが出来ます。本論文ではこのrepresentationをValue Function Spaces (VFS)と呼びます。
以下の図は、デスクのrearrangementタスクにおける、stateの抽象化について表しています。まず、画像などのobservationが、8つのskillから成り立つ8次元のvalue functionのtupleに抽象化されます。このrepresentationは場所に関する情報も保持しており、例えば、引き出しが閉まっていれば、タスクが完了しているため該当するskillのvalueが1となります。それに加えて、interactionにおける前提条件 (例えば"Pick"のスキルのvalueが高いということは2つのブロックが持ち上げることが出来る状態になっているなど)、そして実行可能なスキルを実行した際の効果("Open drawer"のスキルを$t_{1}$時に実行した際にそのvalueが上昇するなど)をVFSが情報として含んでおり、high-level planningにとても適していると考えることが出来ます。
また、VFSはskill-centricなrepresentationであるため、背景のdistractorやタスクに関係ない情報を仮に環境に対してもロバストである特徴があります。よって、VFSは未知の環境に対しても適応することが出来ると考えられ、本論文ではその効果についても評価しました。下図は、同様にdesk rearrangementタスクの例を表しており、画像的な情報としては異なりますが、VFSの観点からでは同様の状態を表しており、これらの状態を"functionally equivalent"と考えられます。つまり、赤いキューブが引き出しの中にあり青いキューブが机の上にのどこにあったとしてもskillの観点ではどれも同じ状態であるということです。
本研究では、mode-freeとmodel-based RLの両方においてVFSを評価しました。以下の章ではmodel-freeとmodel-based RLそれぞれにおいて、どのようにVFSが利用することが出来るかを紹介するとともに、実験の結果について紹介します。
Model-Free RL + VFS
Model-free RLではHierarchical RLを用いて評価をしました。VFSはhigh-level policyのobservationとして利用され、low-level policytとしては予め学習されたそれぞれのskillを利用します。実験ではlong-horizonタスクにおけるパフォーマンスの比較を行いました。
High-level policyはDQNを利用してQ-function $Q(Z, o)$を学習し、high-level policyは$\pi_{Q}(Z) = argmax_{o_{i}} Q(Z, o_{o})$とすることで得ることが出来ます。この学習の際は、replay bufferからVFSのミニバッチ$(Z_{t}, o_{t}, r_{t}, Z_{t+1})$がサンプリングされ、以下の誤差関数を最適化することでQ-functionを得ます。
$$L=\mathbb{E} (Q(Z_{t}, o_{t}) - y_{t})^{2}$$
ここで、$y_{t}=r_{t} + \gamma max_{o_{t'}}Q(Z_{t+1}, o_{t'})$とします。ただし、本論文では学習を更に安定化させるためにDDQNと呼ばれる派生アルゴリズムを実際には使用しました。
VFSをLong-horizonタスクのパフォーマンスに関して異なるrepresentation learningの手法と比較するために、本論文ではMiniGridという環境において2つのタスク、
- MultiRoom: 異なる大きさの最大10の部屋から成り立つ迷路を解いてゴールにたどり着くタスク
- KeyCorridor: 最大7つの部屋の先にあるゴールに到達するタスクで鍵が掛かっているドアを開けるためにagentは鍵を探さなければならないタスク
に関して評価をしました。どちらのタスクも報酬はsparseでゴールに到達した際にのみ報酬が与えられます。
これらのタスクのlow-level skillとしては、GoToObject, PickupObject, DropObject, UnlockDoorが与えられます。
Baselineの手法として以下の手法を利用しました。
- Raw Observations
- Autoencoder (AE)
- Contrastive Predicting Coding (CPC)
- Online Variational Autoencoder
- Contrastive Unsupervised Representations for RL (CURL)
下の表は実験の結果を表しています。まずはじめに、raw observationからhigh-level policyを学習した場合、部屋数が2つのの場合$64\%$の成功率を示しているにも関わらず、部屋数が増えることによって成功率が大きく下がり、特に10部屋の場合の成功率は$29\%$という低い成功率を示しました。また、AEとCPCのパフォーマンスは、raw observationsの場合と比較して成功率が向上していますが、representationがhigh-level policyの目的関数と独立して学習されているものなので、依然として低い成功率を示しています。VAEとCURLの場合、high-level policyの目的関数と同時に学習を行っているので、AEやCPCと比較すると成功率は上がっていますが、学習したrepresentationが直接的にタスクに及ぼす影響が小さいためか成功率が低くなっていると考えられます。それに対して、VFSの場合、ほとんどのタスクでbaselineの手法のパフォーマンスを上回っており、これはlow-level policyのskillの実行能力を明確に捉えることにより、representationがタスクに直接与える影響を最大限活用することが出来たからであると考えられます。
下図は、VFSを用いてタスクを解くことに成功した場合の軌跡を表しています。
未知の環境に対する汎化性能
本章では最後に、未知の環境に対してVFSが有効であるかどうかを評価しました。本実験では、下図左のように、KeyCorridorで学習したpolicyをMultiRoomにて実行し、どの程度の成功率を示すかを評価しました。結果は下図右の表にまとめられており、baselineの手法ではAPやCPCがMR4において$47\%$の成功率を示していますが、MR10では更に低い$20\%$程度の成功率を示しています。VAEやCURLでは逆に成功率が更に落ちており、これはRL policyと同時に学習されてrepresentationがKeyCorridorの環境にoverfitしてしまったことが原因であると考えられます。これらに対して、VFSの場合、zero-shot generalizationに成功しており、MR4では$87\%$、MR10では$67\%$という他の手法と比較して高い成功率を示しました。これらの成功率は、MultiRoomの環境において学習されたベースラインであるHRL-targetと比較しても近いパフォーマンスを示しています。
Model-based RL + VFS
本章では、VFSをplanningのためのstateとして利用するmodel-based RLに対する応用について紹介します(VFS-MB)。本論文では$Z_{t+1} = \hat{f}(Z_{t}, o_{t})$というone-step predictiveを教師あり学習を用いて学習しました。そしてタスクを解くために、タスクのゴールのrepresentationである$Z_{g}$とコスト関数$\epsilon$を用いて最適なskillのsequence $(o_{t}, ...,o_{t+H-1})$を求めるために以下の最適化問題をときます。
$$(o_{t}, ...,o_{t+H-1}) = argmin_{o_{t}, ...,o_{t+H-1}} \epsilon(\hat{Z}_{t+H}, Z_{g}) : \hat{Z_{t}} = Z_{t}, \hat{Z}_{t'+1} = \hat{f}(\hat{Z}_{t'}, o_{t'})$$
そして、planningを行うために、本論文ではsampling-based methodを利用して上記の最適化問題を解きました。具体的にはrandom shootingを用いてランダムにk個の候補となるoption sequence $(o_{t}, o_{t+1},...)$を生成し、学習した$\hat{f}$を用いてそれぞれに対応する$Z$のsequenceを予測します。そしてk個の候補の中から一番ゴールに近いものを選択し、model-predictive controlを利用してpolicyを実行します。この際に生成したsequenceのうち、一番最初のskillである$o_{t}$のみを実行します。下図はこれらの概要図を表しています。
評価
本論文では以下のような8DoF robotを用いた物体のrearrangementタスクにおいて評価を行いました。Model-free RLにおける実験と同様に、予めlow-level policyは学習していある前提で、本実験の場合"MoveANearB"というskill、つまり物体AをBの近くまで動かすというskillが用意されています。本実験では、10個の物体とそして9つの物体の移動先があることから、合計で90のskillが利用されます。またpolicyのobservationとして下図のような画像情報のみが与えられます。
Baselineの手法としては、VAEとCPCが用いられ、各手法ごとに20回評価を行い成功率が結果が下図右にまとめられています。下図右の表の通り、VFSが他の手法と比較して高い成功率を示していることから、そのシーンの情報とskillのアフォーダンスを含んだ効果的なrepresentationを提供することが出来ていることが伺えます。また、画像情報を入力として受け取る代わりに、低次元のstateを入力とした場合のoracle baselineと比較しても同じような成功率を示すことが分かりました。
最後に、VFSによってどのような要素が捉えられているかを調べるために、t-SNEを用いて下図のようにrepresentationを可視化しました。下図の異なる色の範囲では、チョコレートがテーブルの上にある状態で異なる物体がロボットのアームによって掴まれている状態を表しています。これらのことから、VFSが物体の情報を掴むことに成功していることが伺えます。
まとめ
本記事では、low-level skillのvalue functionをrepresentationとして用いることで、long-horizonなタスクの成功率の向上や未知の環境に対する汎化性能の改善をすることが出来るとてもシンプルな手法について紹介しました。今後考えられる方向性として、VFSの考え方を利用してunsupervised skill discoveryをunsupervised representation learning methodどして利用するなどが考えられます。Long-horizon taskは日常にありふれているタスクであるので、その重要度からも今後より多くのlong-horizon taskに対する論文が増えていくと考えられます。
この記事に関するカテゴリー