MedTechToday編集部のいとうたかあきです。
今回の記事ではCNNやRNNといったディープラーニング技術の基礎となっているDNN(ディープニューラルネットワーク)について、
「さらっと読んで、理解したい!AI知識を増やしたい!」
という方向けに解説します。
1.DNNの定義
DNNとは、一言でいうと、
4層以上に層を深くした多層ニューラルネットワークのことです。
また、ニューラルネットワークとは、
パーセプトロンを複数組み合わせたものの総称です。
つまり、DNNを理解するにはパーセプトロンとニューラルネットワークの知識が必要です。
ここからは、パーセプトロン、ニューラルネットワーク、DNN
と順を追って説明していきます。
2.パーセプトロン
パーセプトロンでは、「複数の入力値」に対して処理を行い「1つの出力」を行います。
上図は3つの入力値に対するパーセプトロンのイメージ図です。
ここで、パーセプトロンの処理について
下図に照らし合わせて、具体的にみていきます。
まず入力値について説明します。
パーセプトロンに入力される値を、今回はX1,X2の2つとします。
具体的には、X1に身長値、X2に体重値を入力する場合等が、考えられます。
なお、入力数は自由に増やすことができます。
また入力値に1が含まれていますが、
これはバイアスと呼ばれ、入力数によらず、出力値の調整のために存在します。
次に重みについて説明します。
重みは、入力の出力への影響力を調整する役割があります。
例えばX1の影響力を大きく、X2の影響力を小さくしたい場合は、
W1を 0.8、W2を 0.2 のように調整します。
また処理と書かれている箇所では、まず、入力値と重みをかけて足し合わせます。
Y’=1・W0+ X1・W1+ X2・W2
次に、この合計値を用いて、
出力値を決定する関数(活性化関数)に合計値を代入し、出力値を決定します。
活性化関数はいくつもの種類がありますが、パーセプトロンでは、ステップ関数を使用します。
ステップ関数では、合計Y’が0より大きければ1を出力し、0以下なら0を出力します。

このようにパーセプトロンでは、活性化関数がステップ関数のため、1か0の出力が得られます。
パーセプトロンを使用すると、例えば
X1に身長値、X2に体重値を入力した場合の出力Yとして、
1がでたら男性、0がでたら女性と判定できる識別器がつくれます。
3.ニューラルネットワーク
先ほど説明したパーセプトロンが、ニューラルネットワークの基本単位となります。
簡単に述べると、
パーセプトロンをそれぞれを繋げて
ネットワーク化して処理を行うのが
ニューラルネットワークです。
パーセプトロンは「入力」と「出力」だけでしたが
ニューラルネットワークは、上図のように
「入力層」、「中間層」、「出力層」、
の3層で構成されているのがわかります。
出力値と関係がある「出力層」における
活性化関数の1例として、ソフトマックス関数があります。
ソフトマックス関数では、
出力値は0~1.0の範囲をとり、
出力値の総和は1となる特徴があり、
出力を確率とみなせることから、分類問題でよく用いられます。
4.DNN
さらに、下の図のように「中間層」を2層以上に深くしたネットワークを
DNN(ディープニューラルネットワーク)と呼びます。

DNNを用いた機械学習手法のことを、ディープラーニングと呼びます。
また、ディープラーニングが深層学習と呼ばれるのは、
この中間層が深いことに起因します。
パーセプトロンやニューラルネットワークでは
単純な情報しか処理、表現できないため、
情報の複雑さに対応できるように”層”の数を増やした結果、
DNNでは、精度が飛躍的に高まりました。
5.入力と出力の具体例
ニューラルネットワークの説明以降、
「入力」と「出力」について具体例を見てこなかったので、抽象的な印象を持たれている方もいるかもしれません。
ここで、画像の分類問題で「入力」と「出力」の具体例を説明します。
例えば、下の画像の犬を、犬か猫か狐のいずれかに分類するタスクを考えます。

このときの「入力」は指定範囲(今回は黒枠箇所)
の各画素のピクセル値となります。
ピクセル値とは画像のピクセルに含まれる
色の明るさを表す数値となります。
ちなみに、1ピクセルあたり、
白黒画像では、1つの値を、
カラー画像では、RGB(赤、緑、青)
それぞれに値をもつため、3つの値が含まれてます。
DNN後の「出力」は、出力層にソフトマックス関数を使用した場合には、
犬である確率(0.9)、猫である確率(0.07)、狐である確率(0.03)
と可能性の確率が「出力」されていることとなります。
6. まとめ
DNNについてなんとなくイメージがつかめましたでしょうか。
本記事では、さらっと理解できることに重点を置きました。
少しでも本記事で、DNNについて理解が深まったと感じて頂ければ幸いです。