多層パーセプトロン
概要
多層パーセプトロン (MLP; multilayer perceptron) または Feedforward Neural Network, Deep Feedforward Network は典型的な深層機械学習のためのネットワークモデル。多層パーセプトロンはある関数
このネットワークモデルはデータの流れが
ニューラルネットワークはパーセプトロンと呼ばれる一般的な機械学習アルゴリズムから派生した。多くの層のパーセプトロンを組み合わせるたモデルは多層パーセプトロンまたは Feedforward Neural Network として知られている。
パーセプトロン
パーセプトロンはニューラルネットワークを構成する最も基本的な要素である。式 (
ベクトルプロセッサで演算を行う場合はバイアスを
活性化関数はパーセプトロンの出力が微分可能な挙動に従うよう規定を設ける役割を持っている。これにより勾配降下法での最適解の学習を容易に行うことができる。一般的なパーセプトロンは出力は値の大小のみに意味があることから、単純増加の関数が適用されることが多い。
古典的なパーセプトロンでは重みづけられた入力の合計
パーセプトロンは線形分類可能な問題を正しく表現することができる。また複数のパーセプトロンを組み合わせることで線形分類不可能な問題も表現することができる。複数のパーセプトロンを組み合わせたものは多層パーセプトロンと呼ばれる。
活性化関数
活性化関数は各ノードの出力を規定するために
標準的な集積回路は入力に応じて 1 (オン) または 0 (オフ) を出力する活性化関数のネットワークとみることができる。これはニューラルネットワークにおける線形パーセプトロンの挙動に類似している。しかし、非線形の活性化関数のみが少数のノードを使用して重要な問題を計算することを可能にする。
損失関数
損失関数はニューラルネットワークの出力に対する正解データとの差を算出する関数。ネットワークの学習時にのみ使用する。損失関数の返す値を損失または誤差と呼ぶ。この損失値はニューラルネットワークを逆方向に伝播する。
MSE-
真の値と推定値との平均二乗誤差。この値は各推定値と真の値との誤差の平均値を表しており、誤りが大きくなったときに明確な差となるように二乗したもの。真の値を
、対応する推定値を 、要素数 としたとき以下のように表される。
バイナリクロスエントロピー-
一般に 0.0~1.0 の範囲で真偽判定を行う 2 値分類に適した損失関数。真の値
, 推定値 , , としたとき以下のように表される。
カテゴリカルクロスエントロピー-
他クラス分類に適した対数損失を算出する関数。出力の活性化関数に softmax を前提としている。カテゴリ
における真の値 、推定値 としたとき以下のように表される。
| 分類 | 最終層の活性化関数 | 損失関数 |
|---|---|---|
| 二値分類 | sigmoid | binary_crossentropy |
| 多クラス単一ラベル分類 | softmax | categorical_crossentropy |
| 多クラス多ラベル分類 | sigmoid | binary_crossentropy |
| 任意の値に対する回帰 | なし | mse |
| 0-1 の値に対する回帰 | sigmoid | mse または binary_crossentropy |
多ラベルは 1 つのサンプルに複数のラベルを付与できる問題を指す。


