「Hindsight Experience Replayを用いたNEAT」

NEAT with Hindsight Experience Replay

数週間前にUnityでNEATを実装した後、その性能を向上させる方法を考えてみました。

以前、強化学習アルゴリズムで使用される新しいテクニックであるHindsight Experience Replayについて読んだことを思い出しました。このテクニックでは、エージェントが到達した失敗状態も、成功したかのように追跡して学習します。

最初はあまり重要視していませんでした。NEATが採用している種分化の方法により、1つの集団は多くの異なる方向でドメインを探索することができます。つまり、1つの種がドメインの特定の領域を探索して収集した経験は、その種の外のゲノムには適用されないということです。しかし、その時に考えたのは、各種が別々の経験のリストを維持するとどうなるか、ということでした。

私はすぐに自分のアイデアをテストするために行動に移しました。

テスト環境

環境は次のように設定されます:

Source: Image by the Author

エージェントは左下に生成され、左上の星に到達する必要があります。エージェントは下の2つのプラットフォームに着地するための十分な高さまでジャンプすることができます。

エージェントは次のように見えます。

Source: Image by the Author

入力として、エージェントは次を受け取ります(正規化されています):

ゴールの位置とエージェントの位置の差

エージェントの位置

エージェントのy軸速度

エージェントが地面にいてジャンプできるかどうか

エージェントの周りの円状に配置された16本のレイキャストの結果。レイキャストは最も近いプラットフォームまでの距離を返します。

出力として、エージェントは次を与えます:

左に移動するかどうかを示す出力(<0.5)

ジャンプするかどうかを示す出力(>0.5)

設定

各世代の25%は単為生殖によって作成されました。交差で生成される世代の一部には35%の突然変異の確率がありました。各種の最良の2つのゲノムは変更されず、異種間の交差の確率は5%でした。初期世代には2000個のゲノムがあり、最初のプラットフォームを登る能力を持つメンバーが十分にいましたが、その後の世代では500個のゲノムのみとなりました。500世代以内に星に到達するエージェントが見つからない場合、集団は失敗と見なされます。

Hindsight Experience ReplayはNEATとの互換性を確保するために少し調整が必要でしたが、最終的には次のような戦略に落ち着きました:

各世代の終わりに、次の基準を満たす各ゲノムから目標/経験(ゴールの位置が空中に浮いていないことを確認するため)をサンプリングします:

  1. サンプルは開始地点よりも少し上にジャンプするため、下部でサンプルが行われないようにします。
  2. サンプルはサンプリングされた他のゴールから一定の距離離れていること。

目標は各ゲノムの種に追加され、各種は別々の目標のリストを維持します。

新しい世代が作成されると、各種に対してゴールリストから2つの目標を割り当てます。ただし、成功率が最も高いゴールが最も割り当てられにくいようにします。なお、新しくサンプリングされた目標は成功率0%と見なされます。各世代は実際の目標に対して1回、サンプリングされた目標に対して2回評価されます。

フィットネスは次の2つの値で計算されます:

(開始距離-最も近い距離)/開始距離

目標に近づいたエージェントを報酬するため

(開始距離-終了距離)/終了距離

目標に近く停留するエージェントを報酬するため

エージェントが長時間底にとどまる場合は、シミュレーションから削除され、ペナルティが与えられます。これは主に評価を加速させるためです。

NEAT with HERでは、報酬は立方され、良い解と悪い解の差を増幅します。これらの値は、エージェントがゴールから遠ざかる場合には負になる可能性があります。

各種は2つの初期サンプル(青いダイヤモンドで表される)を与えられ、3回評価されることを保証するために与えられましたが、後で考えるとこれは必要ありませんでした(ひどいジョークについてはごめんなさい)。出典:作者の画像

結果

距離報酬のみを使用した標準的なNEATは、この問題で6回中6回失敗しました。NEATは、問題を解決するためには偶発的な突然変異の連鎖が初期段階で重要であるという点で非常に頼りにしています。しかし、それができない場合、左側のプラットフォームを登っても先に進むことができません。

標準的なNEATは一向に高くならない

一方、HERを使用したNEATは比較的うまく機能します。中央値で問題を解決するために149世代(標準偏差:90)がかかり、一度も失敗しませんが、最悪の試行では415世代がかかりました。興味深いことに、HERを使用したNEATは新奇性探索のように展開されました:割り当て方法により、より早期のサンプルが稀になるとエージェントは環境の新しく到達しにくい領域を探索する必要がありました。重要なことは、目標のゴールが偶然に見つかったようですが、さらなるトレーニングでエージェントにステップのシーケンスを覚えずに環境の任意のポイントに到達する方法を教えることができるかもしれません。

サンプルされた目標は探索を促進し、早期収束の可能性を減らします。

ただし、この成果を過大評価しないことが重要です。エージェントのy値に基づいて報酬を与える報酬関数を使用すると、標準的なNEATは中央値で94世代(標準偏差:36)で解決し、評価時間も少なくなりますが、一度失敗します。

結論

HERを使用したNEATは、フィットネス関数を手動で操作せずに一般化と難しい問題の成功を控えめに促進することができます。ただし、これには評価時間の増加と収束の遅さのコストがかかります。興味深いことに、明示的な目標なしでこの方法でエージェントを訓練することも可能かもしれません。もちろん、各種にはトレーニングするために少なくとも1つのサンプル目標が必要ですが、それ以上に、サンプリングと割り当ての戦略は、明示的な目標の有無に関係なく、ドメインの探索を促進します。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

魚の養殖スタートアップ、AIを投入して水産養殖をより効率的かつ持続可能にする

海洋生物学の学生だったJosef Melchnerは、イルカ、クジラ、魚を探すために毎日海をクルーズすることを常に夢見ていましたが...

機械学習

「なんでもセグメント:任意のオブジェクトのセグメンテーションを促す」

今日の論文解説はビジュアルになります!私たちはMetaのAI研究チームによる論文「Segment Anything」を分析しますこの論文は...

データサイエンス

「限られた訓練データで機械学習モデルは信頼性のある結果を生み出すのか?ケンブリッジ大学とコーネル大学の新しいAI研究がそれを見つけました...」

ディープラーニングは、音声認識から自律システム、コンピュータビジョン、自然言語処理まで、人工知能の中で強力で画期的な...

AIテクノロジー

フリートテクノロジーのためのAI駆動エッジインサイトの実装

「エッジインサイトをフリートテクノロジーに導入し、効率と安全性を向上させ、ドライバーとフリートマネージャーにほぼリア...

機械学習

マルチモーダル言語モデル:人工知能(AI)の未来

大規模言語モデル(LLM)は、テキストの分析や生成などのタスクをこなすことができるコンピュータモデルです。これらは膨大な...

AI研究

ペンシルベニア大学の研究者たちは、腎臓のマッチングを改善し、移植片の失敗リスクを減らすための機械学習戦略の開発を行っています

AIは、遺伝子の特定の変異を分析することにより、腎移植のリスクを最小化することで、人々に希望の光をもたらしています。腎...