WEBVTT

00:00.580 --> 00:03.550
こんにちは､ 人工知能の講座にようこそ｡ 

00:03.550 --> 00:09.310
今日のお話では､ a3cの最後のAについて､ アドバンテージのお話をしています｡ 

00:09.310 --> 00:10.240
そこで

00:10.240 --> 00:18.550
アクター､ クリティック､ 非同期については以前にもお話ししましたが､ 今日見ていただくような内容まで徐々に進めてきました｡

00:18.550 --> 00:21.460
そしてアドバンテージで､ すべてをまとめていくのです｡ 

00:21.460 --> 00:23.590
というわけで､ 今のところこんな感じです｡ 

00:23.590 --> 00:33.160
非同期エージェント間で共有されるニューラルネットワークと､ 同じくエージェント間で共有される評論家がいます｡

00:33.160 --> 00:36.400
では､ この批評はどのように展開され､ なぜエージェントの間で共有されるのでしょうか｡ 

00:36.430 --> 00:37.390
それを見てみましょう｡ 

00:37.390 --> 00:38.830
まあ､ これをよく理解してください｡ 

00:38.830 --> 00:39.790
一例として見ていきます｡ 

00:39.790 --> 00:46.570
例えば､ このエージェントがある状態になって､ どんなアクションをするか判断する必要があるときにどうなるかを見ていきます｡

00:46.570 --> 00:48.700
つまり､ このエージェントは､ ある状態にあるのです｡ 

00:48.700 --> 00:50.110
彼はこの映像を見ている｡ 

00:50.680 --> 00:55.840
そして､ この情報はニューラルネットワークに入り､ 畳み込み層を経て､ プーリング層に入り､

00:55.840 --> 01:00.310
フラット化層に入るという流れになります｡

01:00.580 --> 01:03.790
そして､ そこからニューラルネットワークの隠れ層に入るのです｡ 

01:03.790 --> 01:14.110
そして､ 出力として､ これらすべてのポリシー値､ つまり価値やポリシーを取得し､ さらに価値､ つまり評論家としての価値も取得するのです｡

01:14.110 --> 01:22.660
ご存知のように､ ニューラルネットワークが動作するためには､ ある種のエラーや損失をネットワーク内に伝搬させる必要があります｡

01:22.660 --> 01:29.440
このように､ 重みを更新するために､ どのような重み､ あるいはどのような損失を扱うことになるのでしょうか｡

01:29.440 --> 01:30.460
まあ､ 2敗はしているんですけどね｡ 

01:30.460 --> 01:32.800
バリューロスとポリシーロスがあるんです｡ 

01:32.800 --> 01:36.490
つまり､ バリュー・ロスはバリュー・ポリシー・ロスに連動しているのです｡ 

01:36.730 --> 01:40.570
そして､ 損失という価値､ それはすでに以前から扱っています｡ 

01:40.570 --> 01:46.360
報酬があることも､ 割引率があることもわかっています｡ 

01:46.360 --> 01:54.580
基本的に､ これは深層学習のチュートリアルで話したことと非常によく似ています｡ 

01:54.580 --> 02:05.440
基本的には､ ネットワークがある値Vを予測すると同時に､ これまでの環境に関する知見から､ あるべき姿を推定することができるのです｡

02:05.440 --> 02:13.660
その状態で値Vがどうあるべきかを推定し､ 両者を比較することで値の損失を計算し､ ネットワークを逆伝播して重みを更新することができる｡

02:13.660 --> 02:15.070
つまり､ それはとても簡単なことなのです｡ 

02:15.070 --> 02:17.350
ここで新しいのは､ ポリシーロスです｡ 

02:17.470 --> 02:21.490
それで､ この政策的損失とはどのようなもので､ どのような仕組みになっているのでしょうか｡ 

02:21.490 --> 02:32.320
まあ､ この辺が､ 批評を役者間､ あるいは代理人間で共有するという､ 全体の状況がいよいよ出てくるところなんでしょうけど｡

02:32.320 --> 02:42.520
そこで､ ポリシー・ロスを理解するために､ アドバンテージという値を導入する必要があります｡ このチュートリアルのこの部分とアルゴリズムのこの部分全体の名前の由来はここにあります｡

02:42.520 --> 02:47.650
SのQとAのマイナスVでアドバンテージと計算される｡ 

02:47.650 --> 02:57.340
だから基本的には､ 自分が今いる状態で選んだ行動のQ値､ 例えばsからその状態の値を引いたものをプレイすることになる｡

02:57.340 --> 03:00.640
これが両者の違いであり､ アドバンテージと呼ばれるものなのですね｡ 

03:00.640 --> 03:04.690
そして､ そのアドバンテージを保険金支払額の計算に利用する｡ 

03:04.720 --> 03:09.340
さて､ 保険金支払いの計算式はかなり複雑なので､ ここでは割愛します｡ 

03:09.340 --> 03:12.520
エントロピーを使うか､ 使わなくてもいいエントロピーを使うか｡ 

03:12.880 --> 03:16.960
その数式を分解するのではなく､ 直感的なレベルで理解するのです｡ 

03:16.960 --> 03:17.740
なぜ､ こんなことをするのか？

03:17.740 --> 03:21.430
なぜ､ この優位性を計算するのか､ それがどう役立つのか｡ 

03:21.430 --> 03:23.950
さて､ ちょっと見てみましょう｡ 

03:23.950 --> 03:30.250
ここでのQ値は､ ニューラルネットワークがこのエージェントについて予測したものに由来します｡ 

03:30.820 --> 03:36.430
そのため､ この特定の動作､ この特定の状態での動作が予測されるのです｡ 

03:36.430 --> 03:41.650
だから､ これらのアクションがあり､ そのうちのひとつを選択すれば､ うまく再生できるのです｡ 

03:41.650 --> 03:46.390
一方､ V値は評論家が指示した値である｡ 

03:46.390 --> 03:49.990
この共有部分にあるのが､ 私たちの価値です｡ 

03:49.990 --> 03:52.240
そして､ この部分が共有されていることが､ ここでの重要なポイントです｡ 

03:52.240 --> 03:58.660
というのも､ この状態でこのエージェントに対して選択した値､ あるいは選択したアクションがあるので､

03:58.660 --> 04:01.750
これが批評家の出番となるわけです｡

04:01.750 --> 04:07.090
でも､ それなら評論家は､ その状態の既知の価値を教えてくれるのでは？

04:07.090 --> 04:13.960
一緒に行動しているエージェントのグループ全体の既知の値は何でしょうか？

04:13.960 --> 04:18.340
なぜなら､ 彼らは自然を共有しているからではなく､ 批評家を共有しているからです｡ 

04:18.340 --> 04:23.170
これらはすべて､ さまざまなサイトで計算されるこれらの値に寄与しています｡ 

04:23.170 --> 04:28.930
つまり､ a3cのアルゴリズム全体では､ 「評論家はVの値を知っている」ということになるわけです｡ 

04:28.960 --> 04:35.230
選択するQ値は､ 既知のV値と比べてどの程度良いのでしょうか？

04:35.230 --> 04:36.370
ということなんです｡ 

04:36.370 --> 04:37.840
基本的にはそうなんですね｡ 

04:37.840 --> 04:44.800
ソフトマックス関数やイプシロン・グレイディ・ポリシーなど､

04:44.800 --> 04:50.710
どのようなものを使うかに基づいて､

04:50.740 --> 04:59.170
Q値を選択します｡

04:59.170 --> 04:59.640
それは何ですか？

04:59.740 --> 05:00.880
バンテージでランをチャンスに

05:00.910 --> 05:07.630
その状態の既知の価値と比較して､ あなたが選択した行動がもたらす利点は何でしょうか？

05:07.630 --> 05:09.370
そして､ それこそがアドバンテージの本質なのです｡ 

05:09.370 --> 05:17.860
そして､ 基本的にはこのデータを使ってポリシーロスを計算し､ そのポリシーロスをネットワークに逆伝播しています｡

05:17.860 --> 05:26.080
そのため､ 両者はネットワークを通じて逆伝播され､ ネットワークが評論家の値をよりよく表現できるように重みが調整される｡

05:26.080 --> 05:28.180
そしてまた､ この上の部分ですね｡ 

05:28.180 --> 05:35.020
しかし､ ここでも重要なのは､ このポリシーが失われたときに､ 価値と重みが戻ってくるということです｡

05:35.020 --> 05:41.170
この利点が最大になるように重みが調整されているのです｡ 

05:41.170 --> 05:46.540
つまり､ 直感的に理解できるのは､ この優位性を最大化するために､ ネットワークを通じてこのポリシーロスを逆伝播している､

05:46.540 --> 05:51.820
ということなのです｡

05:51.970 --> 05:57.580
つまり､ エージェントが悪い行動､ 例えばQ値がこの状態の既知の値より小さい行動に出くわしたとき､

05:57.580 --> 06:00.850
基本的にそのことを意味します｡

06:00.850 --> 06:07.150
つまり､ 基本的にアルゴリズム全体が､ 状態の値がXであることを知っていて､ 突然､

06:07.150 --> 06:11.620
非常に悪い行動に出くわし､ 悪い行動を選択したのです｡

06:11.620 --> 06:16.480
A3Cのアルゴリズムが意味するのは､ この環境全体について私たちがすでに知っていることよりも悪いのに､

06:16.480 --> 06:21.850
なぜそんなことをするのか､ 何ができたのか､ ということです｡

06:21.850 --> 06:23.380
だから､ これ以上やってはいけないんです｡ 

06:23.380 --> 06:25.810
そのため､ ウェイトもある意味調整されています｡ 

06:25.810 --> 06:29.590
だから､ それが起こるのはもっと稀なことなのです｡ 

06:30.130 --> 06:33.310
だから､ その悪い行動を選択することの方が少ないのです｡ 

06:33.310 --> 06:38.260
一方､ Q値がVより大きい､ あるいは行ったよりずっと大きいという非常に良い行動を選択した場合､

06:38.260 --> 06:42.640
ネットワークを通じて政策的損失が逆伝播される間に､ 重みはそれを強化するように､

06:42.640 --> 06:52.150
再び奨励するように､ 安心させるように､ そのように重みが調整されるように更新されます｡

06:52.420 --> 06:55.060
だから､ 3Cのアルゴリズムは､ 「おお､ すごいな」と思うはずです｡ 

06:55.060 --> 06:56.680
そこでのアドバンテージは非常に高かった｡ 

06:56.680 --> 07:05.440
もっとこうすればいい､ だから将来その行動が起こりやすくなるように重みを更新してくれるのです｡

07:05.440 --> 07:13.540
ですから､ ネットワークはゆっくりと､ ゆっくりと適応していき､ 一方では値を正しく計算し､

07:13.840 --> 07:21.790
他方では可能な限り正しく計算するようなものに構築されていくのです｡

07:21.790 --> 07:28.120
そして､ その一方で､ 優位性の高い行為を奨励したり､ 持っていたりするのです｡ 

07:28.120 --> 07:29.200
そうそう､ そうなんです｡ 

07:29.200 --> 07:30.490
それは､ この部分です｡ 

07:30.490 --> 07:34.600
次に､ 先ほど説明したことをさらに強化するために､ もう1つ見てみましょう｡ 

07:34.600 --> 07:35.710
では､ 一番上のものを見てみましょう｡ 

07:35.710 --> 07:37.180
だから､ こちらも同じです｡ 

07:37.180 --> 07:40.870
トップエージェントがある状況を見る｡ 

07:40.870 --> 07:44.140
状態は状態であり､ その後どうするかを決める必要があります｡ 

07:44.140 --> 07:46.540
そこで､ この情報をネットワークに送信する｡ 

07:46.540 --> 07:50.970
この画像はネットワークに入り､ 畳み込み層､ プーリング層､ 平坦化層､

07:50.980 --> 07:52.960
そして隠れ層に入ります｡

07:52.960 --> 07:59.080
そして､ ここから出力を得て､ ポリシーのQ値を得て､ また値を得て､ 同じことを繰り返します｡

07:59.080 --> 08:00.850
2敗してしまった｡ 

08:00.850 --> 08:05.110
ここにあるバリューロスを磨いて､ バリューロスであるロスを磨くんです｡ 

08:05.110 --> 08:10.720
この計算方法はすでに知っていますし､ ディープラーニングでも議論しましたし､ 今ちょうどこの議論もしたところです｡

08:10.720 --> 08:12.730
そうやって値が算出されるんですね｡ 

08:12.730 --> 08:18.340
そして､ ポリシー・ロスは､ フォーラムでは説明しませんが､ 直感的なレベルでは､

08:18.340 --> 08:25.450
OCである優位性を計算します｡ つまり､ ある行動をとったとき､ ソフト､ マックス､ イプシロン､

08:25.450 --> 08:34.210
グリーディなど､ 使っている選択ポリシーに基づいて､ ある行動を選択したのです｡

08:34.300 --> 08:37.720
それから､ 私たちがとった行動は？

08:37.720 --> 08:44.500
では､ 共有評論家に由来する､ 状態の既知の値と比較してみましょう｡ 

08:44.500 --> 08:50.080
この評論家は､ 考えてみれば､ これらすべてのエージェントを同時に観察しているようなものなのですね｡

08:50.080 --> 08:51.910
こっちを見てる､ こっちを見てる､ こっちを見てる｡ 

08:51.910 --> 08:56.920
批評家がより環境に適応できるように､

08:56.920 --> 09:08.440
批評家に貢献します｡ 批評家が実際の環境で起こっていることを代表していることを確認するために､

09:08.440 --> 09:20.020
この重みで価値損失が発生します｡

09:20.020 --> 09:26.770
そして､ 基本的にそうなので､ これらのエージェント､ すべてのエージェントがこの批判者に貢献しているのです｡ 

09:26.770 --> 09:32.350
しかし､ 同時に､ この価値観の喪失を通じて､ 評論家は､ これらのエージェントの決定やポリシーを観察しているのですが､

09:32.350 --> 09:40.630
それは､ 私がポリシーに矢印のように描こうとしているように振り返って行くようなものです｡

09:40.630 --> 09:43.330
それは､ 彼らを振り返り､ 彼らが下す決断を見ることです｡ 

09:43.330 --> 09:46.120
それは､ アドバンテージを通じて､ これらの判断を批判しているのです｡ 

09:46.120 --> 09:50.140
それは､ あなたが決断し､ これを選択し､ この行動を選択した､ ということです｡ 

09:50.140 --> 09:51.010
それは素晴らしいことです｡ 

09:51.010 --> 09:53.350
ここで､ ブランチのメリット､ デメリットを計算してみましょう｡ 

09:53.350 --> 09:58.840
これは､ made the decision I madeやthe choice I madeのQ値とイコールです｡ 

09:59.260 --> 10:04.960
私が選択させた行動から､ 評論家にとっての既知の価値を差し引いたものです｡ 

10:04.960 --> 10:06.220
評論家にとって既知の価値｡ 

10:06.220 --> 10:07.630
だから､ その差を計算してみてください｡ 

10:07.630 --> 10:13.870
もし､ あなたのポリシーの違いが少なければ､ あなたのポリシーの損失がネットワークを通じて逆伝播されたとき､ それが調整される方法は､

10:14.050 --> 10:17.890
そのようなことが再び起こらないように重みを調整することを奨励することになる､

10:17.890 --> 10:19.750
ということです｡

10:19.750 --> 10:21.160
Q値とかその辺のこと｡ 

10:21.160 --> 10:22.780
Q値が低くなってしまう｡ 

10:22.780 --> 10:30.460
つまり､ 我々のポリシーはQ値に基づいてアクションを選択するため､ Q値が高いほど選択される可能性が高くなるのです｡

10:30.460 --> 10:34.930
だから､ ARGのMAXポリシーみたいなものを使っていれば､ 常に一番高いものを選んでいればいいわけです｡ 

10:35.010 --> 10:38.950
覚えていらっしゃると思いますが､ その時は常に最も高い値を持つものを選択することになりますが､

10:38.950 --> 10:44.350
実際には私たちは確率的なアプローチを使っています｡

10:44.350 --> 10:47.440
そして､ 基本的にはどれでも選べるところを選んでいるわけです｡ 

10:47.440 --> 10:49.150
しかし､ Q値は高ければ高いほど良い｡ 

10:49.150 --> 10:55.240
つまり､ 何かを選択したときに､ その優位性が非常に低かった場合､ ネットワークは､

10:55.240 --> 11:02.740
次回はこのQ値が小さくなり､ 他の何かが大きくなるように更新されることになるのです｡

11:02.740 --> 11:05.980
その辺がどうなっているのか､ ということですね｡ 

11:05.980 --> 11:11.890
そして逆に､ アドバンテージが高くなりそうなものを選択すると､ これがポリシーロスに入り､

11:11.890 --> 11:14.980
ネットワークが更新されていくことになります｡

11:14.980 --> 11:19.510
というのが､ 一般的によく見られるシナリオですね｡ 

11:19.510 --> 11:26.620
このように､ 基本的には､ この政策的損失は､ 私たちがより多くの良いこと､ 良い行動､ 良いことを行い､ 悪いことを少なくするように､

11:26.620 --> 11:31.570
ネットワークの適応や変容を助けるものなのです｡

11:31.570 --> 11:34.840
そして､ この2つの負けが重なって､ バックプロパティになっているわけです｡ 

11:34.840 --> 11:39.160
だから､ とても直感的な方法でクリアできるといいのですが｡ 

11:39.160 --> 11:46.840
もちろん､ 計算式や複雑な数学の世界には踏み込まず､ 非常に複雑なディテールにまで踏み込んでいます｡

11:46.840 --> 11:52.000
しかし同時に､ 願わくば直感的な方法で､ このすべてが､ なぜ俳優と批評家がいるのか､

11:52.000 --> 12:01.030
そしてそれらがどのように相互作用するのか､ これらのエージェントを同期的に持っていることを明確にするものです｡

12:01.030 --> 12:03.820
では､ これがシンクロナス側なんですね｡ 

12:03.970 --> 12:08.410
これは､ つまり､ あなたの役者であり､ あなたの批評家であり､ あなたの長所であり､ そのすべてがどのように作用しているかということです｡

12:08.410 --> 12:10.720
つまり､ これらは同期型のエージェントなのです｡ 

12:10.720 --> 12:16.030
彼らは､ これをプレイしたり､ 環境を探検したり､ 環境を通して仕事をしたりしているのです｡ 

12:16.030 --> 12:23.560
そして､ これらはすべて批評家に貢献しているのです｡ 批評家は､ 彼らの政策を観察し､

12:23.560 --> 12:30.430
役者を観察し､ これは何と呼ばれているのでしょうか｡

12:30.430 --> 12:35.560
そして､ このポリシー・ロス､ ポリシー・バリュー・ロスを逆伝播して､

12:35.560 --> 12:47.380
ネットワークを調整し､ 一方では環境の真のあり方を表現し､ 他方ではアクターのパフォーマンスを向上させることができるのです｡

12:47.680 --> 12:48.370
そうそう､ そうなんです｡ 

12:48.370 --> 12:52.630
以上､ 簡単に直感の話をまとめてみました｡ 

12:52.630 --> 12:56.920
そしてもう一度､ これが直感的に理解できるようになることを期待しています｡ 

12:56.920 --> 13:02.530
もちろん､ 実践的なチュートリアルでは､ これらすべてがどのように機能するかについて､ より詳しく説明します｡ 

13:02.530 --> 13:07.690
アドロンは､ この構築のプロセスを説明しますが､ 頭の中にこのイメージと､ すべてのロードマップのようなものがあれば､

13:07.690 --> 13:12.760
どのように組み立てるかは､ うまくいく､ はずです｡

13:12.760 --> 13:18.010
実務面をよりよくナビゲートするために､ とても参考になるかと思います｡ 

13:18.010 --> 13:23.260
そして､ 本日の副読本ということで､ 2つの要素をご紹介します｡ 

13:23.260 --> 13:25.600
だから､ 最初の1枚はアドバンテージに｡ 

13:25.600 --> 13:33.280
そこで､ John Shulmanによる一般化優位性推定を用いて､ 高次元の連続制御を行うことにしました｡

13:33.280 --> 13:38.740
そして､ これは棒人間が立ち上がるようなイメージです｡ 

13:38.740 --> 13:44.800
そして､ ここではさらにアドバンテージと優位性について知ることができ､ 様々な種類のアドバンテージを知ることができます｡

13:44.800 --> 13:52.210
一般的なアドバンテージの見積もりと､ 実際に計算式で使うアドバンテージがあるわけです｡

13:52.210 --> 13:57.790
もしあなたがアドバンテージについてもっと知りたいなら､ そしてそれがどのように機能するか､

13:57.790 --> 14:10.060
その背後にある公式と､ 私たちが議論したこのアドバンテージの空間におけるトップ､ トップの要素または公式とノウハウを知りたいなら､ この記事は行くべきものです｡

14:10.180 --> 14:23.800
もうひとつ､ もう何度かご紹介しているArthur Giulianiのブログシリーズについてです｡

14:24.220 --> 14:27.790
今回はその8で､ 特にa3cについてです｡ 

14:28.150 --> 14:33.070
そこで､ ここでは別の説明をします｡ 

14:33.490 --> 14:39.340
だから､ 何が起こっているのかについてもう少し数学的に､ そして､ ここから何か追加のものを拾えるかもしれません｡

14:39.370 --> 14:41.260
ただ､ 気をつけたいことが2つあります｡ 

14:41.260 --> 14:45.880
まず､ いつものようにこのブログはTensorFlowですが､ 私たちはPyTorchを使用しています｡ 

14:45.880 --> 14:46.750
だから､ そのことを心に留めておいてください｡ 

14:46.750 --> 14:53.470
そしてもうひとつは､ 私たちのアプローチの仕方は､ まずアクティブ・クリティックの話をし､ 次にシンクロナス（同期）の話をし､

14:53.830 --> 14:58.300
そしてアドバンテージの話をしたことです｡

14:58.480 --> 15:03.820
一方､ ブログでは､ アーサーはまず同期と実際の批評家と優位性を語っています｡ 

15:03.820 --> 15:05.470
だから､ そのことを心に留めておいてください｡ 

15:05.470 --> 15:07.150
だから､ それがあなたを混乱させないことを願っています｡ 

15:07.150 --> 15:14.380
しかし､ それ以外はもちろん素晴らしい内容ですので､ ぜひチェックしてみてください｡

15:14.500 --> 15:15.180
そうそう､ そうなんです｡ 

15:15.190 --> 15:18.560
本日のチュートリアルを楽しんでいただければと思います｡ 

15:18.580 --> 15:20.620
それまでは､ Iをお楽しみください｡ 
