WEBVTT

00:00.910 --> 00:03.850
こんにちは､ 人工知能の講座にようこそ｡ 

00:03.850 --> 00:06.550
今日はいよいよキュー・ラーニングの話です｡ 

00:06.940 --> 00:07.450
わかりました｡ 

00:07.450 --> 00:13.050
ベルモント方程式という方程式があって､ それにいろいろな要素を足していったわけです｡ 

00:13.060 --> 00:19.510
この報酬は､ 最後の最後だけでなく､ どの段階でも得ることができるのです｡ 

00:19.840 --> 00:26.050
割引係数と確率があります｡ マルコフ決定過程を見ているのですから､

00:26.110 --> 00:31.810
どのような行動をとっても､ あるいは実際にどのような行動をとっても､

00:31.810 --> 00:40.180
異なる状態で終わる確率があります｡

00:40.180 --> 00:46.600
というわけで､ 再帰的な関数などのようなものであることはおわかりいただけたと思いますが､ おそらくまだ1つ疑問があるのではないでしょうか｡ 

00:46.660 --> 00:51.250
問題は､ この中のどこに文字があるかということです｡ 

00:51.250 --> 00:54.220
Q なぜ､ すべてQラーニングというのですか？

00:54.220 --> 00:55.720
で､ Qはどこだ？

00:55.720 --> 00:58.660
という問いに､ 今日はお答えします｡ 

00:58.660 --> 01:04.480
これまでは､ ある状態であることの価値､ つまり「価値」を扱ってきました｡ 

01:04.480 --> 01:09.700
そして今度は､ そのすべてにQがどう関わってくるかを見ていきます｡ 

01:09.820 --> 01:12.040
そこで､ ここでは2つの事例を紹介します｡ 

01:12.040 --> 01:14.410
左側がこれまでの内容です｡ 

01:14.410 --> 01:17.950
うちのエージェントは､ よし､ こっちだ､ と分析しています｡ 

01:17.950 --> 01:21.520
これは決定過程のマークですから､ 私がどうやってここに来たかは関係ありません｡ 

01:21.550 --> 01:26.170
他の環境は､ 私がここに来るまでにかかった歩みを気にしていません｡ 

01:26.170 --> 01:33.070
これからは､ 現在の状態と､ 過去ではなくここから来る未来のすべての状態から､ 「ここ､ ここ､

01:33.070 --> 01:37.150
ここ」と最適な判断をしなければならないのです｡

01:37.150 --> 01:39.580
そして､ 3つの選択肢があることを知ることができるのです｡ 

01:39.580 --> 01:42.010
州1州から州3州まであるんですよ｡ 

01:42.010 --> 01:49.780
そして､ その経験をもとに､ これらの州の値を計算し､ 今度はベルモントの方程式を使うのです｡

01:49.780 --> 01:53.950
だから､ 確率的なプロセスであっても､ ここに行くということは分かっていても､

01:53.950 --> 01:56.020
左や右に行く可能性もあるわけです｡

01:56.020 --> 02:00.550
その価値観に基づいて判断していく､ それがこれまでの私たちのやり方であり､

02:00.550 --> 02:03.280
ここでの正当なアプローチなのです｡

02:03.280 --> 02:05.590
しかし､ 今度はそれを少し修正するのです｡ 

02:05.590 --> 02:10.270
同じコンセプトで､ 同じ問題を扱います｡ 

02:10.270 --> 02:15.970
しかし､ ここでは､ 彼が行き着く可能性のある各状態の値を見るのではなく､

02:15.970 --> 02:21.340
各行動の値､ つまり価値を見ることにするのです｡

02:21.340 --> 02:25.240
だから､ Vは状態の価値を表すものなので､ もうVという文字は使わないことにしています｡ 

02:25.240 --> 02:29.710
Qを使い､ なぜその文字なのかという疑問があるかもしれません｡ 

02:29.710 --> 02:30.460
Q さて｡ 

02:30.490 --> 02:32.230
Q そう推測する人もいますね｡ 

02:32.230 --> 02:36.280
Q そういえば､ これを読んだのですが､ たしかQuoraで誰かが言っていましたね｡ 

02:36.280 --> 02:41.650
Qは品質が理由ですが､ 同時に､ それ以外の言及も見つけられませんでした｡ 

02:41.650 --> 02:45.610
だから､ そのせいではなく､ 当時使われていた文字がそうだっただけかもしれません｡ 

02:45.610 --> 02:50.410
それが今､ 超人気になっているのは､ そのせいでQラーニングと呼ばれるようになったからです｡ 

02:50.500 --> 02:57.010
だから､ なぜQと呼ばれるのか正確な理由はわからないが､ 少なくともVとQを区別するのに役立つ｡ 

02:57.010 --> 03:03.250
つまり､ ここでのQは､ それが表す状態の値ではなく､ 「質」を表しているのです｡ 

03:03.250 --> 03:06.190
表現する行為の質を表しています｡ 

03:06.400 --> 03:07.840
だから､ 4つのアクションを用意したんです｡ 

03:08.050 --> 03:10.750
これらのアクションは､ どのような性質の違いがあるのでしょうか？

03:10.750 --> 03:14.200
アクションの価値や質は何ですか？

03:14.200 --> 03:15.670
どちらの行為がより有利か？

03:15.670 --> 03:19.600
だから､ この行動をどう数値化するかという指標が必要なんです｡ 

03:19.600 --> 03:20.770
そして､ それを比較することができるのです｡ 

03:20.770 --> 03:22.570
そして､ それこそがQなのです｡ 

03:23.170 --> 03:28.930
そして､ ここで彼は､ いつものように､ 上､ 右､ 左､ 下と4つの行動を取ることができます｡ 

03:28.930 --> 03:35.110
そして､ その行動に基づいて､ その行動の定量的な価値､ 私たちはそれをQと呼んでいるのですが､

03:35.110 --> 03:38.350
そのQ値を知るための公式があります｡

03:38.350 --> 03:41.650
では､ この式をどのように導き出すか､ 見てみましょう｡ 

03:41.650 --> 03:44.110
Q 実際にはどのような関係があるのでしょうか？

03:44.110 --> 03:51.940
V なぜなら､ 想像できるように､ 行動が国家につながるのですから､ 両者の間には何らかのつながりがあるはずですからね｡

03:51.940 --> 03:55.960
私たちは､ この計算方法をすでに決定しており､ かなり得意としています｡ 

03:55.960 --> 04:01.960
私たちはベルマン方程式と､ たくさんの異なる複雑さを持つ非常に異なる環境の使い方を知っています｡ 

04:01.960 --> 04:08.620
では､ その知識を活かして､ 同じ予測をするために､ 今どのようにQを計算すればいいのかを理解しましょう｡

04:08.620 --> 04:14.210
ご想像の通り､ どのようなアプローチをとっても､ 環境は変わりませんから｡

04:14.210 --> 04:16.270
環境は関係なく同じになる｡ 

04:16.270 --> 04:24.400
ですから､ この方法とこの方法は常に同じ結果をもたらすはずで､ それゆえにこの2つをリンクさせるべきもう1つの理由です｡

04:24.880 --> 04:26.020
では､ 見てみましょう｡ 

04:26.020 --> 04:32.110
ここでは､ 任意の状態､ この状態､ または他の状態の値を見るというアプローチをとります｡

04:32.110 --> 04:36.880
そしてここでは､ 現在の状態を表すSという文字を使っています｡ 

04:36.880 --> 04:40.480
従って､ どちらの式でも用語は同じになります｡ 

04:40.480 --> 04:45.460
そして､ ここではQを､ 状態sとアクションの?

04:45.460 --> 04:49.420
A アクションが上がっているからですが､ どの状態でそのアクションを行ったのか？

04:49.420 --> 04:51.700
その動作をステートで行うのです｡ 

04:51.700 --> 04:56.350
S さて､ それでは最初のアプローチの方程式を書き出してみましょう｡ 

04:56.350 --> 05:00.370
ここでわかるように､ SEのVがあるので､ その値｡ 

05:00.480 --> 05:05.490
任意のステータスは､ 得られる報酬の最大値です｡ 

05:05.500 --> 05:08.070
だから､ 自分の持っているアクションをベースに最大化する｡ 

05:08.070 --> 05:10.350
この場合の3つは､ 実際には4つのアクションがあります｡ 

05:10.350 --> 05:12.690
だから､ 可能な限りのアクションの中から最大限のものを｡ 

05:12.690 --> 05:15.240
そして､ すでに何度も議論してきたこの部分について｡ 

05:15.240 --> 05:29.370
つまり､ これはその状態でその行動を行うことで得られる報酬に､ これから新たに入る状態の期待値と確率的なプロセスであるため期待値を掛けた割引率を加えたものです｡

05:29.370 --> 05:32.940
こっちで終わるかどうか､ 正確にはわからないんです｡ 

05:32.940 --> 05:35.820
ある確率で右か左かに分かれるかもしれません｡ 

05:35.820 --> 05:37.590
だから､ この確率はここにあるのです｡ 

05:38.100 --> 05:38.430
わかりました｡ 

05:38.430 --> 05:40.170
それが私たちの価値なんですね｡ 

05:40.170 --> 05:41.370
そして､ 次はQについてです｡ 

05:41.370 --> 05:43.410
だから､ Qは定義されることになる｡ 

05:43.410 --> 05:45.030
これを使って定義するんです｡ 

05:45.030 --> 05:50.550
Q では､ この場所から､ この状態のエージェントが､ upというアクションを実行したとします｡ 

05:50.550 --> 05:54.290
Q値は何倍になるのでしょうか？

05:54.300 --> 05:59.220
さて､ まずはこのアクションアップを実行することで､ 彼が何を得ることができるかを見てみましょう｡ 

05:59.220 --> 06:01.950
まず､ ご褒美がありますよね？

06:01.950 --> 06:05.500
それは､ 間違いなく､ 何らかの報酬があることを知っているからです｡ 

06:05.500 --> 06:06.210
ゼロかもしれない｡ 

06:06.210 --> 06:15.840
でも､ この強化学習の仕組みは､ ある状態からある行動をすると､ 報酬が発生することがあるんです｡

06:15.840 --> 06:19.620
ここにそれを追加して､ 次に何を追加するのか？

06:19.620 --> 06:21.030
さて､ 考えてみよう｡ 

06:21.030 --> 06:24.570
報酬を手にした後､ 次に起こることは何でしょうか？

06:24.570 --> 06:29.610
さて､ 次に起こることは､ 今､ エージェントがある状態にあるということです｡ 

06:29.970 --> 06:34.530
80％の確率で､ あるいはある程度の確率で､ 彼はここで終わるかもしれない｡ 

06:34.530 --> 06:36.570
でも実際は､ ここかここに上がるんですよね｡ 

06:36.570 --> 06:46.980
しかし､ 彼が今どこにいようとも､ 彼がいるその状態の数値化された指標はすでにあり､ それは実際にその状態の価値なのです｡

06:46.980 --> 06:52.080
しかし､ 考えられる異なる3つの状態のうち､ 彼が多くの異なる状態になることはありえないので､

06:52.080 --> 06:55.410
彼がいるであろう状態の期待値を見る必要があるのです｡

06:55.950 --> 06:57.660
それで､ それを追加するのです｡ 

06:57.660 --> 07:03.840
もちろん､ これまでのように割引要素を加えるのは､ どこか未来の話だからです｡

07:03.840 --> 07:13.920
そして､ この行動をとることによって彼が行き着く可能性のあるすべての状態､ 確率の回数の総和を加えることになります｡

07:13.920 --> 07:20.100
つまり､ ある行動をすることで､ 報酬プラス､ 定量化されたメトリックを得ることができ､ さらに､

07:20.100 --> 07:24.720
どの状態かわからない状態で終わることができる､ ということです｡

07:24.720 --> 07:25.680
ここにあるのかもしれない｡ 

07:25.680 --> 07:26.160
ここにあるのかもしれない｡ 

07:26.160 --> 07:26.820
ここにあるのかもしれない｡ 

07:26.820 --> 07:31.980
でも､ ここにあるのは､ その状態になるまでの期待値です｡ 

07:31.980 --> 07:35.850
そして今度は､ それが一手前だからということで､ 割引率を掛けることになる｡ 

07:36.150 --> 07:40.860
これが､ このアクションを実行するためのキュー値です｡ 

07:41.040 --> 07:44.610
そして､ ここですぐに気がつくのは､ そのことです｡ 

07:44.610 --> 07:51.240
Q Q値は､ 実はこの括弧の中にあるものと全く同じです｡ 

07:51.720 --> 07:52.590
それはなぜか？

07:52.590 --> 07:57.660
まあ､ ここで考えてみると､ 結果の最大値を取っているわけですからね｡ 

07:57.660 --> 08:00.900
可能な限りのアクションを駆使して､ 最大限の効果を得る｡ 

08:00.900 --> 08:04.950
つまり､ 4つのアクションがあり､ それぞれのアクションを実行したときに得られる結果の､

08:04.950 --> 08:07.950
すべての可能なアクションの中での最大値を取っているのです｡

08:08.040 --> 08:09.030
そして､ イン｡ 

08:09.030 --> 08:11.070
Q 面白いことを定義しています｡ 

08:11.070 --> 08:13.710
ある行動をとることで､ 何が得られるのか｡ 

08:13.710 --> 08:21.510
そう考えると､ ある状態の値だから､ 例えばこの状態は､ 考えられるすべてのQの値の中で最大である､

08:21.510 --> 08:25.870
というのは理にかなっていますよね｡

08:25.890 --> 08:32.820
つまり､ ここでこの状態になることで､ エージェントはQ値1に対してQ値3のQ値を持っていることになるのです｡

08:32.820 --> 08:34.860
つまり､ 彼は4つのQ値の可能性を持っている｡ 

08:34.860 --> 08:42.300
まあ､ 状態の値はQ値に対してそれらの最大値であることは理にかなっているのですが｡

08:42.300 --> 08:44.340
そして､ それはまさにここに見ることができます｡ 

08:44.340 --> 08:48.000
これは､ 私たちが導き出したこの新しい公式の良い確認になりますね｡ 

08:48.000 --> 08:52.170
もしそうでなかったら､ もしそれが一致しなかったら､ 疑問を持つことになるでしょう｡ 

08:52.170 --> 08:53.880
私たちは､ 「だから､ なんで？

08:53.880 --> 08:54.840
なぜ一致しないのか？

08:54.990 --> 08:56.940
なぜ一致しないのか？

08:56.940 --> 09:11.640
Q値はある行動を行うことの定量化された指標であり､ Vは4つに依存するとすれば､ 彼が行うことができる4つの行動の可能な結果の最大値であるようなものである｡

09:12.000 --> 09:16.920
これで､ 今導出した数式が確認できたと思います｡ 

09:17.190 --> 09:20.970
そして､ 今度はもっと面白くする｡ 

09:20.970 --> 09:26.010
Vは完全に取り除くつもりです｡ なぜなら､ ここでVはVの再帰関数であることがわかりますから､

09:26.010 --> 09:29.700
VとV､ そしてVとV､ といった具合です｡

09:29.700 --> 09:36.720
つまり､ このVを次のV､ ここに出てくる最も最適なVのすべてで表現すればいいのです｡

09:36.810 --> 09:45.150
QをVの再帰関数として､ あるいは次のVの関数として表現しているのですが､ このVを突っ込んで､ またVに戻ることになります｡

09:45.150 --> 09:52.050
そこで､ このVを実際に使ってみて､ 次のように置き換えてみます｡

09:52.200 --> 09:53.100
Q そうなんですね｡ 

09:53.100 --> 09:54.240
では､ その様子を見てみましょう｡ 

09:55.050 --> 10:01.080
次の状態のこのVを､ ここにある式に差し込むのです｡ 

10:01.320 --> 10:05.490
そして､ 今お見せしたように､ この部分は変わらないわけです｡ 

10:05.490 --> 10:06.990
この確率は変わりません｡ 

10:06.990 --> 10:16.710
しかし､ 先ほど説明したように､ SEのvは､ SとAのQのすべての作用による最大値であることはすぐそこにある｡ 

10:16.710 --> 10:19.110
ということで､ ここで入れ替えることになります｡ 

10:19.110 --> 10:23.640
ということで､ 最大値というのは､ もちろん､ 新しいアクション､ これから取るべきアクションのことで､

10:23.640 --> 10:26.460
ここでは､ SプライムのVがありますから｡

10:26.460 --> 10:30.630
つまり､ 今､ 私たちはすべてのプライムで最大のものを手に入れたのです｡ 

10:30.630 --> 10:34.260
この状態から､ あるいはどこからでも､ 最終的には他のどの状態でも､

10:34.260 --> 10:39.840
そこから取ることになるアクションは､ それらすべてにわたって最大で､

10:39.840 --> 10:50.100
その新しい状態で利用可能なすべてのQ値のうちの最大値をプライムコンマ､ プライムとして指定します｡

10:50.100 --> 10:51.210
そして､ それがアクションです｡ 

10:51.210 --> 10:54.360
だから､ そこにもう4つのQ値があることになる｡ 

10:54.360 --> 10:56.400
では､ ご覧のように､ もう一度確認しましょう｡ 

10:56.790 --> 11:02.880
私たちが論理と直感を通して議論したことから導き出されるように､ VMは実際にはSとSのVであり､

11:02.880 --> 11:09.860
SのRリンクDはこれのQのすべてのアクションにわたって最大であることがわかる｡

11:09.930 --> 11:13.530
そして､ ここを見てください｡ この部分とこの部分は同じです｡ 

11:14.070 --> 11:18.900
そして､ それを活用して､ このビットをVに置き換えるのです｡ 

11:18.900 --> 11:21.420
ここから先はSですが､ この正確な式ではありません｡ 

11:21.420 --> 11:27.540
この内部の部分を､ QとAに置き換えるので､ ここに差し込むことにします｡

11:27.540 --> 11:28.890
そして､ この部分がそうなるのです｡ 

11:28.890 --> 11:36.570
QのS素数､ 素数なので､ 素数としてQのすべての素数を横切ってQの最大｡ 

11:36.810 --> 11:39.570
そして､ これで計算式が出来上がりました｡ 

11:39.570 --> 11:43.380
これで､ Q値の再帰式ができたわけです｡ 

11:43.380 --> 11:47.130
そこで､ エージェントは､ この行動の価値は何だろうかと考えることができるようになりました｡ 

11:47.130 --> 11:48.480
このアクションの質は？

11:48.480 --> 11:50.220
このアクションのQ値は？

11:50.220 --> 11:51.780
まあ､ 報酬次第なんですけどね｡ 

11:51.780 --> 11:53.940
その分､ すぐにステップアップできるんです｡ 

11:53.940 --> 12:04.020
それに割引係数時間にもよるが､ その状態で可能なすべてのQアクションの最大値だが､ そこまで行くかはわからない｡

12:04.020 --> 12:09.240
だから､ その状態､ その状態も見る必要があって､ そのためにこっちの期待値があるんです｡

12:09.240 --> 12:13.200
つまり､ 和の確率に最大値をかけたものが､ 期待値ということになります｡ 

12:13.200 --> 12:15.420
ですから､ ご覧のように非常によく似た方式です｡ 

12:15.420 --> 12:22.560
しかし､ 今回はQ値で表現しているので､ このアルゴリズム全体がQ学習と呼ばれているのは､

12:22.560 --> 12:26.880
これを見るためなのです｡

12:26.880 --> 12:28.440
これは､ 実際に代理店が使っているものです｡ 

12:28.440 --> 12:31.080
彼らは国家を見るのではなく､ 彼らの可能な行動を見るのです｡ 

12:31.080 --> 12:35.700
そして､ その行動､ その行動のQ値に基づいて､ どの行動をとるかを決めるのです｡ 

12:35.700 --> 12:40.230
つまり､ この状態でのQ値の最大値を見るだけで､ 4つのアクションがあるのです｡ 

12:40.230 --> 12:43.350
比較できるようにするためには､ どのようなアクションをとればよいのでしょうか？

12:43.350 --> 12:49.440
代わりに､ それが終わることができる別の状態を比較することは､ それが現在持っている可能なアクションを比較するつもりです｡

12:49.740 --> 12:57.300
そして､ 最適なものを見つけては､ その行動を起こし､ そのプロセスを繰り返していくのです｡

12:57.300 --> 13:04.080
報酬､ 割引率､ 確率的マルコフ決定過程､ V値､ Q値､ これらすべてがどのように組み合わされ､

13:04.230 --> 13:10.440
Q値に関する一つの超強力なベルマン方程式ができあがるのか､

13:10.440 --> 13:19.680
おわかりいただけたでしょうか？

13:20.160 --> 13:23.250
といった感じで､ 直感的に説明できるようになっています｡ 

13:23.250 --> 13:28.440
この章では､ VからQへの移行を説明し､

13:28.440 --> 13:38.370
両者が互いにどのように関連しているかを示しています｡

13:38.490 --> 13:46.830
また､ もう少し厳密なアプローチ､ 数学的なアプローチ､ そしてその背後にある数学を見て､ Q値やその仕組みについてもう少し学びたい場合は､

13:46.830 --> 13:53.850
追加の読み物を用意しています｡

13:54.030 --> 14:02.730
この論文は､ Martin von Otter Law 2009の「Markov Decision Processes, Concepts and Algorithms」という論文です｡ 

14:02.730 --> 14:12.390
いつものようにここにリンクがありますが､ ここでもう少し詳しく読むと､ キューの値などの細かい部分まで理解できますよ｡

14:12.390 --> 14:17.340
ベルモント方程式に関するこれらの事柄をすべて説明したところで､

14:17.340 --> 14:27.600
今度はこの論文のような､ より複雑なものを見て､ より深く理解するために必要な追加情報を得ようとするのです｡

14:27.600 --> 14:33.480
しかし､ この論文に既に目を通していなくても､ 学習とは何か､ エージェントはどのようにしてある環境で取るべき行動を思いつくのか､

14:33.480 --> 14:40.410
といった知識は十分に持っているはずです｡

14:40.680 --> 14:43.890
それでは､ 今日のチュートリアルをお楽しみください！次回もよろしくお願いします｡ 

14:43.890 --> 14:45.720
それまでは､ iをお楽しみください｡ 
