Chapter 09
深さ(ディープネット)
隠れ層が多いこと。ディープラーニングの「ディープ」。
チャプター別 ディープラーニング図
チャプターを進めるたびに、下の図が少しずつ埋まります。ここまでの構造です。
深い=隠れ層(中間段階)が多い。ディープラーニングの「ディープ」がこの深さです。
段階が多いほど深いネットワーク。深いほどより細かいパターンを学べます。
ディープラーニングで見る深さ
深いとは隠れ層(中間ステージ)がたくさんあることです。ディープラーニングの「ディープ」がまさにこの深さ!各層で線形 (W·入力+b) と活性化 (ReLU) を行い、結果を次の層に渡します。
X → A → B → C → … → Y とステージが多いほど深くなります。例えると: 1段階なら「線を描く」だけ、10段階なら「簡単な形」、100段階なら「人の顔」が描けるようになります。深いほど精密で複雑なパターンを表現できます。
ただし深ければ良いとは限りません。層が多すぎると勾配消失(学習の信号が初期の層まで届かない)や過学習(訓練データを丸暗記してしまう)のリスクがあります。
層を重ねるほど複雑な関数を表現できます。 各層の活性化が「曲がり」を加え、何層も重ねることで多数の曲がりを組み合わせた非常に複雑な曲線や判断境界を作り出します。
画像認識では: 1〜2層目で「線・輪郭」、3〜5層目で「目・鼻・車輪」、6層目以降で「犬・車」を学習します。これが可能なのは深さがあるからです。
ResNetやTransformerのような有名アーキテクチャは数十〜数百層の深さでも安定して学習できます。秘密はスキップ接続(残差接続)──勾配が層を飛び越えて直接初期の層に流れるため、「深さの限界」を克服できます。
ChatGPT: GPT-4は数十〜数百のTransformerブロックで構成されています。各ブロックが文脈をより深く理解し、最後の層で回答を生成します。
自動運転: カメラ映像が深いネットワーク(例: ResNet-152、152層!)を通り、多くのステージを経て障害物・車線・標識を正確に識別します。深さがあるから複雑な道路状況にも対応できます。
音声認識・翻訳: 音声をテキストに変換する処理や、日本語を英語に翻訳する処理も深いネットワークを通して「音素→単語→文脈→意味」を段階的に捉えます。
例題: 入力 X = [3, 1, 2]。1層目: W₁·X+b₁ = [4, -1, 2](線形)、ReLU 後 A = [4, 0, 2]。2層目: W₂·A+b₂ = [2, 1, 5]、ReLU 後 B = [2, 1, 5]。ここでA₂が空白なら?
解法: 1層目の線形出力の2番目が -1 なので、ReLU(-1) = 0。よってA₂ = 0。中間層の空白は、その層の線形 (W·入力+b) を先に求め、ReLU(負→0) を適用すればよいです。
一般に: 空白がどの層の何番目のニューロンでも、その層の入力までは前から順に計算し、その層のWのその行と入力の内積にbのその要素を足して線形値を求め、ReLU を適用すれば答えになります。
1層: A₁, A₂, A₃ (W₁ 各行·X + b₁)
2層: B₁, B₂, B₃ (W₂ 各行·A + b₂)
1行| 2行| 3行
問題
複数層が連続した順伝播(各層 Linear & ReLU)で空欄(?)を埋めなさい。