そんな感じで本当は犬だから犬100%猫0%でその差分の30%があるわけじゃないですか。
30%差分がありましたよということをC組に伝えていきます。
で、C組のそれぞれの人は30%違いがあったということはどれぐらい修正しようかなというふうに各々考えて、
その判断を修正してその誤差っていうのをまたB組に伝えます。
うんうんうん。
で、B組も同じように修正してA組に伝えます。
はい。
っていう感じでA、B、C組は判断を修正していくんですね。
なるほど。これが逆向きですね。
はい。これが逆電波です。
っていう感じで順電波判定するフェーズと逆電波修正するフェーズを何回も何回も繰り返して判断修正というのを繰り返していくんですね。
なるほど。A組はだから受け取ってまたじゃあこうかなみたいので。
さっきの修正したらこんな感じかなというふうにまたまた同じように繰り返していきます。
で、これを何回もしてこの学校のレベルを上げていこうっていうのが機械学習、ディープラーニングです。
なるほど。学校自体が、なるほどそういうことですね。
はい。
それをめちゃくちゃ繰り返せば繰り返すほど精度が上がるというか。
はい。
犬か猫かを見分ける優秀な学校みたいな。
そうなんです。
感じになるってことですね。
はい。これがディープラーニングなんです。
なるほど。
どこら辺がディープかというとディープかっていう感じはするんですけれども何個も層が重なってる感じがあるんですよね。A組、B組、C組っていうふうな感じね。
その伝える数の層なんですか。これがクラスがめちゃくちゃいっぱいあったらそんだけ深いっていう意味になる。
はい、そうです。そこら辺がディープという言葉が来てるのかなっていうふうに思います。
分かった気になりました。とりあえず。
ちょっとディープラーニングの歴史どういうふうに発展してきたかっていうのを話していきましょうか。
これ気になりますね。
まず1950年頃にこのニューラルネットワークの概念自体はもう考えられていたみたいです。
50年ってことはパソコン系の発展どれぐらいの時ですか。
同じぐらいだと思いますね。
全然まだですよね。
このディープラーニングって実際には行列の計算をたくさん行っていくんですけど。行列の計算と変微分の計算をいっぱい行っていくんですけれども。
これはその当時のパソコンではできなかったんですよね。
ですよね。
2000年頃からコンピューターの発達によってニューラルネットワークが学習できるようになったみたいです。
だいぶ時間が経ちましたね。
そうなんですよね。
それまでこれ概念だけあったっていうのは本当に何かそれを使おうとかじゃなくてこういう考え方できるよねみたいな。
全体を見るみたいな感じですね。
はい。だから例えばさっきの彼と和とは背が高いで言うと、
彼はまあそのままHeと訳すんですけれども、
そのHeっていう結果と次の言葉の和を見て次の言葉は何になるかなっていうふうに予測していくんですね。
Heの後に和が来たらそりゃisだろうっていうふうになるので、
そうですね。
こんな感じで前の結果と今のデータを見て判断していくっていうのがRNNになってます。
わかりやすい。
で、ちょっと問題があって、これ工夫すれば前後の値を見ることができるんですけれども、
前後の結果ではちょっと足りない部分が、足りない場合があるんですね。
足りない場合っていうのは、いろんなパターンが出ちゃうとかそういうことですか?
例を出すのが難しいですけど、なんかすごい長い文章で、
最初と最後らへんの単語が関係し合ってるみたいなことあるじゃないですか。
ああ、そういうことか。単純な。
これ、最期的とかって、なんか言語だと言語の最期性とか言いますけど、
誰々が言ったって言ったみたいな文章が言語的に結構難しいとか、高度だみたいな話があるじゃないですか。
私が、あなたが、弟が言ったって言ったって言ったみたいな文章があったときに、
2個ぐらい含むやつは言語としてあるけど、3個以上のやつは、
なんか、現存する言語にはないみたいな。
みたいな話を、なんか最近それをサイエントークでやってたやつでなんか読んだことがあって。
今、言語やってますもんね。
だけど、その言語としてそういう構造を取れるっていうのは人間の言語だけですよみたいな話があったりするんですけど、
そのなんか言語の成り立ちとかも結構複雑ですよね。
それも最初と最後がつながるというか。
そういうところが関係し合ってることがあって、それは前後を見ただけじゃよくわかんないんですよね。
ですよね。わけわかんない。今言っててもちょっとよくわかんないですけど。
で、それを解決する手段がちょっと開発されまして、
アテンションというものが2015年に考えられました。
アテンション。
アテンション。日本語では注意機構というふうに言ったりするんですけれども、
単純にアテンションと呼んじゃいます。
これは各パーツが他の全パーツとどういう関係にあるかっていうのを見る機構なんですね。
だからRNNにアテンションを付け加えることによって、
局種的なものを見つつも全体もちゃんと考えることができるっていうふうになって、
結構精度が上がっていったんですね。
なるほど、それは確かに上がりそう。
このアテンションっていうのも、基本的には中身は行列計算をするだけなので、
そんなに難しいものではないという感じだったんですけれども、
RNNは1個だけ弱点があるんですよ。
何ですか?
遅い。
遅い?普通に?
なんで遅いかっていうと、やっぱり前の結果が必要なんで、
じゅんぐりじゅんぐりに学習していかなきゃいけないんですよね。
じゃあめっちゃ長い文章とかだったらすっごい時間かかっちゃうとかするんですか?
はい、そうなんです。
最初に出した画像とかはCNNでやると結構並列処理が一気にできちゃうので、
割と早くできちゃうんですけれども、
RNNで系列データを扱う場合、順序が関係するので、
順番順番に学習していかなくちゃいけないから遅い。
それは遅そうですね、確かに。
だからRNNまあいいんだけどちょっと遅いんだよなーっていうふうになっていたんですね。
そんな時にちょっと恐ろしい論文が出まして、
恐ろしい論文?また破壊的な論文ですか?
破壊的な論文が出たんですよ、本当。
2017年に出たんですけれども、
その論文のタイトルが、
Attention is all you need.
映画のタイトルじゃないですか?
これどういうモデルかわかりますか?
必要なもんここに全部あるぜみたいなことですか?
さっきはRNNプラスアテンションっていうのを使って頑張ってたんですね。
そっかもういらない、最初のやついらんよみたいな。
最初の順繰り順繰りに学習するやつなんていらなくて、
アテンションだけでいいじゃんっていうふうにいった論文があるんですよ。
それは確かにやばいですね。
前後の関係見るとかはいらなくて、
各パーツが他の前パーツとどういう関係にあるかっていうのを見るだけでいいっていうふうにいったんですね、このアテンションは。
Attention is all you need.っていうのは。
それって元々そのアテンションってやつ出てきたのは、
最初はその順序を、順序がある上で成り立ってたシステムってことですか?
最初はRNNを補強するために使われてたものですね。
補強するためだから、そっかそっか。
パーツとして一応独立はしていたんですね。
それを突き詰めたらベースいらなくねってなった。
そのアテンションのみを使ったモデルっていうのがTransformerっていう名前がついていて、
トランスフォーマー。
このトランスフォーマーがやばいんですよ。
これ今のモデルにもすごいたくさん使われているモデルです。
これはもうめっちゃ並列できるし、早いしみたいな感じですか?
そう、アテンション自体は単に行列計算なんで、すごい並列してできるんですよね。
だから計算コストは結構かかるはかかるんですけれども、
時間的にはそんなにかかんないっていうようなモデルがトランスフォーマーです。
今のGoogle翻訳とかもトランスフォーマーが使われてるでしょうね。
そうなんだ、Google翻訳に使われてるんだ。
ちょっとだけ戻っていきたいんですけれども、
さっき画像分類の時にCNNっていうのを紹介しましたね。
これは局種的にその3ピクセルかける3ピクセルをずらっと見ていって、
どういう形があるかっていうのを判断していくわけですよね。
CNNの弱点は何だと思いますか?
弱点?
それもデカすぎたら遅そうだなって思いましたけど、部分的にバーって見ていくから。