隠れ層とは
Hidden Layer
ニューラルネットワークの入力層と出力層の間に位置し、特徴表現を段階的に変換する層
ひとことで言うと
AIモデルの中で、入力と出力の間にあってデータの特徴を変換していく層。
概要
隠れ層とは、ニューラルネットワークにおいて入力層と出力層の間に位置する層の総称。 外部から直接観測される入出力とは異なり、内部の計算値が直接見えないことから「隠れ(hidden)」と呼ばれる。 各隠れ層は前の層の出力を重み付き和し活性化関数で非線形変換することで、入力データから段階的に抽象度の高い特徴表現を作り出す。 隠れ層を持たない(入力層と出力層のみの)モデルは線形モデルと等価な表現力しか持たないため、隠れ層の存在がニューラルネットワークの非線形な表現力の源泉になっている。 隠れ層を複数積み重ねたネットワークを用いる学習手法が深層学習と呼ばれる。
背景
単純な線形モデルでは、入力と出力の間に複雑な非線形関係がある問題を十分に表現できないという限界があった。 隠れ層は、入力層と出力層の間へ中間的な変換を挟み、こうした非線形な関係を段階的に学習させる仕組みとして導入された。
利点
- 層を深くする(隠れ層を増やす)ことで、より複雑な非線形関数を近似できる
- 浅い層ほど汎用的な特徴を、深い層ほどタスク固有の特徴を学習する傾向があり、転移学習にも応用しやすい
欠点
- 隠れ層を増やすほどパラメータ数が増加し、学習に必要なデータ量・計算資源が増える
- 層を深くしすぎると勾配消失・勾配爆発等、学習が不安定になる問題が起きやすい
比較
- ニューラルネットワーク — 隠れ層は、ニューラルネットワークの入力層と出力層の間に位置する構成要素
- 深層学習 — 深層学習は、隠れ層を複数(多数)積み重ねたニューラルネットワークを用いる学習手法