WEBVTT

00:00.710 --> 00:02.530
皆さんこんにちは､ そしてお帰りなさい｡ 

00:02.540 --> 00:11.420
この講義では､ 環境を整え､ 自力で解決しようとする方のために､ このようなよりハイレベルな概要を紹介したいと思います｡

00:11.420 --> 00:14.270
そして､ これは前回の講義で見覚えがあるかと思います｡ 

00:14.270 --> 00:15.770
というわけで､ 読み切った方､ 失礼しました｡ 

00:15.770 --> 00:17.510
本当にすぐに終わりますよ｡ 

00:17.840 --> 00:19.070
まずはじめに

00:19.070 --> 00:25.430
このプロジェクトでは､ あまり多くのライブラリをインポートする必要がないという意味で､ できるだけシンプルにすることを目標としています｡

00:25.430 --> 00:27.920
基本的にはNumPyを使うことになるんですけどね｡ 

00:27.920 --> 00:33.260
通常numpyの共通参照先であるNPとしてNumPyをインポートすれば良いのです｡ 

00:33.260 --> 00:37.490
そして､ ここにあるように､ 環境も整えたいと思います｡ 

00:37.490 --> 00:40.580
もう一度､ 概要を簡単に説明します｡ 

00:40.610 --> 00:46.250
Qの学習の最初のステップは､ 郵便配達人が移動しなければならない環境を定義することです｡ 

00:46.250 --> 00:50.210
その環境を整え､ 実際に反復して進めていく必要があるのです｡ 

00:50.510 --> 00:55.580
この講義では､ 環境は､ 状態､ 行動､ 報酬で構成されることになります｡ 

00:55.580 --> 01:01.160
状態とアクションはQ学習エージェントの入力であり､ 可能なアクションはエージェント､ 出力は我々が考えることができる状態であり､

01:01.160 --> 01:06.620
この画像を我々の表現として見ることができます｡

01:06.620 --> 01:11.870
この環境における状態とは､ この例の都市と呼ぶことのできる､ 都市内のすべての可能な場所のことである｡

01:11.870 --> 01:21.110
その中には､ 黒マスになる街の境界線もあれば､ 郵便配達人が街中を移動するのに使う小島もあります｡

01:21.110 --> 01:22.580
それが白い四角になります｡ 

01:22.670 --> 01:27.020
緑色の四角は､ 商品の梱包と発送場所を示しています｡ 

01:27.020 --> 01:31.520
黒と緑の四角は､ これからターミナルステートと呼ぶものです｡ 

01:31.520 --> 01:36.050
つまり､ 私たちの目標､ あるいはエージェントの目標は､ 最短経路を使うことなのです｡ 

01:36.050 --> 01:45.260
我々のエージェントは､ 品物の包装場所､ 瓶､ 緑､ そして郵便配達人が移動できる市内の他のすべての場所の間の最短経路を学習するようにしたいのです｡

01:49.360 --> 01:55.750
上の画像では､ 都市内の121の州または場所の可能性を示しています｡ 

01:55.780 --> 01:58.690
これらの状態は､ 11×11のグリッドに配置されています｡ 

01:58.720 --> 02:02.400
したがって､ 各位置はその行と列のインデックスによって識別できる｡ 

02:02.410 --> 02:04.510
では､ 最初の一歩は何でしょうか｡ 

02:04.510 --> 02:07.870
そして､ これをどのように定義するかということを考え始めてほしいのです｡ 

02:08.380 --> 02:10.420
私たちの環境を定義する必要があります｡ 

02:10.420 --> 02:13.180
これは､ 私たちのイメージやアプローチ方法をよく表しています｡ 

02:13.180 --> 02:14.580
では､ それをどのようにモデル化するのか｡ 

02:14.590 --> 02:20.890
我々はNumPyを使用しているので､ これらの境界を定義する必要があることを忘れないでください｡ そして､ 我々の表現を見るように､

02:20.920 --> 02:27.310
各状態と行動のペアの現在のQ値を保持するために3d numpy配列を定義することができます｡

02:27.400 --> 02:32.440
そして､ 慣れていない人､ あるいはこれが初めてという人､ あるいは復習をしたいという人には､

02:32.440 --> 02:38.320
この講座のi a zハンドブックが非常に役に立ちますので､ ぜひおすすめします｡

02:38.320 --> 02:40.080
では､ ここで何をしなければならないか？

02:40.090 --> 02:41.420
実はできるんです｡ 

02:41.440 --> 02:45.100
もう少し見やすくするために､ 簡単に説明します｡ 

02:45.100 --> 02:46.630
コードセルを追加させてください｡ 

02:46.630 --> 02:49.060
3次元のnumpy配列を定義することにします｡ 

02:49.360 --> 02:51.070
あなたならどうする？

02:51.190 --> 02:57.370
そこで､ いくつかのオプションがありますが､ 最もわかりやすくシンプルなオプションは､ 環境列と呼ぶことにしましょう｡

02:59.820 --> 03:01.500
ローズ そして､ 11に設定しましょう｡ 

03:01.500 --> 03:02.640
11×11の大きさです｡ 

03:02.690 --> 03:06.960
それから､ 環境､ アンダースコアの列もできます｡ 

03:08.890 --> 03:10.870
そして､ これを11に設定することも可能です｡ 

03:11.200 --> 03:18.610
最後に､ 環境行､ 環境列でnumpyを追加する必要があるため､ Q値を設定します｡

03:19.910 --> 03:32.030
そして､ これをQ値としてNumPyのゼロに等しく設定し､ 環境の行､ 環境の列を使用する必要があります｡

03:32.760 --> 03:40.260
そして､ 3D numpy配列と3D環境表現が環境に設定されました｡ 

03:41.100 --> 03:41.760
すごい｡ 

03:42.240 --> 03:48.340
さて､ ここで一旦離れますが､ 皆さんはすでに環境を整えているので､ これをどう解決するか考え始めてほしいのです｡

03:48.360 --> 03:52.820
次に､ ヒントとしてやっておきたいのは､ アクションの設定です｡ 

03:52.830 --> 03:55.620
エージェントが環境内を移動できる必要があります｡ 

03:55.620 --> 03:57.330
では､ それをどう表現するのか｡ 

03:57.330 --> 04:00.750
この問題では､ どのように書き込むのでしょうか？

04:00.930 --> 04:01.950
ここで見切り発車しましょう｡ 

04:01.950 --> 04:04.950
次回のビデオでは､ これらのアクションを再確認していきます｡ 

04:05.100 --> 04:05.790
すごい｡ 

04:05.970 --> 04:07.170
次のビデオでお会いしましょう｡ 
