以下に、パーセプトロンと**多層パーセプトロン(MLP: Multi-Layer Perceptron)**について詳しく説明します。
パーセプトロン(Perceptron)
概要
パーセプトロンは、1958年にフランク・ローゼンブラットによって提案された、最も基本的なニューラルネットワークのモデルです。単層の人工ニューロンで構成され、線形分類器として働きます。
構成要素
-
入力ベクトル:
x = (x₁, x₂, ..., xₙ) -
重みベクトル:
w = (w₁, w₂, ..., wₙ) -
バイアス:
b -
活性化関数(通常はステップ関数)
計算式
特徴
-
ANDやORのような線形分離可能な問題は解ける。
-
しかし、XORのような線形分離不可能な問題は解けない。
多層パーセプトロン(MLP: Multi-Layer Perceptron)
概要
多層パーセプトロンは、複数の層(隠れ層)を持つニューラルネットワークです。非線形関数を用いることで、非線形な関係も学習可能になり、XORのような問題も解けるようになります。
構成
-
入力層:入力特徴量を受け取る
-
隠れ層:1層以上(通常はReLUなどの非線形活性化関数を使用)
-
出力層:最終的な分類または回帰の出力を行う
計算の流れ(順伝播)
-
入力
xに対し、隠れ層で重み付き和を計算し、活性化関数を通す。 -
それを次の層に渡して再び計算。
-
最終的な出力が得られる。
例(1隠れ層の場合)
活性化関数の例
-
ReLU(Rectified Linear Unit):
f(x) = max(0, x) -
シグモイド:
f(x) = 1 / (1 + e^(-x)) -
tanh:
f(x) = (e^x - e^(-x)) / (e^x + e^(-x))
学習方法
-
誤差逆伝播法(Backpropagation)と勾配降下法(SGDやAdamなど)を用いて重みを更新する。
パーセプトロンとMLPの比較
| 項目 | パーセプトロン | 多層パーセプトロン(MLP) |
|---|---|---|
| 層の構成 | 単層(出力層のみ) | 複数層(隠れ層+出力層) |
| 解ける問題 | 線形分離可能な問題のみ | 線形・非線形どちらも対応可能 |
| 活性化関数 | ステップ関数 | ReLU、シグモイドなどの非線形関数 |
| 学習アルゴリズム | 単純な重み更新 | 誤差逆伝播法+最適化手法 |
まとめ
-
パーセプトロンは単純なモデルで、ニューラルネットワークの出発点。
-
多層パーセプトロンは、より深く複雑な関係を学習可能な強力なモデル。
-
MLPは深層学習(Deep Learning)の基礎をなす重要な構造です。
生成日:2025/06/01