前回は、多層構造(MLP)を導入することで、単層ネットワークに比べて遥かに高い表現力が得られることを学びました。これまで、「インプット」や「ニューロン」といった言葉を少し曖昧に使ってきましたが、今回は層構造をより詳細に分解し、それぞれの役割についてまとめます。
また、将来使うであろう様々なモデルの構造を正確に理解するためには、それぞれの役割や表記方法を整理しておく必要がありますが、今回の内容はそれらの大前提となります。さらに後の記事では、この構造を前提とした“学習と最適化”の仕組みへと進みます。
<関連記事>
- 【理論基礎3】ニューラルネットワークの基本要素
- 【理論基礎4】ニューラルネットワークの多層化 (MLP)
- 【理論基礎5】ニューラルネットワークの層構造とその役割
- 【理論基礎6】畳み込みニューラルネットワーク(CNN)
目次
ニューラルネットワークの基本構造
ニューラルネットワークの各レイヤーは、大きく3つのカテゴリーに分けられます(ページの真ん中、「全体の構造と表記」の図を参照):
- 入力層(Input Layer)
- 隠れ層(Hidden Layer)
- 出力層(Output Layer)
入力層と出力層
入力層は、モデルがデータを受け取る部分です。このデータは数値化され、一般に入力層の値を と書きます。この層の役割は、モデルに外部からの情報を入力することです。たとえば、画像認識モデルでは、画像の各ピクセル値が入力として使われます。
出力層は、モデルが計算の結果として予測を出す部分です。たとえば、手書きの数字の認識であれば、出力層が「0〜9の数字のいずれか」という答えを提供します。この層の出力は図の例であれば、手書き文字が各数字である確率で、 のように書かれます。ここで、k はクラスの数です。
高校数学で関数を と表したのと同様に、ニューラルネットワークも入力
を受け取り、出力
を返す高度な関数として捉えられます。
全体の構造と表記
ニューラルネットワーク全体の簡略化と応用例として、以下の図のように表現できます。図右下を見ると、入力層、隠れ層、出力層が連なり、各層の出力が次の層の入力として扱われます。

さらに、活性化関数や重み行列を用いると、層間の関係は以下のように数式で表されます:
ここで、
:
層と
層を結ぶ重み行列
:
層のバイアスベクトル
: 活性化関数
です。
図の中では、入力は手書き数字の各ピクセルの値です。ピクセルは全部で個なので、入力層は
となります。出力層は、入力された画像にかかれている数字が0~9のいずれかである確率になるので、
となります。
まとめ
ニューラルネットワークは、入力層、隠れ層、出力層という3つの基本的なレイヤーで構成されます。それぞれが異なる役割を持ち、特に隠れ層が複雑な計算を担う重要な部分です。各レイヤー間の関係を数式や図で整理することで、全体の構造を直感的に理解しやすくなります。
次の記事では、入力が画像の場合、この構造を基にディープラーニングがどのように学習を行うのか、その仕組みについて掘り下げていきます。