WEBVTT

00:00.910 --> 00:04.540
こんにちは､ 人工知能のコースにようこそ｡ 

00:04.810 --> 00:12.100
前回､ マルコフ決定過程のチュートリアルをかなり長くやりましたが､ 皆さんはそれに慣れていて､

00:12.130 --> 00:18.950
私が親しみやすく､ 魅力的な方法で説明できたと思います｡

00:18.970 --> 00:22.630
そして今日は､ ポリシーとプランの比較についてお話します｡ 

00:22.660 --> 00:27.160
これから新しい世界に入るので､ 手っ取り早く楽しいチュートリアルになりそうです｡ 

00:27.160 --> 00:33.160
確率的探索､ 非決定論的探索の世界に入りつつあり､ 単に迷路を通り抜けるだけでなく､

00:33.160 --> 00:37.630
この迷路を通るときに頭を打つかもしれないランダムな要因も考慮し､

00:37.660 --> 00:41.050
それに対する備えが必要なのです｡

00:41.050 --> 00:44.440
それが､ 私たちエージェントの生きる世界です｡ 

00:44.440 --> 00:46.750
そして､ その方が楽しいのですが､ 危険でもあるのです｡ 

00:46.750 --> 00:47.260
それ以上です｡ 

00:47.260 --> 00:48.460
予測しにくくなる｡ 

00:48.460 --> 00:50.800
では､ エージェントはどのように行動するのでしょうか？

00:50.830 --> 00:51.670
見てみよう｡ 

00:52.000 --> 00:57.730
マルコフ決定過程のフレームワークがありますが､ これもまた私たちの大好きなベルマン方程式です｡ 

00:58.090 --> 01:01.960
しかし､ 我々が扱っていたベルマン方程式は､ より高度なものであった｡ 

01:01.960 --> 01:04.360
だから､ これからはこれを開発方程式と呼ぶことにしよう｡ 

01:04.480 --> 01:07.810
そして､ ここですべてのアクションの中で最大値を得ることができました｡ 

01:07.810 --> 01:13.960
つまり､ ある状態とその状態の値は､ エージェントがその状態で実行しうるすべての行動にわたる最大値なのです｡

01:13.960 --> 01:21.160
そして､ その最大値は､ エージェントが状態において行動aを行うことによって得られる報酬に､

01:21.160 --> 01:25.570
新しい状態の期待値を乗じた割引率を加えたものである｡

01:25.570 --> 01:31.810
どのような状態になるか正確には分からないので､ ここで期待値を取っておく｡

01:31.810 --> 01:42.550
環境には､ 状態を変化させるランダムな効果が存在し､ 目的の状態にならない可能性があります｡

01:42.550 --> 01:44.080
違う状態になってしまうかもしれません｡ 

01:44.080 --> 01:47.380
だから､ この期待値､ この合計をとっているのです｡ 

01:47.830 --> 01:53.590
では､ これを例として､ あるいは迷路の例で見てみましょう｡ 

01:53.590 --> 01:56.650
以前はこんな感じだったんですね｡ 

01:56.650 --> 02:01.780
つまり､ 以前は決定論的な探索を扱っていたわけですから､ それは分かっていたのです｡ 

02:01.780 --> 02:04.750
よし､ じゃあここにいたら絶対行かなきゃいけないね｡ 

02:04.750 --> 02:06.550
ここにいたら､ 絶対に行かなきゃいけない｡ 

02:06.550 --> 02:08.120
ここにいたら､ 絶対に行かなきゃいけない｡ 

02:08.140 --> 02:08.920
ここにいれば､ ここにいる｡ 

02:08.920 --> 02:11.230
だから､ すべてがわかりやすかったんです｡ 

02:11.230 --> 02:14.560
この地図ができたら､ 私たちはこれを「プラン」と呼んでいましたね｡ 

02:14.560 --> 02:17.350
プランが決まれば､ あとは何をすればいいのか､ とてもわかりやすいですね｡ 

02:17.830 --> 02:18.930
エラーがあります｡ 

02:18.940 --> 02:20.380
矢を使ったプランなんですね｡ 

02:20.380 --> 02:23.140
そして､ ここから先は非常にわかりやすかったです｡ 

02:23.140 --> 02:24.700
これらは､ エージェントが通る道です｡ 

02:24.700 --> 02:27.850
このブルーラインのどこからスタートしても､ それはそれとして｡ 

02:28.510 --> 02:31.060
しかし､ 今はもうプランがない｡ 

02:31.060 --> 02:36.490
計画を立てられないのは､ 計画したことが実現しないかもしれないからです｡ 

02:36.490 --> 02:37.600
私たちの手には負えません｡ 

02:37.600 --> 02:40.840
計画とは､ 次に何をすべきかが明確に分かっている状態です｡ 

02:40.840 --> 02:41.710
手順はわかっているはずだ｡ 

02:41.710 --> 02:46.990
つまり､ スタート地点があり､ ゴールがあり､ すべてのステップがわかっているので､ 計画を立てることができるのです｡

02:46.990 --> 02:48.850
これをやる､ これをやる､ これをやる､ みたいな感じなんですね｡ 

02:49.000 --> 02:50.350
自分の人生のように､ 計画のように｡ 

02:50.350 --> 02:54.790
でも同時に､ ランダム性がすごくあるんです｡ 

02:54.790 --> 03:00.490
ここまで来て､ 右をクリックして実際にダウンさせたらどうするんだ､ という計画性がないんですね｡

03:00.490 --> 03:01.990
それは計画には含まれていないのですね｡ 

03:02.050 --> 03:03.880
だから､ もうプランとは呼ばないんです｡ 

03:03.880 --> 03:11.800
そしてここでは､ この同じ問題に対して､ 値を計算したり､ 実際に計算された値を見たりすることになります｡

03:11.800 --> 03:18.220
しかし､ 基本的には､ 内部にランダム性があることを前提にしているので､ これが新しい値です｡ 

03:18.610 --> 03:21.040
それで､ なぜその価値観が違うのか｡ 

03:21.040 --> 03:22.810
では､ 以前と比較してみましょう｡ 

03:22.810 --> 03:24.220
以前はこんな感じでした｡ 

03:24.550 --> 03:25.600
これが新しい価値観です｡ 

03:25.600 --> 03:33.850
もう一度言いますが､ 以前は10と表示されていました｡  9, 0. 81､ 73､ 66､ そしてこれが今ある86です｡ 

03:33.850 --> 03:36.650
だからレッスン1､ 74､ 71､ 63という具合に｡ 

03:36.670 --> 03:43.540
ちなみに､ これは私の頭の中の正確な値ではありませんが､ エージェントを実行するとしたら､

03:43.540 --> 03:46.300
値はこのようなものになるでしょう｡

03:46.810 --> 03:51.850
また､ 0を選択するガンマによって､ 値が変わる可能性があるからです｡  9 などの値を設定する｡ 

03:51.850 --> 03:56.230
しかし､ それでも､ 議論のために､ 今､ 私たちが扱っているのは､ このような価値観なのです｡ 

03:56.350 --> 03:57.730
しかも､ おおよそである｡ 

03:57.730 --> 04:00.970
その中で､ 全体のイメージを正しく伝える｡ 

04:00.970 --> 04:02.200
では､ 見てみましょう｡ 

04:02.200 --> 04:03.160
なぜ変わったのでしょうか？

04:03.160 --> 04:05.620
さて､ なぜここに......まずはこの一枚から｡ 

04:05.620 --> 04:07.210
ここで､ 値は1である｡ 

04:07.210 --> 04:09.400
なんでいきなり0なんだ｡  86?

04:09.400 --> 04:10.240
なぜ1より少ないのですか？

04:10.240 --> 04:11.140
ここから先は？

04:11.140 --> 04:11.650
ここで？

04:11.650 --> 04:22.270
というのも､ ここから右に進むと､ つまり我々の意図したとおりに進むと､ 10％の確率でここにたどり着けるからです｡

04:22.270 --> 04:27.190
つまり､ 壁にぶつかると､ この状態に戻ってしまうのです｡ ガンマがあるので､ 値は割引かれ､

04:27.190 --> 04:32.080
あるいは10%の確率でこの状態に戻ってしまうことを思い出してください｡

04:32.080 --> 04:34.870
だから､ 100％の確率でここに来るわけではないんです｡ 

04:34.870 --> 04:37.360
したがって､ この値はもはや1ではありえない｡ 

04:37.360 --> 04:41.290
何か少なくて､ 仮に0とします｡  86.

04:41.290 --> 04:43.720
だから､ こうなっているんだという例です｡ 

04:43.720 --> 04:49.660
そして､ 今あるベルモント方程式､ 完全なベルモント方程式を計算すれば､ 正確な値を得ることができるのです｡

04:49.690 --> 04:54.160
唯一の問題は､ この値を知っている必要があり､ さらにこの値も知っている必要があるため､

04:54.160 --> 04:55.780
再帰性があることです｡

04:55.810 --> 04:59.050
かなり複雑なので､ ここでは手計算をしないようにしています｡ 

04:59.050 --> 05:00.160
だからこそのa but the｡ 

05:00.420 --> 05:03.000
このまま通せばいいんです｡ 

05:03.050 --> 05:07.650
AIがこういうことを計算するのは､ あまり複雑なことはないような気がするんです｡ 

05:08.400 --> 05:09.990
それが､ 私たちの価値です｡ 

05:09.990 --> 05:11.460
でも､ いろいろなものを見てみましょう｡ 

05:11.460 --> 05:14.520
だからここでは､ 以前は0だったんです｡  9 ただ､ 割引率の関係で

05:14.520 --> 05:19.770
ここからまたここへ､ 今度はここから､ 単純にここからここへジャンプすることはできない｡ なぜなら､

05:19.770 --> 05:23.720
このようにジャンプしても､ 結局はここに戻ってしまうかもしれないからだ｡

05:23.730 --> 05:24.870
この奥､ 右側です｡ 

05:24.870 --> 05:29.640
壁にぶつかったり､ またぶつかったりして､ まだ広場にとどまる可能性が20％あるんです｡ 

05:29.670 --> 05:32.640
だから､ ここにいることの価値は0なんです｡  71.

05:32.640 --> 05:39.780
繰り返しになりますが､ この割引率､ あなたにはこれが割引率でも高すぎるというのは変に見えるかもしれません｡

05:39.810 --> 05:44.550
もしかしたら､ この例の割引率は0ではないかもしれません｡  9､ もしかしたら0かもしれない｡  99とかそんな感じ｡ 

05:44.550 --> 05:46.230
だから､ そんなことは気にしなくていいんです｡ 

05:46.230 --> 05:48.420
ただ､ そこに集中するような感じです｡ 

05:48.420 --> 05:58.860
値が小さくなったのは確かに､ 得たい状態になる確率が100％でないことがほとんどです｡

05:58.980 --> 06:05.220
そして､ 興味深いのは､ ここでは､ 以前は0だったということです｡  9 と､ 実はとても下がっているのです｡

06:05.230 --> 06:06.420
大幅に低下しています｡ 

06:06.420 --> 06:07.020
それはなぜでしょうか？

06:07.020 --> 06:12.090
まあ､ ここから上に行くと､ 我々の意図するところでは､ 壁にぶつかる確率は10％ですが､

06:12.090 --> 06:18.600
実際に火床に落ちて報酬がマイナス1になる確率も10％ですからね｡

06:18.600 --> 06:22.620
そして基本的に､ エージェントにとっては､ それでゲームオーバーということになる｡ 

06:22.980 --> 06:25.530
それで､ これは非常にまずい状態なんです｡ 

06:25.530 --> 06:28.670
それで､ 突然ですが､ 思い出してください､ 私たちは0だったのです｡  9ここで一点｡ 

06:28.680 --> 06:29.810
つまり､ 同等だったわけです｡ 

06:29.830 --> 06:34.710
あなたがここにいようが､ ここにいようが､ それぞれの州にいる価値はほぼ同じです｡

06:34.710 --> 06:41.340
でも､ 突然､ この州がこの州のほぼ2倍の性能を持つようになったんです｡ 

06:41.340 --> 06:46.800
単純に､ ここで､ あなたに直行したら､ 行きたいところに直行する､ ということだけです｡ 

06:46.800 --> 06:51.180
ランダム性が発生した結果､ あなたはここにとどまることになります｡ 

06:51.180 --> 06:51.510
これです｡ 

06:51.750 --> 06:54.600
その結果､ 10％の確率で落とし穴に落ちてしまうのです｡ 

06:54.810 --> 07:03.180
このように､ 何か変動が起きるというだけで､ もうそんなに良い状態ではないのです｡

07:03.270 --> 07:09.090
見ての通り､ こちらもit'sは10%の確率でしか終わらない､ 10%の確率で壁になってしまうという点では､

07:09.090 --> 07:12.390
こちらと同様に非常に悪いですから｡

07:12.390 --> 07:14.940
しかし同時に､ ディスカウントの要素もある｡ 

07:14.940 --> 07:20.220
だから､ まず値引き要素､ そしてこの後､ ここに行く必要があります｡ 

07:20.400 --> 07:23.820
それに､ 仮にここに行ったとしても､ また落とし穴に落ちてしまうかもしれない｡ 

07:23.820 --> 07:28.620
つまり､ この値はこの値から導き出され､ この値はこの値から導き出される､ ということを思い出して､

07:28.620 --> 07:32.190
その偶然性も考慮されるでしょう｡

07:32.190 --> 07:34.020
それゆえ､ 小さいのです｡ 

07:34.020 --> 07:37.290
しかし､ 実際には､ 私がそこで言ったことは間違っていたのです｡ 

07:37.290 --> 07:39.540
この値から派生したものではありません｡ 

07:39.540 --> 07:47.190
だから､ 今見てみると､ この値V0は､ 実はこの値よりも大きいことがわかると思います｡

07:47.340 --> 07:53.670
エージェントにとっては､ こっちよりこっちで回った方がいいということに気がつくはずです｡ 

07:53.670 --> 07:54.690
そして､ それは理にかなっているのですね｡ 

07:54.690 --> 07:56.970
この方法なら負けないから｡ 

07:57.150 --> 07:58.530
ピットを手に入れるチャンスはない｡ 

07:58.530 --> 07:59.700
はい､ 少し長くなりました｡ 

07:59.700 --> 08:03.300
したがって､ 割引率はより大きな効果をもたらします｡ 

08:03.300 --> 08:09.000
でも同時に､ ここでピットに入る可能性があるから､ まっすぐ行けば､ ジャンプを超える可能性もある｡

08:09.180 --> 08:15.480
だから､ むしろじっくりと時間をかけて､ その方が手に入る確率がずっと低いから､ 回りくどいことをするのでしょう｡

08:15.630 --> 08:16.350
今でもありますよ｡ 

08:16.350 --> 08:18.090
ここから先は､ そこに向かっていくわけです｡ 

08:18.570 --> 08:19.530
ここから先が本番です｡ 

08:19.530 --> 08:25.590
ピットの中に入ってしまう可能性もありますし､ ピットの中に入ってしまう可能性もあるからです｡

08:25.590 --> 08:27.270
だから､ そんな感じで回ってしまうんです｡ 

08:27.270 --> 08:30.150
だから､ それらがどのように変化しているのか､ とても興味深い｡ 

08:30.150 --> 08:32.370
以前は､ ここからこのように進んでいたのを覚えていますか？

08:32.370 --> 08:34.710
ここからはああやって､ ここからはこうやってと｡ 

08:34.710 --> 08:36.750
そして今､ 突然の変化を目の当たりにしているのです｡ 

08:36.750 --> 08:38.580
では､ 矢印を描いて､ 今どんな感じか見てみましょう｡ 

08:39.300 --> 08:43.680
そして､ ほら､ さらにランダムなものが見えるでしょう？

08:43.680 --> 08:45.180
そうそう､ これは本当なんです｡ 

08:45.180 --> 08:46.440
しかし､ ここで起きたことを見てください｡ 

08:46.440 --> 08:47.520
これを見てください｡ 

08:47.550 --> 08:48.600
これを見てください｡ 

08:48.810 --> 08:50.400
それを期待しているのでしょうか？

08:50.400 --> 08:54.480
それは､ 初めて見たときに､ とても感動したことです｡ 

08:54.480 --> 08:55.320
私は驚きを隠せませんでした｡ 

08:55.320 --> 08:57.120
私は......驚きませんでした｡ 

08:57.120 --> 08:59.430
そして､ まったく期待していなかった｡ 

08:59.700 --> 09:04.620
そして､ これは......私が人間を出し抜くことができる例です｡ 

09:05.070 --> 09:08.250
自分でも予測できないようなこととは違う｡ 

09:08.250 --> 09:12.210
しかし､ そのA． I. 強化学習によって､ 犬が､

09:12.210 --> 09:18.660
現実の犬やあらかじめプログラムされたロボット犬よりもうまく動いたり､ サッカーをしたりできることがありますが､ それは単に､

09:18.660 --> 09:22.200
私たちにも見えないようなアイデアを思いつくからです｡

09:22.200 --> 09:23.580
というわけで､ いい例ですね｡ 

09:23.580 --> 09:23.730
そうですね｡ 

09:23.730 --> 09:28.800
だから､ あなたも予想外だったでしょう｡ エージェントが､ 上に行く代わりに､ 「上に行ったら､

09:28.800 --> 09:33.060
10％の確率で落とし穴に飛び込むことになるんだ」と｡

09:33.060 --> 09:35.040
しかし､ 壁の中に入っていくことで､ 何が実現されるのでしょうか｡ 

09:35.040 --> 09:41.910
まあ､ 8割はぶり返してこの状態のままですが､ 1割はここに行き､ 1割はここに行くということですね｡

09:42.090 --> 09:48.930
突然ですが､ 実は今､ 壁に飛び込むという新しいアプローチになっていることがおわかりいただけると思います｡ 

09:48.930 --> 09:52.980
この場所から焚き火台に入る可能性は0％です｡ 

09:52.980 --> 09:55.500
それで､ どうしても焚き火台に入りたくないみたいなんです｡ 

09:55.500 --> 09:59.610
だから､ 何度か壁にバウンドしてボンドを描くんです｡ 

09:59.880 --> 10:03.000
そのランダムが起こるので､ ある時点で右か左のどちらかに行ってください｡ 

10:03.000 --> 10:05.640
そして､ それを実験を通して学んでいったのです｡ 

10:05.640 --> 10:11.310
前に進むと､ 壁にぶつかると結果が出ないことを学びました｡ 

10:11.310 --> 10:15.770
そして､ このロボット､ 焚き火台のように考えてみると､ まさにこの四角いものが､

10:15.780 --> 10:19.470
とても小さな棚板のようなものなのです｡

10:19.590 --> 10:21.510
そして､ これは山のような､ 崖のようなものです｡ 

10:21.510 --> 10:31.080
このロボットは崖を抱きしめて､ 崖を右か左に押すまで待っているようなものです｡

10:31.080 --> 10:32.400
そんな向きで立っているわけがない｡ 

10:32.400 --> 10:34.890
そうすると､ 崖に抱きつくような形になるじゃないですか｡ 

10:34.890 --> 10:35.760
とか､ そんな感じです｡ 

10:35.760 --> 10:39.510
そして､ 願わくば､ そのような状況に陥ることがないようにしたいものです｡ 

10:39.510 --> 10:43.500
でも､ ビジュアル的に､ ただビジュアル的に､ 考えてみれば､ ここも同じこと｡ 

10:43.500 --> 10:46.380
という感じで､ かなり強烈なんですね｡ 

10:46.380 --> 10:51.630
そこで思いついたのが､ 左に行って喧嘩になるリスクを冒す代わりに､ 壁を跳ね返したり､

10:51.630 --> 10:56.850
壁に抱きついたり､ どこかのタイミングで壁に飛び込んでみようと思ったことです｡

10:56.850 --> 11:00.840
確率があるだけに10％の可能性もあることは分かっている｡ 

11:00.840 --> 11:04.350
そのたびに､ ここに行ってみよう､ たまにはこうしてみよう､ 無事に終わってみよう､

11:04.350 --> 11:05.700
そんな感じで進めています｡

11:06.570 --> 11:13.020
このように､ 非常に興味深いアプローチで､ 根っこはこのようになっています｡

11:13.020 --> 11:17.370
ここから右に行き､ 出口まで右に行くかもしれないし､ ここはこのように左に行き､

11:17.370 --> 11:22.140
ここはある時点で左に行き､ また同じように行くかもしれません｡

11:22.140 --> 11:23.340
このことを理解することが重要です｡ 

11:23.340 --> 11:24.030
ポリシーがないんです｡ 

11:24.030 --> 11:28.110
だから､ ここからジャンプしても､ もしかしたらここに行くかもしれない｡ 

11:28.110 --> 11:31.770
そして､ ここから先は直進するのではなく､ 実際には右に戻るかもしれませんし､

11:31.770 --> 11:33.930
ここから先は左へ行くかもしれません｡

11:33.930 --> 11:34.290
わかりました｡ 

11:34.290 --> 11:36.390
だから､ いろいろな選択肢があるんです｡ 

11:36.390 --> 11:37.710
だから､ この通りにはいかないかもしれません｡ 

11:37.710 --> 11:38.640
私は逆になるかもしれません｡ 

11:38.670 --> 11:42.360
これは､ あくまでも自ら設計した希望通りのルートです｡ 

11:42.360 --> 11:44.610
しかし､ その方法は実は違う可能性があるのです｡ 

11:44.610 --> 11:46.050
現実の世界次第です｡ 

11:46.050 --> 11:46.860
そうそう､ そうなんです｡ 

11:46.860 --> 11:50.010
それが人工知能の世界です｡ 

11:50.010 --> 11:52.350
それがポリシー対プランというものです｡ 

11:52.470 --> 12:01.170
そして､ AIに何ができるのか､ 特にここで見たようなことを考えると､ 徐々にワクワクしてきたのではないでしょうか｡

12:01.170 --> 12:07.410
これらは､ AIが考え出した非常に名人芸的な判断です｡ 

12:07.410 --> 12:12.720
そして､ この小さな例からもわかるように､ AIを応用すると､ 実世界でAIをプレイしたときに､

12:12.720 --> 12:19.170
もしかしたら､ 時には人間でも思いつかないようなアイデアや判断が生まれるかもしれません｡

12:19.170 --> 12:25.890
これはまさに､ Google AlphaGoが囲碁の世界チャンピオンに返り咲いた､

12:25.890 --> 12:32.250
韓国の囲碁チャンピオン､ イ・セドル氏と対局した時のようなものです｡

12:32.250 --> 12:36.870
そして､ 彼らが韓国で演奏していたのは､ 2016年当時､ 3月だったと思います｡ 

12:36.870 --> 12:42.300
3000年間人類がやったことがない､ あるいは人類がやり慣れていないような技が出てきたのです｡ 

12:42.300 --> 12:45.450
そして､ これはまさにその一例です｡ 

12:45.450 --> 12:50.160
ですから､ もう一度､ このコースと私たちが作るものに対して､ ワクワク､ ドキドキしていただけたらと思います｡

12:50.160 --> 12:52.590
そして､ 次回お会いできるのを楽しみにしています｡ 

12:52.590 --> 12:54.150
それまではお楽しみに｡ 

12:54.180 --> 12:54.720
I.
