ニューラルネットワークの基礎
1. 正規化線形関数 (ReLU)
ReLU関数は、入力が0未満の場合は0を出力し、0以上の場合はそのままの値を出力します。
$$
h = f(u) = \max(0, u)
$$
式としては以下のように表せます:
$$
f(u) =
\begin{cases}
0 & (u < 0) \
u & (u \geq 0)
\end{cases}
$$
グラフで表すと次のようになります:
h
|
3 | /
| /
1 | /
|_______/________
0 u
2. ソフトマックス関数 (分類の出力層)
ソフトマックス関数は、複数のクラスの確率分布を出力するために使われます。出力の総和は常に1です。
$$
h = f(u) = \frac{ \exp(u_i) }{ \sum_{i=1}^{n} \exp(u_i) }
$$
例として、以下のAとBという2つのニューロンがあった場合、確率は次のようになります:
- A: ( u = 2.0 )
- ( \frac{ e^{2.0} }{ e^{2.0} + e^{1.5} } \approx 0.622 )
- B: ( u = 1.5 )
- ( \frac{ e^{1.5} }{ e^{2.0} + e^{1.5} } \approx 0.378 )
3. ニューラルネットワーク内の計算手順
STEP 1: 線形変換
入力層から中間層へ、そして中間層から出力層への信号を線形変換します。
STEP 2: 非線形変換
各層における非線形変換を行います(例:ReLU)。
STEP 3: 目的関数(損失関数)の計算
予測値と目標値との差を計算し、それを最小化するようにモデルを最適化します。以下は回帰問題における平均二乗誤差 (Mean Squared Error: MSE) です。
$$
L = \frac{1}{N} \sum_{n=1}^{N} (t_n - y_n)^2
$$
4. 分類問題における交差エントロピー
分類問題では、損失関数として交差エントロピーを使用します。
$$
L = -\frac{1}{N} \sum_{n=1}^{N} \sum_{c=1}^{C} t_{nc} \log y_{nc}
$$
ここで、( t_{nc} ) は目標値、( y_{nc} ) は予測値です。具体例として、4クラス分類の場合、目標クラスがDであった場合の損失計算を示します。
5. 逆伝播法と最急降下法
逆伝播
逆伝播法では、損失関数に基づいてパラメータを更新します。具体的には、最終的な予測誤差を各層に逆伝播させ、各重みを更新します。
最急降下法
最急降下法は、パラメータの勾配に基づいてモデルの重みを更新するアルゴリズムです。
- 初期のパラメータをランダムに設定
- 勾配を計算
- パラメータを更新
学習率 ( \rho ) は更新幅を決定します。学習率が大きすぎると発散、小さすぎると収束が遅くなります。
局所解ではなく、最適解を見つけることが重要です。