🌊
[個人的メモ]多層パーセプトロンとは?
多層パーセプトロンとは?
多層パーセプトロン(MLP: Multi-Layer Perceptron)とは、
複数の「全結合層(Linear)」と「活性化関数(ReLUなど)」を重ねた、シンプルな人工ニューラルネットワークの構造
のことです。
より詳しく
多層パーセプトロン(MLP)とは、以下のような構造です。(複数の隠れ層があるため多層と呼ばれます。)
- 入力層: データの入口
- 隠れ層(一つ以上):線形返還+活性化関数(ReLUなど)
↓
- 隠れ層
- 出力層:データの出口。目的に合わせスコア、確率など
それぞれの層で、次のような処理が行われます:
入力 → 線形変換(wx + b)→ 活性化関数 → 次の層へ
[入力層] → [隠れ層1] → [隠れ層2] → ... → [出力層]
↑ ReLUなどの非線形活性化をはさむ
PyTorchで実装した多層パーセプトロンの例
nn.Sequential(
nn.Linear(10, 100), # 入力10次元 → 隠れ層100
nn.ReLU(),
nn.Linear(100, 50), # 隠れ層 → 隠れ層
nn.ReLU(),
nn.Linear(50, 1) # 最終出力:1次元
)
特徴とメリット
- シンプル。実装しやすく入門向け
- 汎用性高い。画像・テキスト・表形式などいろんなデータに使える
- 全結合なので特徴同士の相互作用が学べる。特に表形式データや推薦で強い
- 深くすると表現力が増す。非線形活性化(ReLUなど)との組み合わせが重要
どんな時に使う?
MLPは以下のようなタスクでよく使われます:
- 回帰(例:売上予測)
- バイナリ分類(例:スパム or 非スパム)
- 多クラス分類(例:手書き文字認識)
- 推薦システム(Embedding + MLP)
- 画像やテキストなど他のモデルと組み合わせて使う(例:Vision Transformer)
Discussion