ReLU(Rectified Linear Unit)は、負の入力を0に、正の入力はそのまま通す——いわば「負を切り捨てる」——活性化関数です。ニューラルネットの隠れ層に非線形性を足す部品——本記事は数式の暗記より、「なぜこんなに単純な関数が深層学習の標準になったか」に焦点を当てます。
非線形性が必要な理由
ニューラルネットの各層は、だいたい「加重和→活性化関数」という流れです。活性化関数がないと、線形変換だけを何層も重ねたことになり、全体として1つの線形変換に近くなります。
G-203が示すように、隠れ層に活性化関数を入れないと複雑な関係を表現しにくい——だからReLU、シグモイド、tanhなどが必要です。ReLUはその中でも最も単純で計算が速い代表格として広まりました。
ReLUの形と性質
試験レベルでは、次の定義で十分です。
f(x) = max(0, x)——xが正ならそのまま、負なら0。
| 性質 | 意味 | 試験向け |
|---|---|---|
| 非線形 | 直線だけではない | 隠れ層の表現力の源泉 |
| 計算が軽い | 比較演算と0クリップ | 深いネットで有利 |
| 正側の勾配 | 入力が正なら勾配は1 | シグモイドより勾配消失しにくい |
| 負側は0 | 「死んだニューロン」問題も | Leaky ReLU等の改良は試験範囲外なことも |
シグモイドとの対比
| 観点 | ReLU | シグモイド | Softmax |
|---|---|---|---|
| 主な使い所 | 隠れ層 | 隠れ層・二値出力(古典) | 出力層(多クラス分類) |
| 出力範囲 | 0以上(非負) | 0〜1 | 確率分布(合計1) |
| 試験の整理 | 活性化関数の代表(G-203) | 飽和で勾配消失しやすい | 確率分布化(G-263のすり替え対象) |
ReLU=Softmaxと答えるのは誤りです。ReLUは隠れ層の非線形化、Softmaxは出力層の確率化——層と役割が異なります。
どこで使われるか
AlexNet(G-319)がILSVRC 2012で勝利したとき、ReLU・ドロップアウト・GPU活用が話題になり、現代CNNの標準コンポーネントとして定着しました。
- CNNの畳み込み層のあと — 特徴マップに非線形性を付与
- 全結合隠れ層 — MLPの中間層
- 出力層ではない — 分類の確率化はSoftmax等が担当
ReLUはモデル名(AlexNet等)でも損失関数でもない——層の直後に置く部品として整理します。
試験で押さえるポイント
- 定義 — 負値を0にする活性化関数(Rectified Linear Unit)
- 役割 — 隠れ層に非線形性を導入(G-203)
- 式 — f(x)=max(0,x)
- 歴史 — AlexNetとともにCNNの標準部品として普及(G-319)
- 対比 — Softmax(出力層)、損失関数、正則化、交絡(G-480のすり替え)
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| ReLU=Softmax | 隠れ層の非線形 vs 出力層の確率化 |
| ReLU=損失関数 | 活性化 vs 誤差の定義 |
| ReLU=ドロップアウト | 非線形化 vs 正則化 |
| ReLU=交絡 | 活性化関数 vs 統計の第三要因(G-480) |
| ReLU=バウンディングボックス | NN部品 vs 物体検出の矩形 |
| 活性化なしでも深く学べる | 線形の重ね合わせに近づく(G-203) |
よくある質問
ReLUは何をする活性化関数ですか?
Rectified Linear Unitの略で、f(x)=max(0,x)の形を持つ活性化関数です。負の入力を0に切り捨て、正の入力はそのまま通します。隠れ層に非線形性を導入し、線形変換の重ね合わせだけでは表現できない複雑な関係を学習可能にします。
ReLUとSoftmaxは同じですか?
同じではありません。ReLUは主に隠れ層で使われ、負の値を0にする単純な非線形関数です。Softmaxは出力層でクラス確率を合計1の分布に変換する活性化関数です。役割と数式が異なります。
活性化関数がないと何が問題ですか?
隠れ層に活性化関数がないと、線形変換だけを重ねたことになり、全体として1つの線形変換に近くなります。複雑な非線形関係を表現しにくくなるため、ReLUなどの活性化関数が必要です(G-203)。