前回、「ディープラーニングとは?」でディープラーニングの基本的な説明を行いましたが、
ここではディープラーニングの仕組みについて具体的に取り上げたいと思います。

 

ニューラルネットワーク

ディープラーニングの仕組みを理解する為にはニューラルネットワークについて理解する必要があります。
ディープラーニングすなわち深層学習は人工知能に人間が普段行っているような学習能力を持たせる技術である機械学習に属します。
”属している”と表現をしたのはディープラーニングはあくまで機械学習の1つの方法であることを強調するためです。
当然、ディープラーニング以外の機械学習を利用した人工知能も存在します。
例えばCMで話題のIBMのワトソンもディープラーニングを利用しない人工知能のひとつです。
このように人工知能=ディープラーニングではないことを理解してください。

ディープラーニングを利用した人工知能の違いは「特徴量」をより深いレベルかつ非常に高い精度で取得可能であることです。
この深いレベルでの「特徴量」抽出の為に必要なのがニューラルネットワークの考え方です。

「ニューラルネットワーク」は人間の脳の神経回路を元に考えだされた数学モデルです。
人間の脳がニューロンの結合によるネットワークを形成し、ニューロン同士を「バースト発火」と呼ばれる信号で結ぶように
ニューラルネットワークを用いた機械学習ではニューロンを模したノードを複数の層で構成し、電圧の変化で各ノードを結んでいます。
ディープラーニングはノードの層を何層にも重ねることで、より階層的で深いパターン認識が可能です。
広範なパターン認識とビックデータの活用により、ディープラニングは従来の機械学習でボトルネックとなっていた特徴量の抽出を自動化することができるのです。

例えば階層のないニューロン構造である単純パーセプトロンで分類問題を解いてみます。

■入力値

特徴 柴犬 ゴールデンレトリバー
体重 10kg 30kg
身長 40cm 55cm
寿命 12歳 10歳

■重み

重み
-5
-3
10

柴犬
10 × -3 + 40 × -1 + 12 × 10 = 50
→0以上なので柴犬

ゴールデンレトリバー
30 × -3 + 55 × -1 + 10 × 10 = -45
→0以下なのでゴールデンレトリバー

 

このように単純パーセプトロンでも2種類の犬の分類は可能です。
ではチワワやコーギーなど複数の犬種が追加されたらどうでしょう。
出力される値を犬種ごとに詳細に設定し、現在3種類の重みも新たに追加し、変更していく必要があるでしょう。
さらに犬だけでなく猫やうさぎなど別の種類の動物が追加されたら・・・
ディープラーニングではこのように複雑化された問題をビックデータを元にそれぞれの特徴点を検出し、
分類するための重み付けを自ら行う事ができるのです。