こんにちは､ 人工知能の講座にようこそ｡
今日のお話では､ a3cの最後のAについて､ アドバンテージのお話をしています｡
そこで
アクター､ クリティック､ 非同期については以前にもお話ししましたが､ 今日見ていただくような内容まで徐々に進めてきました｡
そしてアドバンテージで､ すべてをまとめていくのです｡
というわけで､ 今のところこんな感じです｡
非同期エージェント間で共有されるニューラルネットワークと､ 同じくエージェント間で共有される評論家がいます｡
では､ この批評はどのように展開され､ なぜエージェントの間で共有されるのでしょうか｡
それを見てみましょう｡
まあ､ これをよく理解してください｡
一例として見ていきます｡
例えば､ このエージェントがある状態になって､ どんなアクションをするか判断する必要があるときにどうなるかを見ていきます｡
つまり､ このエージェントは､ ある状態にあるのです｡
彼はこの映像を見ている｡
そして､ この情報はニューラルネットワークに入り､ 畳み込み層を経て､ プーリング層に入り､
フラット化層に入るという流れになります｡
そして､ そこからニューラルネットワークの隠れ層に入るのです｡
そして､ 出力として､ これらすべてのポリシー値､ つまり価値やポリシーを取得し､ さらに価値､ つまり評論家としての価値も取得するのです｡
ご存知のように､ ニューラルネットワークが動作するためには､ ある種のエラーや損失をネットワーク内に伝搬させる必要があります｡
このように､ 重みを更新するために､ どのような重み､ あるいはどのような損失を扱うことになるのでしょうか｡
まあ､ 2敗はしているんですけどね｡
バリューロスとポリシーロスがあるんです｡
つまり､ バリュー・ロスはバリュー・ポリシー・ロスに連動しているのです｡
そして､ 損失という価値､ それはすでに以前から扱っています｡
報酬があることも､ 割引率があることもわかっています｡
基本的に､ これは深層学習のチュートリアルで話したことと非常によく似ています｡
基本的には､ ネットワークがある値Vを予測すると同時に､ これまでの環境に関する知見から､ あるべき姿を推定することができるのです｡
その状態で値Vがどうあるべきかを推定し､ 両者を比較することで値の損失を計算し､ ネットワークを逆伝播して重みを更新することができる｡
つまり､ それはとても簡単なことなのです｡
ここで新しいのは､ ポリシーロスです｡
それで､ この政策的損失とはどのようなもので､ どのような仕組みになっているのでしょうか｡
まあ､ この辺が､ 批評を役者間､ あるいは代理人間で共有するという､ 全体の状況がいよいよ出てくるところなんでしょうけど｡
そこで､ ポリシー・ロスを理解するために､ アドバンテージという値を導入する必要があります｡ このチュートリアルのこの部分とアルゴリズムのこの部分全体の名前の由来はここにあります｡
SのQとAのマイナスVでアドバンテージと計算される｡
だから基本的には､ 自分が今いる状態で選んだ行動のQ値､ 例えばsからその状態の値を引いたものをプレイすることになる｡
これが両者の違いであり､ アドバンテージと呼ばれるものなのですね｡
そして､ そのアドバンテージを保険金支払額の計算に利用する｡
さて､ 保険金支払いの計算式はかなり複雑なので､ ここでは割愛します｡
エントロピーを使うか､ 使わなくてもいいエントロピーを使うか｡
その数式を分解するのではなく､ 直感的なレベルで理解するのです｡
なぜ､ こんなことをするのか？
なぜ､ この優位性を計算するのか､ それがどう役立つのか｡
さて､ ちょっと見てみましょう｡
ここでのQ値は､ ニューラルネットワークがこのエージェントについて予測したものに由来します｡
そのため､ この特定の動作､ この特定の状態での動作が予測されるのです｡
だから､ これらのアクションがあり､ そのうちのひとつを選択すれば､ うまく再生できるのです｡
一方､ V値は評論家が指示した値である｡
この共有部分にあるのが､ 私たちの価値です｡
そして､ この部分が共有されていることが､ ここでの重要なポイントです｡
というのも､ この状態でこのエージェントに対して選択した値､ あるいは選択したアクションがあるので､
これが批評家の出番となるわけです｡
でも､ それなら評論家は､ その状態の既知の価値を教えてくれるのでは？
一緒に行動しているエージェントのグループ全体の既知の値は何でしょうか？
なぜなら､ 彼らは自然を共有しているからではなく､ 批評家を共有しているからです｡
これらはすべて､ さまざまなサイトで計算されるこれらの値に寄与しています｡
つまり､ a3cのアルゴリズム全体では､ 「評論家はVの値を知っている」ということになるわけです｡
選択するQ値は､ 既知のV値と比べてどの程度良いのでしょうか？
ということなんです｡
基本的にはそうなんですね｡
ソフトマックス関数やイプシロン・グレイディ・ポリシーなど､
どのようなものを使うかに基づいて､
Q値を選択します｡
それは何ですか？
バンテージでランをチャンスに
その状態の既知の価値と比較して､ あなたが選択した行動がもたらす利点は何でしょうか？
そして､ それこそがアドバンテージの本質なのです｡
そして､ 基本的にはこのデータを使ってポリシーロスを計算し､ そのポリシーロスをネットワークに逆伝播しています｡
そのため､ 両者はネットワークを通じて逆伝播され､ ネットワークが評論家の値をよりよく表現できるように重みが調整される｡
そしてまた､ この上の部分ですね｡
しかし､ ここでも重要なのは､ このポリシーが失われたときに､ 価値と重みが戻ってくるということです｡
この利点が最大になるように重みが調整されているのです｡
つまり､ 直感的に理解できるのは､ この優位性を最大化するために､ ネットワークを通じてこのポリシーロスを逆伝播している､
ということなのです｡
つまり､ エージェントが悪い行動､ 例えばQ値がこの状態の既知の値より小さい行動に出くわしたとき､
基本的にそのことを意味します｡
つまり､ 基本的にアルゴリズム全体が､ 状態の値がXであることを知っていて､ 突然､
非常に悪い行動に出くわし､ 悪い行動を選択したのです｡
A3Cのアルゴリズムが意味するのは､ この環境全体について私たちがすでに知っていることよりも悪いのに､
なぜそんなことをするのか､ 何ができたのか､ ということです｡
だから､ これ以上やってはいけないんです｡
そのため､ ウェイトもある意味調整されています｡
だから､ それが起こるのはもっと稀なことなのです｡
だから､ その悪い行動を選択することの方が少ないのです｡
一方､ Q値がVより大きい､ あるいは行ったよりずっと大きいという非常に良い行動を選択した場合､
ネットワークを通じて政策的損失が逆伝播される間に､ 重みはそれを強化するように､
再び奨励するように､ 安心させるように､ そのように重みが調整されるように更新されます｡
だから､ 3Cのアルゴリズムは､ 「おお､ すごいな」と思うはずです｡
そこでのアドバンテージは非常に高かった｡
もっとこうすればいい､ だから将来その行動が起こりやすくなるように重みを更新してくれるのです｡
ですから､ ネットワークはゆっくりと､ ゆっくりと適応していき､ 一方では値を正しく計算し､
他方では可能な限り正しく計算するようなものに構築されていくのです｡
そして､ その一方で､ 優位性の高い行為を奨励したり､ 持っていたりするのです｡
そうそう､ そうなんです｡
それは､ この部分です｡
次に､ 先ほど説明したことをさらに強化するために､ もう1つ見てみましょう｡
では､ 一番上のものを見てみましょう｡
だから､ こちらも同じです｡
トップエージェントがある状況を見る｡
状態は状態であり､ その後どうするかを決める必要があります｡
そこで､ この情報をネットワークに送信する｡
この画像はネットワークに入り､ 畳み込み層､ プーリング層､ 平坦化層､
そして隠れ層に入ります｡
そして､ ここから出力を得て､ ポリシーのQ値を得て､ また値を得て､ 同じことを繰り返します｡
2敗してしまった｡
ここにあるバリューロスを磨いて､ バリューロスであるロスを磨くんです｡
この計算方法はすでに知っていますし､ ディープラーニングでも議論しましたし､ 今ちょうどこの議論もしたところです｡
そうやって値が算出されるんですね｡
そして､ ポリシー・ロスは､ フォーラムでは説明しませんが､ 直感的なレベルでは､
OCである優位性を計算します｡ つまり､ ある行動をとったとき､ ソフト､ マックス､ イプシロン､
グリーディなど､ 使っている選択ポリシーに基づいて､ ある行動を選択したのです｡
それから､ 私たちがとった行動は？
では､ 共有評論家に由来する､ 状態の既知の値と比較してみましょう｡
この評論家は､ 考えてみれば､ これらすべてのエージェントを同時に観察しているようなものなのですね｡
こっちを見てる､ こっちを見てる､ こっちを見てる｡
批評家がより環境に適応できるように､
批評家に貢献します｡ 批評家が実際の環境で起こっていることを代表していることを確認するために､
この重みで価値損失が発生します｡
そして､ 基本的にそうなので､ これらのエージェント､ すべてのエージェントがこの批判者に貢献しているのです｡
しかし､ 同時に､ この価値観の喪失を通じて､ 評論家は､ これらのエージェントの決定やポリシーを観察しているのですが､
それは､ 私がポリシーに矢印のように描こうとしているように振り返って行くようなものです｡
それは､ 彼らを振り返り､ 彼らが下す決断を見ることです｡
それは､ アドバンテージを通じて､ これらの判断を批判しているのです｡
それは､ あなたが決断し､ これを選択し､ この行動を選択した､ ということです｡
それは素晴らしいことです｡
ここで､ ブランチのメリット､ デメリットを計算してみましょう｡
これは､ made the decision I madeやthe choice I madeのQ値とイコールです｡
私が選択させた行動から､ 評論家にとっての既知の価値を差し引いたものです｡
評論家にとって既知の価値｡
だから､ その差を計算してみてください｡
もし､ あなたのポリシーの違いが少なければ､ あなたのポリシーの損失がネットワークを通じて逆伝播されたとき､ それが調整される方法は､
そのようなことが再び起こらないように重みを調整することを奨励することになる､
ということです｡
Q値とかその辺のこと｡
Q値が低くなってしまう｡
つまり､ 我々のポリシーはQ値に基づいてアクションを選択するため､ Q値が高いほど選択される可能性が高くなるのです｡
だから､ ARGのMAXポリシーみたいなものを使っていれば､ 常に一番高いものを選んでいればいいわけです｡
覚えていらっしゃると思いますが､ その時は常に最も高い値を持つものを選択することになりますが､
実際には私たちは確率的なアプローチを使っています｡
そして､ 基本的にはどれでも選べるところを選んでいるわけです｡
しかし､ Q値は高ければ高いほど良い｡
つまり､ 何かを選択したときに､ その優位性が非常に低かった場合､ ネットワークは､
次回はこのQ値が小さくなり､ 他の何かが大きくなるように更新されることになるのです｡
その辺がどうなっているのか､ ということですね｡
そして逆に､ アドバンテージが高くなりそうなものを選択すると､ これがポリシーロスに入り､
ネットワークが更新されていくことになります｡
というのが､ 一般的によく見られるシナリオですね｡
このように､ 基本的には､ この政策的損失は､ 私たちがより多くの良いこと､ 良い行動､ 良いことを行い､ 悪いことを少なくするように､
ネットワークの適応や変容を助けるものなのです｡
そして､ この2つの負けが重なって､ バックプロパティになっているわけです｡
だから､ とても直感的な方法でクリアできるといいのですが｡
もちろん､ 計算式や複雑な数学の世界には踏み込まず､ 非常に複雑なディテールにまで踏み込んでいます｡
しかし同時に､ 願わくば直感的な方法で､ このすべてが､ なぜ俳優と批評家がいるのか､
そしてそれらがどのように相互作用するのか､ これらのエージェントを同期的に持っていることを明確にするものです｡
では､ これがシンクロナス側なんですね｡
これは､ つまり､ あなたの役者であり､ あなたの批評家であり､ あなたの長所であり､ そのすべてがどのように作用しているかということです｡
つまり､ これらは同期型のエージェントなのです｡
彼らは､ これをプレイしたり､ 環境を探検したり､ 環境を通して仕事をしたりしているのです｡
そして､ これらはすべて批評家に貢献しているのです｡ 批評家は､ 彼らの政策を観察し､
役者を観察し､ これは何と呼ばれているのでしょうか｡
そして､ このポリシー・ロス､ ポリシー・バリュー・ロスを逆伝播して､
ネットワークを調整し､ 一方では環境の真のあり方を表現し､ 他方ではアクターのパフォーマンスを向上させることができるのです｡
そうそう､ そうなんです｡
以上､ 簡単に直感の話をまとめてみました｡
そしてもう一度､ これが直感的に理解できるようになることを期待しています｡
もちろん､ 実践的なチュートリアルでは､ これらすべてがどのように機能するかについて､ より詳しく説明します｡
アドロンは､ この構築のプロセスを説明しますが､ 頭の中にこのイメージと､ すべてのロードマップのようなものがあれば､
どのように組み立てるかは､ うまくいく､ はずです｡
実務面をよりよくナビゲートするために､ とても参考になるかと思います｡
そして､ 本日の副読本ということで､ 2つの要素をご紹介します｡
だから､ 最初の1枚はアドバンテージに｡
そこで､ John Shulmanによる一般化優位性推定を用いて､ 高次元の連続制御を行うことにしました｡
そして､ これは棒人間が立ち上がるようなイメージです｡
そして､ ここではさらにアドバンテージと優位性について知ることができ､ 様々な種類のアドバンテージを知ることができます｡
一般的なアドバンテージの見積もりと､ 実際に計算式で使うアドバンテージがあるわけです｡
もしあなたがアドバンテージについてもっと知りたいなら､ そしてそれがどのように機能するか､
その背後にある公式と､ 私たちが議論したこのアドバンテージの空間におけるトップ､ トップの要素または公式とノウハウを知りたいなら､ この記事は行くべきものです｡
もうひとつ､ もう何度かご紹介しているArthur Giulianiのブログシリーズについてです｡
今回はその8で､ 特にa3cについてです｡
そこで､ ここでは別の説明をします｡
だから､ 何が起こっているのかについてもう少し数学的に､ そして､ ここから何か追加のものを拾えるかもしれません｡
ただ､ 気をつけたいことが2つあります｡
まず､ いつものようにこのブログはTensorFlowですが､ 私たちはPyTorchを使用しています｡
だから､ そのことを心に留めておいてください｡
そしてもうひとつは､ 私たちのアプローチの仕方は､ まずアクティブ・クリティックの話をし､ 次にシンクロナス（同期）の話をし､
そしてアドバンテージの話をしたことです｡
一方､ ブログでは､ アーサーはまず同期と実際の批評家と優位性を語っています｡
だから､ そのことを心に留めておいてください｡
だから､ それがあなたを混乱させないことを願っています｡
しかし､ それ以外はもちろん素晴らしい内容ですので､ ぜひチェックしてみてください｡
そうそう､ そうなんです｡
本日のチュートリアルを楽しんでいただければと思います｡
それまでは､ Iをお楽しみください｡