どうも、カタミチです。
今日は、深層強化学習の2回目です。これまでは、深層強化学習の使い方としてゲームAIにフォーカスしていましたが、今回は、実システムへの応用の話ですね。
実システム制御への応用
深層強化学習をロボット制御に応用する際の課題
はい、ここで出てくるのは、ロボット制御への応用ですね。応用を考える場合は、以下のような、実世界の性質に起因する複数の課題に対処する必要があります。
まず1つ目の問題は、状態や行動を適切に設定する必要があるという点です。実世界では、状態や行動の数が指数的に増大するため学習が困難になるという、次元の呪い(curse of dimensionality)という問題があります。
この問題に対しては、価値関数や方策を関数近似することで対応します。特に、深層強化学習では、関数近似器としてディープニューラルネットワークを用います。ただし、ディープラーニングの特徴表現学習を十分に活用するためには、適切な手法の選択やモデル設計が必要になります。
なお、深層強化学習の文脈では、しばしば「状態」に関する特徴表現学習を指して、状態表現学習(state representation learning)と呼ぶことがあります。
次の問題は、報酬設計が難しいという問題です。最終状態でタスクが解けたかどうかのみを根拠にすると、途中の状態や行動に対する評価が無いため学習が困難になる可能性がありますが、一方、中間的な状態や行動に対して報酬を与えると、局所的な方策を学習してしまい、最終的に解かせたいタスクが遂行されない可能性があります。
実際に多くの場合で、報酬関数の設計と学習された方策の挙動の確認を繰り返して、適切に学習が行われるように報酬関数の作り込む報酬成形(reward shaping)が必要になります。
3つ目の問題は、サンプル効率が低い割にデータ収集コストが高いという問題です。そもそも強化学習は、明確に正確データが与えられる教師あり学習と異なり、報酬や価値といった弱い情報に基づいて学習を行っているため、多くのサンプルが必要になります。また、ロボットのハードウェアは高価で大量に用意することが難しいうえ、計算機上のシミュレーションとは異なり、実時間でしか動かせないため、データの収集コストが高くなりがちです。
…なんだか急に、実際の人間みたいになってきましたね。人件費を使って人を雇って、最初のうちは研修期間を設けて習熟してもらう、というようなイメージに近いですね。
4つ目の問題は、方策の安全性の確保が難しいという問題です。ロボットを用いた実世界では、ロボットが故障したり、周囲の環境や人間に危害を与えたりするリスクを伴うことがあります。そのため、実行する行動の安全性を担保する仕組みを導入する必要があります。これは非常にイメージがしやすいですね。
課題に対する解決策
これらの課題に対して、学習のためのデータの収集方法に関する工夫や、人間が環境やロボットに行わせたいタスクに関する事前知識(ドメイン知識(domain knowledge)を学習に組み込むための工夫が提案されています。
まずは、オフラインデータの活用です。事前に何らかの方法で集めたデータをオフラインデータと言いますが、これにより方策を学習するというものです。なかでも、模倣学習(imitation learning)とオフライン強化学習(offline reinforcement learning)は盛んに研究されているアルゴリズムです。
模倣学習は、人間が期待する動作をロボットに対して教示することで、ロボットが方策を学習する問題設定です。これらの教示はデモンストレーションと呼ばれ、ロボットを直接手で動かしたり、リモコンやVRインターフェースによる遠隔操作によって作成されます。人間が、手取り足取り教える…という感じですかね。
オフライン強化学習は、なんらかの方法によって収集された固定のデータセットがエージェントに与えられることを想定します。もし、良質な固定のデータセットが用意できるなら、安全性の観点からは非常に有用な方法でしょうね。
また、現実世界から解きたいタスクの重要な側面を切り出して、それを計算機上で再現するためのシミュレーションを活用した研究も多く行われています。シミュレータで学習した方策を現実世界に転移して利用する設定はsim2realと呼ばれています。この設定では、リアリティギャップ(reality gap)と呼ばれる、現実世界とシミュレータで再現された世界の間で差異が生まれてしまうため、各種パラメータをランダムに設定した複数のシミュレータを用いて生成したデータから学習するドメインランダマイゼーション(domain randomization)が活用されています。
また、残差強化学習(residual reinforcement learning)と呼ばれる手法もあります。これは、従来のロボット制御で用いられてきたような基本的な制御モジュールの出力と、実際にロボットがタスクを行う環境における最適な方策との差分を強化学習によって学習することを目指す手法です。
ここまでに出てきた深層強化学習の手法は、環境に関する知識を明示的に学習しないモデルフリー(model-free)の強化学習アルゴリズムでした。一方で、環境に関する予測モデルを明示的に活用しながら方策の学習を行う強化学習アルゴリズムは、モデルベース(model-based)強化学習と呼ばれ、研究が進められているようです。モデルベースの深層強化学習手法を用いると、モデルフリーの手法に比べてサンプル効率が向上するという報告があり、応用に期待がかかっています。特に、「エージェントが得られる情報を元に自身の周りの世界に関する予測モデルを学習して、方策の学習に活用する」枠組みは、世界モデル(world model)と総称されています。今後これが重要な概念になっていく…ということでした。
ということで
深層強化学習の実世界への応用については、まだまだ始まったばかり…という感じですね。この技術が発達することで、人類の肉体労働がより減少することは容易に想像が付きます。非常な楽しみな分野ですね!
一方、人類の方を仮想空間に適用させていくという考え方のメタバースというキーワードも最近世間を賑わわせています。ロボットが実世界に浸透していく方向性と、人類が仮想空間に適用していく方向性…。このあたりも、今後どうなっていくか非常に興味深いところですねー。
ではまた。
勉強に使ってる書籍はこちら↓
深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版