AIの本と用語検索

活性化関数

ニューラルネットワークにおける活性化関数は、ニューロンの出力値を決定する非線形変換を担います。これは、各ニューロンが受け取った入力の重み付き総和を次の層へ伝達する前に適用される関数です。

活性化関数の主要な役割は、モデルに非線形性を導入することです。もし活性化関数が線形である場合、ネットワーク全体は単一の線形変換と等価となり、複雑なパターンや関係性を学習できなくなります。

様々な種類の活性化関数が存在し、それぞれ異なる特性を持っています。例えば、シグモイド関数やtanh関数は、出力を特定の値の範囲(それぞれ0から1、-1から1)に収めるため、勾配消失問題を引き起こす可能性があります。これは、勾配が非常に小さくなり、重みの更新が停滞する現象です。

これに対し、ReLU (Rectified Linear Unit) 関数は、入力が正の場合はそのまま出力し、負の場合はゼロを出力するという単純な構造を持つため、計算効率が良く、勾配消失問題も緩和されます。しかし、「死んだReLU」(Dead ReLU)問題、つまりニューロンが常に負の入力しか受け取らず、全く活性化しなくなる可能性もあります。

これらの問題を克服するため、ReLUの変種であるLeaky ReLUやPReLUなどが開発されました。

活性化関数の選択は、モデルの性能や学習の安定性に大きく影響するため、タスクの性質やネットワークの構造に応じて慎重に検討する必要があります。