ディープラーニング入門
学習目標: ニューラルネットワークの基本構造と動作原理を理解する
ディープラーニングとは
ディープラーニング(深層学習)は、多層のニューラルネットワークを使用した機械学習の手法です。 「深い」は層の数が多いことを指し、これにより複雑なパターンを学習できます。
ニューロンの仕組み
生物のニューロン
- 樹状突起: 信号を受け取る
- 細胞体: 信号を処理
- 軸索: 信号を送り出す
- シナプス: 次のニューロンへ伝達
人工ニューロン
- 入力 (x): データを受け取る
- 重み (w): 入力の重要度
- バイアス (b): しきい値の調整
- 活性化関数: 非線形変換
ニューロンの計算式
y = f(w₁x₁ + w₂x₂ + ... + wₙxₙ + b)
f は活性化関数(ReLU、Sigmoidなど)
ニューラルネットワークの構造
入力層
データを受け取る層
隠れ層
特徴を抽出・変換する層(複数可)
出力層
予測結果を出力する層
活性化関数
活性化関数は、ニューロンの出力に非線形性を加えます。これがないと、どれだけ層を重ねても線形変換にしかなりません。
ReLU
f(x) = max(0, x)
- 計算が高速
- 勾配消失問題を軽減
- 最も広く使用される
Sigmoid
f(x) = 1/(1+e⁻ˣ)
- 出力が0〜1の範囲
- 確率として解釈可能
- 二値分類の出力層で使用
Softmax
f(xᵢ) = eˣⁱ/Σeˣʲ
- 出力の合計が1
- 確率分布として解釈
- 多クラス分類の出力層で使用
学習の仕組み
-
順伝播(Forward Propagation)
入力データを層を通して処理し、予測を出力
-
損失計算(Loss Calculation)
予測と正解の差(誤差)を計算
-
逆伝播(Back Propagation)
誤差を元に各重みへの影響(勾配)を計算
-
パラメータ更新
勾配降下法で重みを更新し、誤差を減らす
理解度チェック
Q. ニューラルネットワークで「深い」とは何を意味しますか?