WEBVTT

00:00.420 --> 00:02.850
それでは､ エキサイティングなチュートリアルをどうぞ｡ 

00:02.880 --> 00:04.740
ディープラーニングの講座へようこそ｡ 

00:04.740 --> 00:07.800
今日は､ 「ニューラルネットワークはどのように機能するのか？

00:07.830 --> 00:09.720
今､ 私たちは多くの土台を築きました｡ 

00:09.720 --> 00:16.310
これまで､ ニューラルネットワークがどのような構造で､ どのような要素で構成され､ どのような機能を持つかまでお話ししてきました｡

00:16.320 --> 00:21.750
そして今日は､ 新しいニューラルネットワークの応用例について､ 実際に見てみましょう｡ 

00:21.750 --> 00:28.140
そして､ 実際にその適用プロセスを段階的に進めていくことで､ 何が起こっているのかがわかるようになっています｡

00:28.140 --> 00:29.160
では､ 見てみましょう｡ 

00:29.160 --> 00:30.650
どのような例を挙げるのでしょうか｡ 

00:30.660 --> 00:33.120
今回は､ 財産評価についてご紹介します｡ 

00:33.120 --> 00:39.490
そこで､ ある特性に関するいくつかのパラメータを取り込み､ それを値付けするニューラルネットワークを見ていきます｡

00:39.510 --> 00:45.750
ここで､ 今日のチュートリアルにはちょっとした注意点があります｡ それは､ 実際にネットワークをトレーニングするわけではないということです｡

00:45.750 --> 00:49.290
ですから､ ニューラルネットワークで非常に重要なのは､ トレーニングすることです｡ 

00:49.290 --> 00:53.250
そして､ このセクションの次のチュートリアルでそれを見ていくことになります｡ 

00:53.250 --> 00:55.530
とりあえず､ 実際のアプリケーションに焦点を当てます｡ 

00:55.530 --> 01:01.980
そこで､ すでにトレーニングされたように見せかけたニューラルネットワークを使用することで､

01:01.980 --> 01:07.710
トレーニングに煩わされることなく､ アプリケーション側に集中することができます｡

01:07.710 --> 01:11.520
そして､ すでに目指す最終目標が決まっているときに､ トレーニングをかいつまんで行います｡ 

01:11.520 --> 01:12.450
いい感じ？

01:12.450 --> 01:13.050
わかりました｡ 

01:13.050 --> 01:14.670
早速､ 飛び込んでみましょう｡ 

01:15.060 --> 01:19.260
では､ いくつかの入力パラメータがあるとしましょうか｡ 

01:19.260 --> 01:21.360
そこで､ 物件に関するパラメータが4つあるとします｡ 

01:21.360 --> 01:24.120
面積は平方フィートで表示されます｡ 

01:24.120 --> 01:29.730
寝室数､ 最寄りの都市までの距離とマイル数､ 築年数などがあります｡

01:29.730 --> 01:33.450
そして､ これら4つのすべてが､ 入力層を構成することになるのです｡ 

01:33.450 --> 01:39.660
もちろん､ 物件の価格を決めるパラメータはもっとたくさんあるのだろう｡ 

01:39.660 --> 01:45.330
しかし､ 簡単のために､ 今はこの4つだけを非常に基本的な形で見ていくことにします｡ 

01:45.330 --> 01:49.980
ニューラルネットワークは､ 入力層と出力層しかないので､ 隠れ層はありません｡ 

01:49.980 --> 01:52.200
そして出力層は､ 私たちが予測する価格です｡ 

01:52.200 --> 02:06.120
この形式では､ 入力変数がシナプスによって重み付けされ､ 出力層で計算､ つまり基本的に価格が計算されて価格が得られます｡

02:06.120 --> 02:14.040
そして､ 例えば､ 価格は､ すべての入力の加重和として単純に計算することができます｡ 

02:14.040 --> 02:19.440
ここでも､ 今使っているような関数や､ 以前使っていた活性化関数など､

02:19.440 --> 02:23.220
ほとんどすべての関数を使うことができます｡

02:23.220 --> 02:29.130
ロジスティック回帰を使ってもいいし､ 二乗関数を使ってもいい｡ 

02:29.130 --> 02:30.840
ここに来れば､ 何でもできる｡ 

02:30.960 --> 02:33.390
でも､ 要は一定の出力が得られるということです｡ 

02:33.390 --> 02:40.920
さらに言えば､ 現存する機械学習アルゴリズムのほとんどがこの形式で表現できる｡ 

02:40.920 --> 02:45.240
これは基本的に､ その変数をどう扱うかを図式化したものです｡ 

02:45.570 --> 02:50.940
計算式のあり方を変えることで､ これまで話してきた機械学習のアルゴリズムのかなり多くを実現し､

02:50.940 --> 02:55.350
このような形にすることができるのです｡

02:55.350 --> 03:00.720
このことは､ 新しいニューラルネットワークがいかに強力かを示しています｡ 隠れ層がなくても､ 私たちはすでに､

03:00.720 --> 03:05.250
他のほとんどの機械学習アルゴリズムで機能する表現を持っているのです｡

03:05.250 --> 03:11.700
しかし､ ニューラルネットワークには､ 柔軟性とパワーを与えてくれる特別な利点があり､

03:11.700 --> 03:16.800
それが精度を高める要因となっています｡

03:16.800 --> 03:20.190
そしてその力こそが､ 隠し味となるレイヤーなのです｡ 

03:20.400 --> 03:21.990
そして､ そこに行く｡ 

03:21.990 --> 03:22.830
それが私たちの隠し味です｡ 

03:22.830 --> 03:29.970
私たちはそれを追加しました｡ そして今度は､ その隠されたレイヤーがどのように私たちに余分な力を与えてくれるのかを理解することになります｡ 

03:29.970 --> 03:34.020
そして実際に､ そのために､ 例を挙げて説明します｡ 

03:34.020 --> 03:38.520
このニューラルネットワークはすでに訓練されているので､ あとはそれを接続するだけです｡ 

03:38.520 --> 03:44.160
ここでは､ プロパティを入力することを想像して､ ニューラルネットワークがどのように入力変数を処理し､

03:44.160 --> 03:51.840
隠れ層を計算し､ 出力層を計算するのかを順を追って説明します｡

03:51.840 --> 03:52.860
では､ このまま行ってみましょう｡ 

03:52.860 --> 03:54.300
盛り上がりそうですね｡ 

03:54.300 --> 03:54.810
わかりました｡ 

03:54.810 --> 04:01.230
左側に4つの変数がありますが､ まず隠れ層の一番上のニューロンから始めましょう｡

04:01.230 --> 04:07.230
さて､ 以前のチュートリアルで見たように､ 入力層からのすべてのニューロンは､

04:07.230 --> 04:12.750
それぞれ隠れ層の一番上のニューロンとシナプスを結んでいます｡

04:13.260 --> 04:15.060
そして､ そのシナプスには重みがあります｡ 

04:15.060 --> 04:18.780
ここで､ いくつかの重みがゼロでない値を持つことに同意しよう｡ 

04:18.780 --> 04:25.170
基本的にすべての入力が有効かどうかは分からないので､ 重みの中には0になるものもある｡ 

04:25.170 --> 04:27.780
すべての入力は､ すべてのニューロンにとって重要である｡ 

04:27.780 --> 04:29.310
入力が重要でない場合もあるでしょう｡ 

04:29.310 --> 04:31.200
そして､ ここでは×1で2つの例を見ることができます｡ 

04:31.200 --> 04:37.020
次の3つは､ その神経細胞にとって､ 面積と距離とマイルが重要で､ 寝室と年齢は重要でないことです｡

04:37.410 --> 04:38.670
そして､ ちょっと考えてみましょう｡ 

04:38.670 --> 04:39.180
なぜ？

04:39.180 --> 04:40.440
それはどのような場合でしょうか｡ 

04:40.590 --> 04:46.170
なぜ､ ある神経細胞が面積や距離と連動するのでしょうか？

04:46.170 --> 04:47.280
それは何を意味するのでしょうか？

04:47.280 --> 04:52.920
まあ､ それは通常､ 都会から離れれば離れるほど､ 不動産は安くなり､

04:52.920 --> 04:58.210
したがって物件の坪数も大きくなる､ ということかもしれません｡

04:58.210 --> 04:58.310
そうですね｡ 

04:58.350 --> 04:59.970
だから､ 同じ値段で､ より大きなものが手に入るのです｡ 

05:00.030 --> 05:02.490
都会から離れれば離れるほど財産､ それが普通でしょう？

05:02.670 --> 05:03.450
なるほどね｡ 

05:03.450 --> 05:09.840
そしておそらく､ この神経細胞は､ 具体的に見ると､ まるでスナイパーのようなことをしているのです｡ 

05:09.840 --> 05:17.550
都心からそれほど離れていない､ 広い面積を持つエリアの物件を探しています｡ 

05:17.550 --> 05:24.750
つまり､ 都市からの距離の割には､ 不公平な面積を持っているわけです｡ 

05:24.750 --> 05:25.010
そうですね｡ 

05:25.020 --> 05:27.570
つまり､ 異常なものは､ 平均よりも高いということですね｡ 

05:27.570 --> 05:32.610
だから､ かなり近いところにあるのですが､ 同じ距離の他のものと比べても大きいんです｡

05:33.030 --> 05:38.520
そのため､ そのニューロンは､ ここでも推測ですが､ レーザーでその特定の性質を選んで活性化し､

05:38.520 --> 05:43.950
その結果､ 活性化関数が活性化するのかもしれません｡

05:43.950 --> 05:46.950
一定の条件を満たしたときだけ起動する｡ 

05:46.950 --> 05:51.840
それはね､ プローブの距離と面積､ 街までの距離と敷地の広さ｡

05:51.840 --> 05:57.300
そして､ 自分自身の内部で計算を行い､ その2つを合成するのです｡ 

05:57.300 --> 06:01.980
そして､ ある種のテロとそれが発火するとすぐに､ 出力層での価格に寄与する｡

06:01.980 --> 06:07.620
したがって､ この神経細胞は､ その特定のことに集中しているため､ 物件の寝室や築年数などにはあまり関心がないのです｡

06:07.620 --> 06:12.450
これがニューラルネットワークの力です｡ このようなニューロンをたくさん持っているので､ 他のニューロンはどのように機能するのか､

06:12.450 --> 06:14.040
先ほど見てみましょう｡

06:14.040 --> 06:24.120
しかし､ 私がここで同意したかったのは､ イメージを乱さないために､ 整っていないシナプスのためにこれらの線を引くこともやめようということです｡

06:24.120 --> 06:25.530
それだけに､ 描かないわけにはいかない｡ 

06:25.530 --> 06:27.210
だから､ そういうのも捨てちゃおうよ｡ 

06:27.210 --> 06:29.220
そうすれば､ 正確に知ることができます｡ 

06:29.460 --> 06:33.750
つまり､ この神経細胞は､ 面積と都市までの距離に着目しているのです｡ 

06:33.780 --> 06:34.290
わかりました｡ 

06:34.740 --> 06:36.810
では､ そのことに合意した以上､ 次に進みましょう｡ 

06:36.810 --> 06:39.090
ここでは､ 真ん中の1枚を取り上げましょう｡ 

06:39.090 --> 06:42.030
このニューロンには､ 3つのパラメータが入力されています｡ 

06:42.030 --> 06:45.630
そこで､ 面積､ 寝室､ 築年数を把握しました｡ 

06:45.750 --> 06:48.420
では､ ここにある理由は何だろう？

06:48.420 --> 06:56.040
もう一度､ この神経細胞の思考はどうなっているのか､ 直感的に理解することを試みましょう｡

06:56.040 --> 06:57.720
なぜ､ この3つのパラメータを選んでいるのでしょうか？

06:57.750 --> 06:58.650
それは何でしょう？

06:58.650 --> 07:02.040
データで見つかったようなヒットは何があるのでしょうか？

07:02.040 --> 07:02.220
そうですね｡ 

07:02.220 --> 07:04.530
つまり､ これはすでにトレーニングされたデータセットであることがわかります｡ 

07:04.530 --> 07:09.360
トレーニングはかなり前に行われたもので､ 1日前とか､ 誰かがすでにこのデータをトレーニングしていたとか｡

07:09.360 --> 07:20.370
この神経細胞は､ 何千もの特性の例を通じて､ 面積と寝室と年齢の組み合わせが重要であることを発見したのです｡

07:20.370 --> 07:21.540
なぜ､ そうなるのでしょうか？

07:21.540 --> 07:29.040
例えば､ このニューラルネットワークが学習した郊外の特定の都市では､ おそらく2人以上の子供を持つ家族が多く､

07:29.040 --> 07:43.110
寝室がたくさんある大きな物件を探していて､ しかも新しい物件であることが予想されます｡

07:43.110 --> 07:50.910
そうですね､ あの辺りは古い物件ではなく､ 大きな物件が多いので､

07:50.910 --> 07:55.530
古い物件が多いのですが､ 現代的な家族が多く､

07:55.800 --> 08:03.270
社会人口動態が変化したのか､ 若い人向けの雇用や仕事が増えたのか､

08:03.270 --> 08:11.700
人口動態が変化したような気がします｡

08:11.700 --> 08:22.980
そして､ 今は若いカップルや若いファミリーが物件を探していますが､ 彼らは新しい物件を好むので､ 築年数は低くしてほしいということです｡

08:23.610 --> 08:28.800
したがって､ このニューラルネットワークが受けた訓練から､ 面積が広く､ 寝室がたくさんある物件では､

08:28.800 --> 08:34.770
両親と最初の子供のために少なくとも3つの寝室が必要であることがわかります｡

08:34.770 --> 08:40.830
2人目の子供には､ 少なくとも3つのベッドルーム､ 多分ゲストルームがある場合､ 高い面積とベッドルームがたくさんある新しいプロパティは､

08:40.830 --> 08:45.900
その市場で貴重であることを評価されています｡

08:45.900 --> 08:48.210
だから､ その神経細胞はそれを拾ってしまったのです｡ 

08:48.210 --> 08:51.390
それは､ よし､ じゃあ､ これは私が探しているものだ､ とわかるのです｡ 

08:51.390 --> 08:56.220
街とマイルの距離はどこでもいい､ 面積が広くてベッドルームがたくさんあればいい､

08:56.250 --> 08:59.730
その条件を満たしたとたんにニューロンが発火するんです｡

08:59.730 --> 09:03.870
この3つのパラメータを組み合わせることで､

09:03.870 --> 09:17.730
ニューラルネットワークの力が発揮されるのです｡

09:17.730 --> 09:21.300
それらを組み合わせて新しい属性にするため､ より精度が高くなるのです｡ 

09:21.690 --> 09:23.610
だから､ その神経細胞がどう動くか､ ということになる｡ 

09:24.030 --> 09:25.500
そして､ もうひとつ見てみましょう｡ 

09:25.500 --> 09:26.940
一番下のものを見てみましょう｡ 

09:26.940 --> 09:31.830
例えば､ このニューロンは1つのパラメータだけを拾っている可能性さえある｡ 

09:31.830 --> 09:35.430
年齢だけ拾って､ 他は拾わなかったのかもしれない｡ 

09:35.430 --> 09:37.260
そして､ どうしてそうなったのか｡ 

09:37.680 --> 09:47.640
ご存知のように､ 古い物件は使い古されているため､ 価値が下がるのが普通です｡

09:47.640 --> 09:51.840
おそらく建物が古くて､ いろいろとボロボロになっているのだろう､ もっとメンテナンスが必要なのだろう｡ 

09:51.840 --> 09:56.700
だから､ 不動産の価格という意味では値下がりする｡ 一方､ 新築のビルなら新築だから高くなるのだが､

09:56.700 --> 09:59.700
おそらくはそうだろう｡

09:59.800 --> 10:03.850
築年数が一定以上であれば､ 歴史的建造物であることを示す可能性があります｡ 

10:03.850 --> 10:11.140
例えば､ 築100年未満の物件であれば､ 古ければ古いほど価値は低くなります｡ 

10:11.140 --> 10:15.790
しかし､ 築100年を飛び越えた途端､ 突然､ 歴史的建造物になるのです｡ 

10:15.790 --> 10:20.700
なぜなら､ ここは数百年前に人が住んでいた物件だからです｡ 

10:20.710 --> 10:22.000
ストーリーを伝えてくれる｡ 

10:22.000 --> 10:24.010
これだけの歴史があるんですからね｡ 

10:24.010 --> 10:26.110
そして､ それが好きな人もいれば､ それを大切にする人もいる｡ 

10:26.110 --> 10:32.050
実際､ 多くの人がそれを望み､ その物件に住むことを誇りに思うでしょうし､ 特に社会経済的地位の高い層では､

10:32.050 --> 10:36.910
友人に見せびらかしたりすることでしょう｡

10:36.910 --> 10:42.220
そのため､ 築100年以上の物件は歴史的建造物とみなされる可能性があります｡ 

10:42.220 --> 10:49.300
そのため､ この神経細胞は､ 築100年を超える物件を見つけるとすぐに起動し､ 全体の価格に貢献することになるのです｡

10:49.300 --> 10:52.750
そうでなければ､ 100年未満のものであれば､ 動作すらしませんしね｡ 

10:52.750 --> 10:57.490
そして､ これはRectifier機能が適用された良い例です｡ 

10:57.490 --> 11:05.530
ここでは､ ある時点までは非常にゼロのようなもので､ その後100歳とし､ 100歳までとします｡

11:05.530 --> 11:11.230
古くなればなるほど値が高くなり､ この神経細胞の全体価格への貢献度が高くなる｡

11:11.230 --> 11:18.010
これは､ この整流器機能の動作を示す非常にシンプルな例で､ まさに素晴らしいものです｡ 

11:18.610 --> 11:19.630
そうそう､ そうなんです｡ 

11:19.630 --> 11:20.860
それがこのニューロンかもしれない｡ 

11:20.860 --> 11:27.760
ましてや､ ニューラルネットワークは､ 自分たちでは思いつかないようなことまで拾っていたかもしれません｡

11:27.760 --> 11:28.120
そうですね｡ 

11:28.390 --> 11:30.090
例えば､ ベッドルーム＋距離｡ 

11:30.110 --> 11:34.540
街は､ もしかしたらそれが合わさって何とか値段に貢献しているのかもしれませんね｡ 

11:34.540 --> 11:40.060
他のニューロンほど強くなく､ 貢献しているのかもしれませんが､ それでも貢献しているのか､ それとも価格を下げているのか｡

11:40.060 --> 11:42.490
また､ そのようなケースもあり得ますし､ その他のことも考えられます｡ 

11:42.490 --> 11:47.140
そして､ ある神経細胞は､ これら4つのパラメーターの組み合わせのすべてを拾ったのかもしれません｡ 

11:47.140 --> 11:54.880
このように､ ニューロン､ つまり隠れ層の状況によって､ ニューラルネットワークの柔軟性が増し､

11:54.880 --> 12:04.150
ニューラルネットワークが非常に特殊なものを探すことができるようになるのです｡

12:04.150 --> 12:08.170
そして､ 組み合わせることで､ そこにパワーが生まれる｡ 

12:08.170 --> 12:09.570
アリの例と同じですね｡ 

12:09.580 --> 12:12.430
アリが一匹で蟻塚を作れないのと同じです｡ 

12:12.430 --> 12:16.840
でも､ 1000人､ 10万人と増えていくと､ 一緒に蟻塚を作ることができるんです｡ 

12:17.050 --> 12:18.540
そして､ それがこの状況です｡ 

12:18.550 --> 12:24.220
この神経細胞は1つ1つは単独では価格を予測できないが､ 一緒になると超能力を発揮し､

12:24.220 --> 12:25.990
価格を予測するのである｡

12:25.990 --> 12:30.010
そして､ 適切にトレーニングされ､ 適切にセットアップされれば､ かなり正確な仕事ができるようになります｡ 

12:30.490 --> 12:35.200
そして､ その活用方法を理解することが､ このコースの目的なのです｡ 

12:35.200 --> 12:35.650
これでよしとしよう｡ 

12:35.650 --> 12:42.210
以上､ ニューラルネットワークが実際にどのように機能するのか､ 順を追って説明しました｡ 

12:42.220 --> 12:45.490
今日のチュートリアルを楽しんでいただけたら幸いです｡ 次回お会いするのが楽しみです｡ 

12:45.490 --> 12:47.470
それまでは､ ディープラーニングを楽しんでください｡ 
