WEBVTT

00:00.270 --> 00:02.820
こんにちは､ このPythonチュートリアルへようこそ｡ 

00:02.850 --> 00:06.230
さて､ 先ほどは脳を作りましたが､ 次は体を作りましょう｡ 

00:06.240 --> 00:13.460
このように､ ボディは､ 実際の人体で起こるようなアクションを定義する部分なのです｡

00:13.470 --> 00:18.780
脳が体に信号を送って､ 体がアクションを演じるわけですからね｡ 

00:18.780 --> 00:20.040
まあ､ ここでもそれは同じなんですけどね｡ 

00:20.040 --> 00:22.950
私たちは､ 脳から信号が出ています｡ 

00:22.950 --> 00:26.070
ここではフォワード関数で出力信号を得ています｡ 

00:26.070 --> 00:28.740
まず何が起こるかというと､ 映像が手に入るということですね｡ 

00:28.740 --> 00:33.570
画像は､ 3つの畳み込み層で構成されるニューラルネットワークの目に入る｡ 

00:33.570 --> 00:39.030
そして､ 完全に接続された層では､ 脳からキュー値を含む出力信号が得られますが､

00:39.030 --> 00:45.420
この出力信号が身体に転送され､ 身体がアクションを再生することになるはずです｡

00:45.450 --> 00:48.630
ということで､ まさに今､ その部分を担当することになりました｡ 

00:48.630 --> 00:56.400
ボディがアクションを再生する方法を実装するのですが､ その方法はソフトマックスメソッドで行います｡

00:56.400 --> 00:58.230
まさに自動運転車と同じですね｡ 

00:58.230 --> 01:07.410
私は､ AIの体を使ったアクションで遊ぶには､ ソフトマックス方式が非常におすすめだと主張しているので､ そちらを採用することになりました｡

01:08.070 --> 01:11.820
しかし､ 自動運転車とは対照的に､ クラスを作ることになります｡ 

01:11.820 --> 01:15.930
そしてこのクラスは､ もちろんAIのボディに対応することになります｡ 

01:16.080 --> 01:25.290
そこで､ まず､ ソフトマックスボディと呼ぶクラスを導入してみましょう｡ 

01:25.290 --> 01:33.180
ソフトマックスはGNモジュールのpytorchのクラスなので､ この呼び方は危険としか言いようがありませんね｡

01:33.180 --> 01:35.220
ですから､ 私はソフトマックスボディと呼んでいます｡ 

01:35.220 --> 01:43.410
CNN Convolutional Neural Networkが頭脳で､ soft max bodyがAIの本体であることは明らかなので､

01:43.410 --> 01:51.870
soft max bodyとMN DOTモジュールから継承しましょう｡

01:51.900 --> 01:56.070
使うことはないと思いますが､ とにかく､ 継承することは可能です｡ 

01:56.070 --> 02:01.440
ソフトマックスボディクラスを改善するために､ DNモジュールのツールを使いたい場合は､

02:01.440 --> 02:08.070
DNモジュールでできるようになりますが､ 現時点では､ DNモジュールを使うことはないと思います｡

02:08.460 --> 02:12.840
じゃあ､ コリンと体の中に入ってみようか｡ 

02:13.380 --> 02:13.710
わかりました｡ 

02:13.710 --> 02:23.610
ではまず､ いつものようにinit関数で､ AIのボディとなる未来のボディ・オブジェクトの変数を定義していきます｡

02:23.850 --> 02:29.910
そして､ 実は人体の場合､ それを規定するパラメータは温度なんです｡ 

02:29.910 --> 02:32.430
そして実はそれが唯一の温度となりそうです｡ 

02:32.430 --> 02:36.870
ですから､ 単純な体ですが､ それでもこの温度パラメータを使うことで､ 多くのことができるようになります｡ 

02:37.770 --> 02:44.010
しかし､ 温度の前に忘れてはならないのが､ 物体､ 身体に対する自己です｡ 今度は温度tを入力しますが､

02:44.010 --> 02:50.190
これは自動運転車に使うパラメータと同じものです｡

02:51.270 --> 02:55.230
そして､ Colinと変数を定義してみましょう｡ 

02:55.740 --> 03:01.920
だから､ Nから受け継ぐので｡  A. モジュールでは､ 再びスーパー機能を使用します｡ 

03:01.920 --> 03:09.350
そして､ 効率的に､ これをコピーして､ ここに貼り付けましょう｡ 

03:09.360 --> 03:14.040
もちろん､ ここでCNNをソフトに置き換えることも忘れてはならない｡ 

03:14.560 --> 03:17.820
マックス､ バディ､ どうぞ｡ 

03:17.820 --> 03:22.140
さて､ この段階でスーパー機能を使うのは､ 反射的になってしまうかもしれませんね｡ 

03:22.260 --> 03:30.600
それから､ もちろん､ 温度変数を self dot t で設定します｡ これは､ soft max

03:30.600 --> 03:36.930
クラスに目的語を作成するときに入力される引数と同じになります｡

03:36.960 --> 03:42.510
ソフトマックスボディクラスのオブジェクトを作るときはいつも､ init関数にある引数を入力しなければならないので､

03:42.510 --> 03:53.520
それがtで､ そのtが入力する引数であるこのtと等しくなるあなたのオブジェクトの自己に接続されているあなたのオブジェクトの変数であることを思い出してください｡

03:54.570 --> 03:55.010
わかりました｡ 

03:55.020 --> 03:56.940
そして､ これでinit関数は終了です｡ 

03:56.940 --> 03:58.500
実はそれだけでいいんです｡ 

03:58.500 --> 04:03.990
では､ 次のセルフマックスボディクラスの機能に移りますね｡ 

04:03.990 --> 04:05.700
そして､ これが最後のファンクションになります｡ 

04:05.700 --> 04:10.890
init関数と､ 次のチュートリアルで実装するforward関数とy

04:10.890 --> 04:14.340
forwardの2つの関数だけです｡

04:14.340 --> 04:19.560
というのも､ 今は脳からの出力信号､ つまり出力層の出力ニューロンに含まれるキュー値を､

04:19.560 --> 04:25.590
アクションを起こす身体に転送しなければならないからです｡

04:25.590 --> 04:30.960
つまり､ 脳からの出力信号を､ アクションを演じる身体に転送しているのです｡ 

04:30.960 --> 04:35.310
前進､ 左回り､ 右回り､ 左折､ 右折､ 撮影｡ 

04:35.910 --> 04:38.550
よし､ では次のチュートリアルでやってみよう｡ 

04:38.550 --> 04:39.780
そしてそれまで､ お楽しみに｡ 

04:39.780 --> 04:40.230
I.
