多層パーセプトロンとは?意味・仕組み・活用例をわかりやすく解説

多層パーセプトロンとは?意味・仕組み・活用例をわかりやすく解説

AIの初心者

「多層パーセプトロン」は、層を増やすと何ができるようになるのですか?

AI専門家

隠れ層と活性化関数を使うことで、直線だけでは分けられない複雑な関係を学べるようになるんだ。複数の特徴を段階的に組み合わせられることが大切なんだよ。

AIの初心者

複雑な関係とは、具体的にはどのようなものですか?

AI専門家

例えば猫と犬を見分けるとき、耳だけでなく、輪郭や毛並みなど複数の手がかりを組み合わせる必要があるよ。多層パーセプトロンは、そのような特徴の組み合わせをデータから学習できるんだ。

多層パーセプトロンとは。

多層パーセプトロン(MLP)は、入力層と出力層の間に1層以上の隠れ層を持つニューラルネットワークです。重み付きの計算と非線形な活性化関数を重ねることで、単純な直線では表せないデータの関係を学習します。

多層パーセプトロンは、英語の「Multilayer Perceptron」を略してMLPとも呼ばれます。機械学習の基本モデルであり、ニューラルネットワークや深層学習を理解するうえで欠かせない仕組みです。

この記事では、MLPの構造、計算と学習の流れ、単純パーセプトロンとの違い、活用例、利用時の注意点を順に解説します。

多層パーセプトロンが入力から複雑な判断を作る全体像

多層パーセプトロン(MLP)とは

多層パーセプトロンとは、複数の人工ニューロンを層状に並べ、前の層の出力を次の層へ渡して予測を行うモデルです。基本的なMLPでは、隣り合う層のニューロン同士が広く接続されるため、全結合ニューラルネットワークの代表例として扱われます。

学習の目的は、訓練データに含まれる入力と正解の関係を表すように、接続の強さである「重み」と、判断基準をずらす「バイアス」を調整することです。学習後は、未知の入力に対して分類結果や数値を出力できます。

重要なのは、層数を増やすだけで自動的に賢くなるわけではない点です。MLPが複雑な関係を扱えるのは、隠れ層で活性化関数による非線形変換を行うからです。

MLPを構成する入力層・隠れ層・出力層

\(z_j=\sum_i w_{ji}x_i+b_j,\qquad a_j=f(z_j)\)

MLPは、入力層、隠れ層、出力層の3種類で構成されます。上の式では、入力 \(x_i\) に重み \(w_{ji}\) を掛けて足し合わせ、バイアス \(b_j\) を加えた値 \(z_j\) を求めます。その値を活性化関数 \(f\) に通した出力が \(a_j\) です。

  • 入力層:特徴量を受け取ります。住宅価格予測なら、面積、築年数、駅からの距離などが入力です。
  • 隠れ層:重み付き和と活性化関数によって特徴を変換します。複数層にすると、単純な特徴を段階的に組み合わせられます。
  • 出力層:目的に合った形式で予測を返します。二値分類なら確率、多クラス分類ならクラスごとの確率、回帰なら数値などです。

例えば画像の各画素を入力すると、隠れ層は線や形に反応する組み合わせを学ぶ可能性があります。ただし、各ニューロンの役割を人があらかじめ指定するわけではありません。誤差が小さくなるように学習した結果として、役立つ表現が形成されます。

入力層、複数の隠れ層、出力層からなるMLPの構造

単純パーセプトロンと多層パーセプトロンの違い

単純パーセプトロンは、入力の重み付き和を使って二つのグループを分ける基本的なモデルです。境界が直線や平面で表せる線形分離可能な問題には対応できますが、1本の境界で分けられない問題は扱えません。

代表例がXOR(排他的論理和)です。二つの入力が異なるときだけ1になるデータ配置は、1本の直線では0と1に分離できません。MLPは隠れ層で複数の境界を組み合わせるため、このような非線形な問題を表現できます。

比較項目 単純パーセプトロン 多層パーセプトロン
構造 隠れ層を持たない 1層以上の隠れ層を持つ
表現できる境界 直線・平面 曲線を含む複雑な境界
扱える代表例 線形分離できる分類 XOR、複雑な分類・回帰
学習で調整するもの 重み、バイアス 各層の重み、バイアス

なお、隠れ層があっても活性化関数を使わず線形変換だけを重ねた場合、全体は一つの線形変換にまとめられます。MLPの表現力は、多層構造と非線形性の組み合わせから生まれます。

線形分離と非線形な分類境界の違い

予測と学習の仕組み:順伝播・誤差逆伝播・更新

\(L(\theta),\qquad \theta \leftarrow \theta-\eta\nabla_{\theta}L\)

MLPの学習は、大きく「予測する」「間違いを測る」「原因を逆向きにたどる」「パラメータを直す」という流れで進みます。

  1. 順伝播:入力を受け取り、隠れ層から出力層へ計算を進めて予測値を得ます。
  2. 損失の計算:予測値と正解のずれを損失関数 \(L\) で数値化します。
  3. 誤差逆伝播:連鎖律を使い、各重みやバイアスが損失に与えた影響、すなわち勾配を出力側から入力側へ計算します。
  4. パラメータ更新:学習率 \(\eta\) と勾配 \(\nabla_{\theta}L\) を使い、パラメータ \(\theta\) を損失が小さくなる方向へ動かします。

この一連の処理を多数のデータで繰り返すと、モデルは徐々に訓練データの規則性を捉えます。誤差逆伝播法は「重みを更新する方法」そのものではなく、更新に必要な勾配を効率よく計算する方法です。実際の更新には、勾配降下法やAdamなどの最適化手法を使います。

学習率が大きすぎると最適な値を飛び越え、小さすぎると学習に時間がかかります。損失が下がることだけでなく、訓練に使っていない検証データの性能も確認する必要があります。

順伝播と誤差逆伝播によるMLPの学習サイクル

活性化関数が非線形な関係を学べるようにする

活性化関数は、ニューロンで計算した値を変換して次の層へ渡す関数です。隠れ層ではReLUがよく使われ、出力層では課題に応じて関数を選びます。

活性化関数 特徴 主な使いどころ
ReLU 負の値を0、正の値をそのまま出力する 隠れ層の標準的な選択
シグモイド 出力を0〜1の範囲に収める 二値分類の出力層
ソフトマックス 複数の出力を合計1の確率として表す 多クラス分類の出力層
線形関数 変換せず値を出す 回帰の出力層

シグモイドは入力の絶対値が大きい領域で勾配が小さくなり、深いネットワークでは学習が進みにくい「勾配消失」を起こすことがあります。隠れ層ではReLUやその派生関数が選ばれることが多いものの、データや課題に応じた検証が必要です。

多層パーセプトロンの主な活用例

MLPは分類と回帰の両方に利用できます。特に、顧客属性、売上、センサー値のように、各行が一つの事例、各列が特徴量として整理された表形式データは、MLPを試しやすい対象です。

  • 分類:解約予測、不正取引検知、スパム判定、故障判定など。
  • 回帰:需要予測、価格予測、消費量や品質値の推定など。
  • 他モデルの一部:画像、音声、文章を処理する大規模なニューラルネットワークの出力部分など。

元記事で挙げた画像認識、音声認識、自然言語処理、医療診断、金融予測にもニューラルネットワークは活用されています。ただし、画像では畳み込みニューラルネットワーク(CNN)、系列データではTransformerなど、データ構造を生かすモデルが選ばれることも一般的です。MLPが常に最良という意味ではありません。

例えば猫と犬の画像分類をMLPだけで行うと、画素を1列に並べるため画像内の位置関係を生かしにくく、パラメータ数も増えがちです。学習教材としては分かりやすい一方、実務ではCNNや事前学習済みモデルも比較します。

表形式データや画像などから分類と予測を行うMLPの活用例

ニューラルネットワーク・深層学習・CNNとの違い

用語の関係を整理すると、ニューラルネットワークは人工ニューロンを接続したモデルの総称で、MLPはその一種です。隠れ層を多数重ねたMLPは深層ニューラルネットワークに含まれ、その学習は深層学習と呼ばれます。

CNNもニューラルネットワークの一種ですが、画像の近接関係を捉えやすい畳み込み層を使う点がMLPと異なります。MLPは各特徴を全結合で扱う基本形、CNNは画像のような格子構造に適した設計、と考えると区別しやすいでしょう。

MLPを使うときの注意点

  • 前処理:特徴量の尺度が大きく異なると学習が不安定になりやすいため、標準化や正規化を検討します。
  • 過学習:モデルが複雑すぎると訓練データだけに適応します。検証データ、早期終了、正則化、Dropoutなどを活用します。
  • 設計値の調整:隠れ層の数、ニューロン数、学習率、バッチサイズは性能と計算量に影響します。
  • 比較評価:表形式データでは、決定木系モデルや線形モデルのほうが高性能で説明しやすい場合もあります。
  • 説明可能性:多数の重みが関わるため、予測根拠を直感的に説明しにくいことがあります。

まず単純な基準モデルを作り、MLPを使うことで検証データの性能が本当に改善するかを比べるのが実務的です。データ量、精度、推論速度、説明の必要性まで含めて選びましょう。

まとめ

多層パーセプトロンは、入力層、隠れ層、出力層を持つニューラルネットワークです。重みとバイアスによる計算に活性化関数を組み合わせ、単純パーセプトロンでは扱えない非線形な関係を学習します。

学習では、順伝播で予測し、損失を計算し、誤差逆伝播で勾配を求めてパラメータを更新します。仕組みは深層学習の基礎ですが、課題によってはCNNや決定木系モデルなども候補になります。構造を理解したうえで、データに合うモデルを比較することが大切です。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年7月21日 計算式と学習手順を補い、関連モデルとの違いや利用時の注意点を追記