どんなに高性能なニューラルネットワークも、データを受け取る「入り口」がなければ始まりません。その入り口が入力層です。地味な存在に見えますが、「データをどう数値にしてネットワークに渡すか」を決める層であり、ノード数がデータの形で決まるという特有のルールがあります。隠れ層・出力層とセットで確実に押さえましょう。

📖 ひと言でいうと

入力層とは、ニューラルネットワークが外部からデータを受け取る最初の層です。例えるなら、工場の「原材料の受け入れ窓口」です。画像や音声、数値データといった原材料を、ネットワークが処理できる数値の形で受け取り、加工工程(隠れ層)へ送り出します。窓口自体は加工をせず、受け取って流すのが仕事です。

🖼 1枚でわかる入力層

入力層 = データを受け取るネットワークの入り口
  • 位置 — ニューラルネットワークの最初の層。外部から情報を受け取る
  • 動作 — 例: 画像なら各ピクセルの値が各ノードに割り当てられる
  • ノード数 — 入力データの次元(特徴量の数)で決まる
  • 次への伝達 — 受け取った数値は重みに基づいて中間層(隠れ層)へ伝えられる
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

ディープラーニングにおいて、入力層はモデルが外部から情報を受け取る最初の層で、例えば画像認識の場合、画像の各ピクセルが入力データとなり、入力層の各ノードに割り当てられる。これらの数値はニューロン間の重みに基づいて中間層へと伝えられ、次の層でさらに加工されていく。

短い説明ですが、2つの重要な仕組みが述べられています。1つ目は「データとノードの対応」です。画像認識なら、画像を構成するピクセル1つひとつの明るさの値が、入力層のノード1つひとつに割り当てられます。つまり入力層はデータをそのままの数値として受け止める場所です。2つ目は「重みによる伝達」です。入力層の値は、ニューロン間の結合に付けられた重み(どの入力をどれだけ重視するかを表す数値)に基づいて中間層へ渡され、そこから先で本格的な加工が始まります。

🔍 しっかり理解する

ノード数は「データの形」が決める

入力層のノード数は、設計者が自由に決めるものではなく、入力データの次元数で自動的に決まります。縦28×横28ピクセルの白黒画像なら28×28=784個のノード、住宅価格予測で「広さ・築年数・駅からの距離」の3つの特徴量を使うなら3個のノード、という具合です。カラー画像であれば赤・緑・青の3チャンネル分の値が必要になるため、同じ28×28でも入力の次元は28×28×3に増えます。これは隠れ層のノード数や層数が設計者の裁量で決められるのと対照的で、試験でも区別のポイントになります。

生データ
画像・音声・表形式データなど
数値化
ピクセル値や特徴量の数値ベクトルに変換
入力層
1ノードに1つの数値が割り当てられる
隠れ層へ
重みに基づいて伝達され加工が始まる

入力層自身は「計算」をしない

隠れ層や出力層のニューロンは、前の層からの入力を重み付きで足し合わせ、活性化関数に通すという計算を行います。これに対し入力層のノードは、受け取った数値をそのまま保持して次の層へ渡すのが基本的な役割で、活性化関数による変換は行いません。「層」と呼ばれてはいますが、実質はデータの受け皿です。このため、ネットワークの層数を数えるときに入力層を数に含めない流儀もあります(例えば「3層のネットワーク」が入力層+隠れ層1+出力層を指す場合と、重みを持つ層だけを数える場合があります)。

入力層に渡す「前」の工夫が精度を左右する

入力層は受け取った値をそのまま流すからこそ、何をどんな形で入力するかという前処理・特徴量の設計が重要になります。たとえばピクセル値を0〜1の範囲に揃える正規化を行うと学習が安定しやすくなります。また、従来の機械学習では人間が特徴量を設計して入力層に与えていましたが、ディープラーニングでは生に近いデータ(ピクセル値など)を入力し、特徴抽出そのものを隠れ層に学習させるようになった、という変化も入力層を起点に語ることができます。

💡 具体例で考える

手書き数字認識の定番データセットMNISTを例にします。MNISTの画像は縦28×横28ピクセルの白黒画像なので、入力層には784個のノードを用意し、各ピクセルの濃淡を表す数値を1ノードに1つずつ割り当てます。「7」の画像を入れれば、7の形に沿ったピクセルに対応するノードには大きな値が、背景に対応するノードには小さな値が入ります。この784個の数値が重みを介して隠れ層へ流れ、最終的に出力層で「0〜9のどれか」の判定に変わっていきます。

もう1つ、住宅価格の予測モデルなら、入力層のノードは「専有面積」「築年数」「駅からの徒歩分数」など使う特徴量の数だけ用意します。特徴量を1つ追加したければ入力層のノードも1つ増える——入力層がデータの形を映す鏡であることがわかる例です。逆にいえば、入力層に入れなかった情報(例えば周辺の治安や日当たり)は、どれだけ隠れ層を深くしてもモデルが知ることはできません。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「入力層も活性化関数で計算する」は誤り — 活性化関数による変換を行うのは隠れ層や出力層のニューロンです。入力層はデータを受け取って次の層へ渡す受け皿で、それ自体は計算をしないのが基本です。
  • 「入力層のノード数は自由に設計できる」は誤り — 入力層のノード数は入力データの次元数で決まります。自由に設計できるのは隠れ層のノード数や層の数です。
  • 隠れ層・出力層との区別 — データを受け取る最初の層が入力層、間で特徴を抽出するのが隠れ層(中間層)、最後に結果を出すのが出力層です。「最初・間・最後」の位置関係で整理しましょう。
  • 入力層と特徴量の関係 — 入力層は特徴量を「受け取る」場所であって、特徴量を「作る」場所ではありません。特徴量の設計は前処理の仕事、特徴の自動抽出は隠れ層の仕事です。

📝 試験でのポイント

💡 ポイント
  • 「モデルが外部から情報を受け取る最初の層」という定義から入力層を選ばせる問題が基本形です。
  • 「画像認識では画像の各ピクセルが入力データとなり、入力層の各ノードに割り当てられる」という公式説明の具体例はそのまま出題されうる表現です。
  • 入力層・隠れ層・出力層の3層構造で、各層の役割の記述を対応させる問題が定番です。位置(最初/間/最後)と役割(受け取る/加工する/結果を出す)をセットで。
  • 「入力層のノード数はデータの次元で決まる」という性質を、隠れ層の設計自由度と対比させる出題も考えられます。

📚 まとめ

💡 ポイント
  • 入力層は、ニューラルネットワークが外部からデータを受け取る最初の層です。
  • 画像なら各ピクセルの値が各ノードに1対1で割り当てられ、ノード数は入力データの次元数で決まります。
  • 受け取った数値は重みに基づいて中間層(隠れ層)へ伝えられ、そこから本格的な加工が始まります。
  • 入力層自体は計算をしない受け皿だからこそ、正規化などの前処理や特徴量の与え方が精度を左右します。