前回では、AIとディープラーニングの違いについて書きました。一言で言うと、AIの中に、ディープラーニングがあり、下の図のように、「AI>機械学習>ディープラーニング」という関係性となっています。
それぞれを簡単に説明すると、
AI:「出力」と「入力」の機能を持つ、特定の領域に特化した計算機。
機械学習:AIの中で、学習機能を持つもの。
ディープラーニング:機械学習の中で、ディープラーニングを用いた学習機能を持つもの。
と言えます。
さて、本題である「ディープラーニングの仕組み」について説明しましょう。
簡潔にいうと、ディープラーニングとは、ニューロンを何層にも深く(ディープに)重ねたものです。
今回は、最も簡素なニューロンである単純パーセプトロンについて説明します。
上の図は、単純パーセプトロンを簡単に表したものです。入力値として、またそれぞれの入力に関する重みづけをで表しています。出力値を とすると
と書けます。ここで、関数はステップ関数となります。
ステップ関数は、上のような関数で、
となります。
ここで、下の図のように黒と白を分類できるような単純パーセプトロンを考えます。
が1のとき○、0のとき●とすると、例えば重みであるを
とすると上の図の境界線のようにきれいに白黒を分けることができます。
しかし、下の図のような場合はどうでしょうか?
重みであるをどのようにおいても、きれいに一つの直線で分けることができません。
これを数学的に言うと、線形分離可能な問題は単純パーセプトロンで解決できますが、非線形分離問題は単純パーセプトロンで解決できません。
しかし、上記のような問題もこのようなパーセプトロンを複数重ねることで解くことができます。
つまり、複数重ねることで複雑な問題(非線形分離問題)も解決することができるようになるのです。
言わばディープラーニングとは、そのような発想から現実にあるより複雑な問題を解決する方法と言えます。
次回では、より層を増やした(ディープ)なモデルについて説明をしていきます。
P.S.
AIやRPA、チャットボットに関するプロシードの専門サイトを立ち上げました。まだまだ記事等が少ないですが、今後どんどん増やす予定ですので是非一度ご覧ください。