強化学習で状態を定義する方法は?


14

私は強化学習とその変形を研究しています。私は、アルゴリズムがどのように機能し、MDPにどのように適用されるのかを理解し始めています。私が理解していないのは、MDPの状態を定義するプロセスです。ほとんどの例とチュートリアルでは、グリッド内の正方形などの単純なものを表しています。

ロボットの歩行学習など、より複雑な問題については、それらの状態をどのように定義しますか?学習または分類アルゴリズムを使用して、これらの状態を「学習」できますか?

回答:


14

強化学習(RL)の状態表現の問題は、教師あり学習または教師なし学習の特徴表現、特徴選択、特徴エンジニアリングの問題に似ています。

RLの基本を教えている文献では、すべての状態を列挙できるように、非常に単純な環境を使用する傾向があります。これにより、値の見積もりが表内の基本的なローリング平均に簡素化され、理解および実装が容易になります。表形式の学習アルゴリズムには、合理的な収束の理論的保証もあります。つまり、問題単純化して、たとえば数百万未満の状態にできるなら、これは試してみる価値があります。

最も興味深い制御問題は、たとえそれらを離散化しても、その数の状態に収まりません。これは、「次元の呪い」によるものです。これらの問題については、通常、ロボットのさまざまな位置、角度、機械部品の速度など、さまざまな機能のベクトルとして状態を表します。教師あり学習と同様に、特定の学習プロセスで使用するためにこれらを処理することもできます。たとえば、通常はすべて数値にする必要があります。ニューラルネットワークを使用する場合は、標準範囲(たとえば、-1から1)に正規化する必要もあります。

他の機械学習に適用される上記の懸念に加えて、RLでは、マルコフ特性にも注意する必要があります-状態が十分な情報を提供するため、予想される次の報酬とアクションが与えられた次の状態を正確に予測できます追加情報は必要ありません。これは完全である必要はありません。車輪付きロボットの空気密度や温度の変動などの小さな違いは、通常、ナビゲーションに大きな影響を与えず、無視できます。本質的にランダムな要素は、RL理論に固執している間は無視することもできます。エージェント全体の最適性が低下する可能性がありますが、理論は機能します。

結果に影響する一貫した未知の要因があり、論理的に推論できる場合-状態またはアクションの履歴から-状態表現からそれらを除外した場合、より深刻な問題が発生し、エージェントが学習に失敗する可能性があります。

ここで観察状態の違いに注意する価値があります。観測とは、収集できるデータです。たとえば、ロボットの関節の位置をフィードバックするセンサーを搭載している場合があります。状態はマルコフ特性を持つ必要があるため、単一の生の観測では適切な状態を作成するのに十分なデータではない可能性があります。その場合は、利用可能なデータからより良い状態を構築するためにドメイン知識を適用するか、部分的に観測可能なMDP(POMDP)向け設計された手法を使用できます-これらは状態データの欠落部分を効果的に構築しようとします統計的に。これにはRNNまたは隠しマルコフモデル(「信念状態」とも呼ばれます)を使用できますが、何らかの方法でこれは「あなたが求めたように、それらの状態を「学ぶ」ための学習または分類アルゴリズム

最後に、使用する近似モデルのタイプを検討する必要があります。ここでは、教師あり学習の場合と同様のアプローチが適用されます。

  • ドメインの知識に基づいて設計された機能を使用した単純な線形回帰は、非常に効果的です。線形近似が機能するように、さまざまな状態表現を試してみる必要があります。利点は、この単純なアプローチが非線形近似よりも安定性の問題に対してより堅牢であることです。

  • 多層ニューラルネットワークなど、より複雑な非線形関数近似器。より「生の」状態ベクトルを入力し、隠れ層が適切な推定につながる構造または表現を見つけることを期待できます。ある意味では、これも「これらの状態を「学習」するための学習または分類アルゴリズム」ですが、RNNまたはHMMとは異なる方法です。あなたの状態が画面イメージとして自然に表現されている場合、これは賢明なアプローチかもしれません-画像データの機能エンジニアリングを手で理解することは非常に難しいです。

DeepMindのことでアタリDQNの作業チームは、機能工学の組み合わせを使用し、その結果を達成するために、深いニューラルネットワークに依存します。機能エンジニアリングには、画像のダウンサンプリング、グレースケールへの縮小、およびマルコフ特性にとって重要なこととして、4つの連続したフレームを使用して単一の状態を表現し、オブジェクトの速度に関する情報が状態表現に含まれるようにしました。その後、DNNは画像を処理して、状態値についての予測に使用できるより高いレベルの機能を作成しました。


3

複雑な問題をモデル化するための一般的な初期アプローチは、離散化でしたでした。基本的なレベルでは、これは複雑で連続的な空間をグリッドに分割します。次に、離散的な線形のスペース用に設計された従来のRLテクニックを使用できます。ただし、ご想像のとおり、注意しないと、多くの問題が発生する可能性があります。

Sutton&Bartoの古典的な本であるReinforcement Learningには、これに関する他の方法に関する提案があります。1つはタイルコーディングで、新しい第2版のセクション9.5.4で説明されています。タイルコーディングでは、グリッド間隔がそれぞれ異なる多数のグリッドを生成します。次に、グリッドを互いの上に重ねます。これにより、不連続な領域の不均一な形状が作成され、さまざまな問題に適しています。

セクション9.5では、動径基底関数や粗いコーディングを含む、連続空間を個別のMDPにエンコードするさまざまな他の方法についても説明します。見てみな!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.