WEBVTT

00:00.510 --> 00:02.850
こんにちは､ ディープラーニングの講座にようこそ｡ 

00:02.850 --> 00:12.090
今日はRevolutについてお話しますが､ これは整流された線形ユニットで､ コンボリューションのステップの上にさらにステップを追加したものです｡

00:12.090 --> 00:13.620
だから､ 別に大きなステップではないんです｡ 

00:13.620 --> 00:14.490
小さな一歩です｡ 

00:14.490 --> 00:15.990
基本的にはステップ1Bです｡ 

00:15.990 --> 00:18.150
そして､ ここで何が起こっているのか？

00:18.150 --> 00:20.310
さて､ 入力画像ができました｡ 

00:20.310 --> 00:22.800
これまで説明してきたように､ 畳み込み層があります｡ 

00:22.800 --> 00:30.930
そしてその上に､ お待ちかね､ お気に入りの整流器機能を適用するのです｡ 

00:30.930 --> 00:38.490
また､ Rectifier関数については､ 前回の人工ニューラルネットワークのセクションで既にご存知のことと思います｡

00:38.490 --> 00:48.690
SOでは､ 著者や講師がコンボリューションとレクチファイヤーを2つのステップに分けて説明することがありますが､

00:48.690 --> 00:56.970
ここではレクチファイアーよりも大きな1つのステップとみなして､ 第2進化を考えます｡

00:56.970 --> 01:08.010
そして､ The Rectifierを適用する理由は､ 画像やネットワーク､ 畳み込みニューラルネットワークの非直線性を高めたいからなのです｡

01:08.010 --> 01:15.660
そして整流器は､ そのフィルターやアクセス､ リニアリティを崩す機能として機能します｡ 

01:15.660 --> 01:23.610
なぜ､ ネットワークに非直線性を持たせるかというと､

01:23.610 --> 01:31.230
画像そのものが非常に非線形だからです｡

01:31.230 --> 01:37.950
画像には多くの非線形要素があり､ ピクセル間や隣接するピクセル間の遷移は非線形であることが多いのです｡

01:37.950 --> 01:43.500
それは､ ボーダーがあるから､ 色が違うから､ 違うから､ イメージの要素が違うからです｡

01:43.500 --> 01:50.040
しかし同時に､ 畳み込みのような数学的演算を適用し､ この特徴検出を実行して特徴マップを作成する場合､

01:50.040 --> 01:59.460
直線的なものを作ってしまう恐れがあるため､ 直線性を崩す必要があるのです｡

01:59.730 --> 02:01.710
では､ 例を見てみましょう｡ 

02:02.400 --> 02:05.700
こちらがその画像､ オリジナル画像です｡ 

02:05.730 --> 02:13.080
さて､ この画像に特徴検出器をかけると､ 次のようなものが得られます｡ 

02:13.080 --> 02:15.000
つまり､ 黒はマイナスであることがここでわかります｡ 

02:15.000 --> 02:15.930
白は正の値｡ 

02:15.930 --> 02:22.620
0と1だけでなく､ さまざまな値を持つ画像に特徴検出器を適用すると､ 前に見たように､

02:22.620 --> 02:27.420
未来の検出器がそれ自体に負の値を持つことができれば､ 時には負の値が得られ､

02:27.420 --> 02:34.560
ここに黒いものは陰性､ 白いものは陽性となります｡

02:34.560 --> 02:46.320
そして､ 整流化された線形単位関数が行うことは､ すべての黒を取り除き､ ゼロ以下のものはゼロに変えることです｡

02:46.320 --> 02:48.540
そして､ ここからこうなっていくわけです｡ 

02:48.540 --> 02:49.050
そうですね｡ 

02:49.050 --> 02:58.590
そのため､ リニアリティを崩すという点で､ 具体的にどのようなメリットがあるのか､ かなりわかりにくいのです｡

02:59.250 --> 03:00.960
説明してみる｡ 

03:00.990 --> 03:03.900
この画像に例を示してみます｡ 

03:04.560 --> 03:08.160
しかし､ 結局のところ､ これは非常に数学的な概念なのです｡ 

03:08.160 --> 03:12.390
そして､ 何が起こっているのかを本当に説明するためには､ 多くの数学に踏み込まなければならないでしょう｡ 

03:12.390 --> 03:13.740
でも､ やってみましょう......見ましょう｡ 

03:13.740 --> 03:17.850
では､ 例えばこのこの建物を見てみましょうか｡ 

03:17.850 --> 03:19.740
つまり､ これだけで1つのビルになるわけです｡ 

03:20.590 --> 03:24.390
そして､ この影､ この黒い部分､ この影が見えると思います｡ 

03:24.390 --> 03:32.850
まあ､ 光の反射で白っぽくなって､ グレーになり､ さらに暗くなって､ また暗くなっているのがわかると思います｡

03:32.850 --> 03:33.180
そうだろ？

03:33.180 --> 03:35.790
それで､ それを取り出すときに､ その黒い部分を取り出すんです｡ 

03:35.790 --> 03:38.130
だから､ リニアで考えるんですね｡ 

03:38.130 --> 03:43.890
つまり､ 白からグレーになると､ 次は黒になるような感じですね？

03:43.890 --> 03:44.910
次は黒でしょう｡ 

03:44.910 --> 03:49.410
明るいところから暗いところへ一直線に進んでいくのです｡ 

03:49.410 --> 03:53.400
したがって､ これは一種のリニアな状況なんです｡ 

03:53.400 --> 03:55.710
黒を抜くと､ リニアリティが崩れるんです｡ 

03:56.550 --> 03:57.630
もう1つ試してみましょう｡ 

03:57.870 --> 03:59.010
ここで見てみましょう｡ 

03:59.010 --> 04:01.890
と同時に､ やはり同じ建物なんですね｡ 

04:01.890 --> 04:08.340
それは､ 2つの建物を互いに融合させるようなものではないのです｡ 

04:08.340 --> 04:09.750
しかし､ それは二の次です｡ 

04:09.750 --> 04:11.580
ポイントは､ リニアリティを崩すことです｡ 

04:11.970 --> 04:13.050
では､ ここで見てみましょう｡ 

04:13.050 --> 04:13.500
同じことです｡ 

04:13.500 --> 04:19.350
白､ グレー､ 黒､ グレー､ 白と表示されるわけです｡ 

04:19.350 --> 04:22.430
そして､ 解散したら､ もうそれはないわけですよね？

04:22.440 --> 04:33.390
このように､ 徐々に進行するのではなく､ 突然変化することで､ 画像に非直線性を持たせることができるのです｡

04:33.390 --> 04:42.510
だから､ 技術的な説明というよりは､ 非常にざっくりとした､ オン・ザ・フィンガーのような説明になってしまうんです｡

04:42.510 --> 04:47.280
でも､ これで私たちがここで話していることをもう少し理解してもらえたらと思います｡ 

04:47.280 --> 04:50.430
ですから､ ここでもWhite Grayの方が良い例であることがおわかりいただけると思います｡ 

04:50.430 --> 04:55.440
あなただって､ 明るい､ 暗い､ 暗い､ 暗い､ 暗い､ と見ている｡ 

04:55.440 --> 04:58.140
この部分はリニアに見えるんですね｡ 

04:58.140 --> 04:59.340
じゃあ､ そうやって壊していくんですね｡ 

04:59.610 --> 05:00.960
ええと､ もう一度｡ 

05:00.960 --> 05:04.380
というわけで､ 非常に大雑把な説明になってしまいましたが､ いかがでしょうか｡ 

05:04.380 --> 05:08.460
絶対的に完璧というわけではありませんが､ 少なくとも何が起こっているのか､ ある程度はわかるようになっています｡ 

05:08.580 --> 05:12.840
でも､ もっと知りたい人は､ いつものようにいい紙がありますよ｡ 

05:12.840 --> 05:13.920
必ず紙がある｡ 

05:13.950 --> 05:22.770
こちらはカリフォルニア大学のKeikoさんによるもので､ 「Understanding Convolutional Neural Networks with a mathematical model（畳み込みニューラルネットワークを数理モデルで理解する）」というタイトルです｡

05:22.920 --> 05:28.740
そして､ 基本的には質問に対する答えであり､ 最初の1つだけ見ればいいのです｡ 

05:28.740 --> 05:29.880
そして問題は､ なぜそうしないのか､ ということです｡ 

05:30.000 --> 05:35.430
すべての中間層のフィルター出力には､ 非線形活性化関数が不可欠である｡ 

05:36.030 --> 05:43.890
このように､ 直感と､ 主に数学の観点から､ もう少し詳しく説明します｡

05:44.070 --> 05:47.880
この論文では､ このトピックについてさらに詳しい情報を得ることができますので､ 興味深い論文です｡ 

05:47.880 --> 05:55.590
また､ もっと深く掘り下げたい方は､ 別の論文もご覧になってみてください｡

05:55.590 --> 06:02.610
画像やネットの分類で人間11人レベルの性能を超える､ Delving Deep into Rectifierと呼ばれるものです｡ 

06:02.610 --> 06:17.460
そして､ ここに来ている著者やMicrosoft Researchの他の研究者たちは､ 別のタイプの整流化された線形単位関数を提案しています｡

06:17.580 --> 06:22.680
彼らは､ 右の写真のようなパラメトリック整流化線形関数を提案し､ パフォーマンスを犠牲にすることなく､

06:22.680 --> 06:26.520
より良い結果をもたらすと主張しています｡

06:26.520 --> 06:31.830
というわけで､ この話題にもう少し触れたい人は読んでみると面白いですよ､ 今日はここまで｡ 

06:31.830 --> 06:37.650
本当の新規レイヤーは､ Rectifier機能を適用するだけで､ かなりシンプルでわかりやすい｡ 

06:37.650 --> 06:39.120
そして､ 次回お会いできるのを楽しみにしています｡ 

06:39.120 --> 06:40.890
それまでは､ ディープラーニングを楽しんでください｡ 
