Chapter 02

Deep Learning とは?

ろぐみ
ろぐみ
2023.02.18に更新

AI と何が違う?

Deep Learning の類語として、よく以下のようなものを聞くと思います。

  • 人工知能(AI)
  • 機械学習
  • 深層学習
  • ニューラルネットワーク

これらは意味的に近いところにあると思いがちです。

人工知能の作り方のひとつのアプローチとして機械学習があります。
機械学習を行う技法の中に深層学習、つまり Deep Learning があります。
そして Deep Learning はニューラルネットワークをいい感じに組み合わせて構成されます。

このような関係になっています。

機械学習を行う技法は他に、例えばサポートベクターマシン(Support Vector Machine, SVM)や決定木(Decision Tree)などがあります。

"Deep" とは?

Deep Learning という言葉の "Deep" とは、ニューラルネットワークの層が深く、たくさんあるよ、という意味の "Deep" です。

一般に単層のニューラルネットワークより、多層のニューラルネットワークの方が良い精度が出ます。

この理由はある程度はっきりしていて、単純に多層になると内部に存在するパラメータの数が増えて、より表現力が上がり、より複雑な関係を表現できるようになるからです。
パラメータとは、学習の過程で変化する値、あるいは値の集合のことです。上記の図の○の中にパラメータがあると思ってください。○は各々異なるパラメータを持つことができます。
ということは、より多く、そして深いほど、より複雑な表現力を持つということです。

ヒトも進化の過程で脳味噌が大きくなって、つまりニューロンが増えて、より複雑な思考力を持つようになったのと同じようなものです。

何層からが "Deep" なのか、これは多分人によって違うと思います。
一般的には 3 層以上が "Deep" と言われていますが、明確な定義みたいなものはないと思います。(個人の感想です。)

何ができるのか?

Deep Learning では何ができるのでしょうか?
ざっくり言うと、非線形な問題の答えを予測することができます。

非線形な問題とは、線形な問題とは逆に、線形な関係を持たない問題のことです。
と言ってもしっくりこないと思うので図で説明します。

線形、非線形について

以下のような分布のデータを想像してみましょう。

この△のデータと○のデータをうまく分ける直線を考えてみてください。
直感でいいです。

だいたいこんな感じの直線が考えられると思います。

△および○の最も近いデータと直線との距離が最も大きくなるような直線を考えています。
このような直線だと、まだ知らない未知の△や○のデータがやってきても、うまい具合に分類できそうですね。
ちなみに例えば SVM という技法を用いると、このような典型的な境界が得られます。

直線を引くことで、△と○のデータをうまく分けることができました。
そう、これが線形な問題を解くということです。

では、以下のような分布のデータを考えてみましょう。

このようなデータをうまく分ける境界はどうでしょうか?
直感的に、直線で分けることはできないように思います。

このようなデータをこのままうまく分ける直線は存在しません。

私は人間ですので、何となくこんな感じか?と楕円で境界を引きました。

このような形でうまく分けるような境界を考える、というのが非線形な問題を解くということです。[1]

Deep Learning は、このような非線形な問題について予測することができます。[2]

Deep Learning 以外にも非線形な問題を予測する手法はたくさんあります。
例えばランダムフォレストのような決定木による手法などが挙げられます。

では、なぜあえて Deep Learning を使うのでしょうか?

なぜ Deep Learning を使うのか?

ざっくり言うと、Deep Learning でうまくモデリングしてデータを用意して学習をさせると精度が出るからです。
それはそう、という感じのお話ですね。

その強力さはどこから来るのか、実は正確にはわかっていません。

なんかうまくいくから、というのはやや気持ち悪さがあるかもしれませんが、なんかうまくいくから、なんかうまくいくのです。

よく人間の脳神経細胞(ニューロン)を模倣した構造をしているからうまくいく、のような説明がされますが、実際のところ本当にそうなのかはわかっていません。(そして全然ニューロンを模倣できていないぞ、という説もあります。)

脚注
  1. 厳密にはこのパターンだと楕円で分けているので、なにかうまく別の空間に写像して、そこで直線などで分けることができれば、線形な問題として解くことができますが、本筋からそれるので割愛します。 ↩︎

  2. 線形な問題についてももちろん予測することができます。 ↩︎