AIが独自の言語を創造する方法 | 強化学習

AGIに仕事を奪われたい
この記事は約6分で読めます。

3,227 文字

When AI Developed its own Language | Part 1

通常、強化学習の設定では、ポリシーネットワークという単なるニューラルネットワークがあります。このポリシーネットワークに環境の観測値を状態値として入力すると、その現在の状態でとるべき行動を出力します。この状態を表す値は、環境の現在の状態を表す任意の値です。このヒューマノイドロボットも同じ原理で動作しています。ニューラルネットワークを使用して行動を起こし、現在の状態に関する情報を入力として受け取ります。これは単に現在の位置の数学的表現です。
そして、ニューラルネットワークを使用して行動を生成します。これは関節に加えられる力の大きさに過ぎず、直立して動くためのものです。ロボットが倒れず、x軸の正の方向に沿って移動していれば、正の報酬を得ます。入力として状態がある場合、この状態は任意の入力ベクトルである可能性があります。ポリシーネットワークの目標は、長期的に良い報酬をもたらす各可能な状態に対する行動を学習することです。
しかし、どの行動が特定の状態で最大の報酬を与えるかをどのように見つけ、それを使ってポリシーネットワークを訓練するのでしょうか?言い換えれば、現在の状態でどの行動が最善なのでしょうか?
これを理解するために、状態をSという文字で、行動をAという文字で表現しましょう。良い報酬を与えるポリシーをどのように得るのか?この目的のために、評価ネットワーク(critic network)として知られる別のネットワークを追加します。これもニューラルネットワークで、状態とポリシーネットワークから生成された行動の両方を入力として受け取ります。このネットワークは、この行動の後にどれだけの報酬を得られるか、あるいは言い換えれば、この行動を取った後にどれだけの期待報酬が可能かを表す値を出力します。
この概念をさらに詳しく理解するために、環境と対話して、私たちの行動とエピソードの終わりに受け取った報酬に関する情報を収集してみましょう。ポリシーネットワークを使用して、各時間ステップで与えられた状態に対して行動を取ることで環境と対話するとします。その際、探索を促すために探索ノイズも追加します。エピソード全体の各時点で報酬も得ます。
たとえば、時間ステップTで状態値がある場合、ポリシーネットワークから状態を使用して行動値を取得します。ここで評価ネットワークを使用してこの状態と行動の価値を生成すると、評価ネットワークは特定の状態で特定の行動を取った後に期待される累積報酬を推定します。また、エージェントが受け取ると予想される、時間とともに割り引かれる将来のすべての報酬も考慮します。
環境と実際に対話することで報酬を収集したので、これらの報酬を使用して評価ネットワークのトレーニングのためのターゲット値を生成できます。DDPGでは、これらのターゲットはトレーニングを安定させるためにターゲット評価ネットワークを使用したベルマン方程式を使って計算されますが、詳細には立ち入りません。
そのため、状態における特定の行動に対して、評価ネットワークは将来の報酬を考慮して、エージェントが受け取る予想累積報酬を予測するようにトレーニングできると結論付けることができます。
再びポリシーネットワークに戻ると、このポリシーネットワークは各状態に対する行動を与えます。評価ネットワークは状態とポリシーネットワークによって生成された行動を取り、エージェントがどれだけの予想累積報酬を受け取るかを返します。
期待累積報酬の勾配を計算すると、最大の期待累積報酬を得られるように行動をどう変更すべきかを見つけることができます。しかし、行動はポリシーネットワークの出力として得られるため、行動値を直接変更することはできません。特定の状態の行動を変更するには、ポリシーネットワークが状態に対してより高い値を与える行動を生成するように重みを更新する必要があります。
この目的のために、ポリシーネットワークのパラメータに関する評価ネットワークの出力の勾配を取り、勾配上昇法を適用してポリシーネットワークを更新します。ここで出力を最大化するということは、将来より高い期待累積報酬をもたらす行動を学習することを意味します。
このようにして、ポリシーネットワークは総報酬を最大化する各状態に対する行動を与えます。これは実際の詳細なしで、深層確定的方策勾配(DDPG)アルゴリズムの概要に過ぎませんが、少なくとも環境と対話することで良い報酬を達成するために、各状態に対する行動を生成するために強化学習をどのように使用できるかについてのアイデアが得られたと思います。この課題には他の強化学習アルゴリズムも使用できます。
このビデオの主要部分に移りましょう。この単純な環境を考えてみてください。青と緑の円で表される2つのエージェントがあります。青いエージェントの目標は青い星に到達すること、緑のエージェントの目標は緑の星に到達することです。両方の星は環境の縁の周りのどの点にもランダムに配置でき、エージェントは中央から開始します。
このシチュエーションのひねりは、青いエージェントは自分のゴールの位置を見ることができないが、緑のエージェントのゴールの位置を見ることができることです。同様に、緑のエージェントも自分のゴールの位置を見ることができませんが、青いエージェントのゴールの位置は見ることができます。
両方のエージェントは、お互いからゴールの位置に関する情報を得れば、素早く自分のゴールに到達できます。ポリシーネットワークを設計するために、青いエージェント用のポリシーネットワークがあるとしましょう。このポリシーネットワークは、現在の位置である状態を入力として受け取ります。この状態には、青いエージェントの現在の位置に関する情報が含まれています。また、相手のエージェントのゴールに関する情報も含まれていますが、自分自身のゴール位置に関する情報はありません。
そのため、2番目のエージェントからゴール位置に関するメッセージを受け取ります。状態と2番目のエージェントからのメッセージの両方をポリシーネットワークに入力します。環境で実行する青いエージェントの行動と、2番目のエージェントへのメッセージの両方を取得します。このメッセージは緑のエージェントに入力として送信されます。
緑のエージェントも状態とメッセージの両方を受け取り、環境で実行する行動と、青いエージェントへのゴール位置に関するメッセージを生成します。両方のエージェントは、各エージェントのゴールからの総距離に基づいて報酬を受け取ります。
両方のゴールはどの点にもランダムに配置できることがわかっているので、ゴール位置に到達するには各エージェントが他のエージェントからの情報を必要とします。両方のエージェントは、お互いにメッセージを伝えるための言語を開発すれば、望ましいゴールに到達できます。
マルチエージェント強化学習に関するこの実験から何を学んだでしょうか?2つ以上のエージェントがいて、状態と共に他のエージェントからメッセージを入力として受け取り、目標が一致している場合、彼らは有用な情報を共有し、目標達成のパフォーマンスを向上させるためのコミュニケーション戦略を開発できます。
最初はランダムなメッセージから始まり、時間の経過とともに、目標達成のために情報を効果的に伝達するための共通言語を開発します。強化学習では、目標は報酬の最大化です。
この言語開発における一つの問題は、強化学習エージェントをトレーニングするたびに、彼らは異なる言語を開発することです。それはちょうど、世界の異なる地域の人間が全く異なる言語を開発したのと同じです。なぜこれらのエージェントに人間の言語を教えないのか、そして他の関連詳細を含めて、このトピックについては将来さらに議論します。

コメント

タイトルとURLをコピーしました