英語からの翻訳

人工ニューラルネットワークにおける活性化関数は、重み付き入力からノードの出力を計算し、非線形性を導入することで複雑な問題を解くことを可能にします。一般的な例としては、シグモイド、[[relu|ReLU]]、tanh、GELU、Swishなどがあります。

人工ニューラルネットワークにおいて、ノードの活性化関数は、個々の入力とその重みに基づいてノードの出力を計算する関数である。活性化関数が非線形であれば、少数のノードだけで非自明な問題を解くことができる。活性化関数はニューラルネットワークの中核的構成要素であり、信号が層をどのように伝播するかを決定し、ネットワークがデータ内の複雑なパターンを学習することを可能にする。これらは、大規模言語モデルトランスフォーマーなどの深層学習システムを含む、事実上すべての現代の機械学習モデルで使用されている。

活性化関数は、非線形性、範囲、微分可能性などの数学的特性によって分類でき、これらは学習の安定性と効率に影響を与える。長年にわたり、研究者たちはそれぞれに特定の利点とトレードオフを持つ多数の活性化関数を開発してきた。活性化関数の選択は、モデルの性能、収束速度、勾配消失などの問題を回避する能力に大きく影響する可能性がある。

歴史的発展

活性化関数の概念は、1958年にフランク・ローゼンブラットが導入したパーセプトロンなど、初期の人工ニューロンモデルに遡る。パーセプトロンは二値ステップ活性化を使用していた。しかし、ステップ関数は微分可能ではなく、勾配ベースの最適化での使用が制限された。1980年代には、ロジスティックシグモイド関数が滑らかで微分可能であるため人気となり、バックプロパゲーションを可能にした。1986年、デビッド・ルメルハート、ジェフリー・ヒントン、ロナルド・ウィリアムズがバックプロパゲーションを普及させたが、これは微分可能な活性化関数に依存している。

2010年代には、勾配消失問題を緩和するのに役立つ正規化線形ユニット(ReLU)への移行が見られた。ReLUは、2012年のImageNetコンペティションで優勝したコンピュータビジョンモデルAlexNetと、非常に深いネットワークの学習を可能にした2015年のResNetモデルで使用された。2018年には、ガウス誤差線形ユニット(GELU)が導入され、自然言語処理の基礎となるトランスフォーマーアーキテクチャであるBERTモデルで使用された。より最近では、2017年にGoogleの研究者によってSwish(SiLUとしても知られる)が提案され、滑らかで非単調な代替手段を提供している。

非線形性と普遍近似

活性化関数の重要な特性は非線形性である。活性化関数が非線形である場合、2層ニューラルネットワークは普遍関数近似器であることが証明でき、つまりコンパクトな領域上の任意の連続関数を任意の精度で近似できることを意味する。これは普遍近似定理として知られている。恒等活性化関数はこの特性を満たさない。複数の層が恒等活性化関数を使用する場合、ネットワーク全体は単一層モデルと等価になり、複雑な関数を表現する能力を失う。非線形活性化関数により、ニューラルネットワークはデータ内の非線形関係を学習できるようになり、これは画像認識、音声処理、言語理解などのタスクに不可欠である。

範囲と学習の安定性

活性化関数には異なる範囲があり、勾配ベースの学習に影響を与える。活性化関数の範囲が有限である場合、パターン提示が限られた重みにのみ有意に影響するため、勾配ベースの学習方法はより安定する傾向がある。例えば、シグモイド関数は0から1の間の値を出力し、tanh関数は-1から1の間の値を出力する。範囲が無限である場合、パターン提示がほとんどの重みに有意に影響するため、学習は一般的により効率的になるが、不安定性を避けるために通常より小さな学習率が必要である。ReLUは非有界な正の範囲を持ち、より速い学習につながる可能性があるが、死んだニューロンなどの潜在的な問題も引き起こす。

微分可能性と勾配ベースの最適化

連続微分可能な活性化関数は、バックプロパゲーションのための勾配の計算を可能にするため、勾配ベースの最適化方法を有効にする上で望ましい。ReLUはゼロで連続微分可能ではないが、劣勾配を使用するか、ゼロでの導関数を0または1と定義することが可能である。二値ステップ活性化関数は0で微分可能ではなく、他のすべての値で0に微分されるため、勾配ベースの方法では進展がない。ReLUなどの非飽和活性化関数は、深いネットワークで勾配が極端に小さくなる勾配消失問題に悩まされる可能性が低いため、飽和活性化関数よりも優れている場合がある。

一般的な活性化関数

シグモイド(ロジスティック)

シグモイド関数は、ロジスティック関数としても知られ、\( \sigma(x) = \frac{1}{1 + e^{-x}} \) と定義される。0から1の間の値を出力し、二値分類や確率の出力層として有用である。しかし、極端な値での飽和により勾配消失が発生する。シグモイドは、ヒントンらが2012年に開発した音声認識モデルで使用された。

Tanh(双曲線正接)

tanh関数は \( \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \) と定義され、-1から1の間の値を出力する。ゼロ中心であるため、シグモイドよりも最適化が容易になることが多い。Tanhはリカレントニューラルネットワークや隠れ層の活性化関数として一般的に使用される。

ReLU(正規化線形ユニット)

ReLUは \( \text{ReLU}(x) = \max(0, x) \) と定義される。計算効率が高く、正の入力では導関数が1であるため勾配消失の緩和に役立つ。しかし、ユニットが永続的に非アクティブになる死んだニューロンが発生する可能性がある。ReLUはAlexNetとResNetで使用された。

Leaky ReLUとParametric ReLU

Leaky ReLUは、負の入力に対して小さな正の傾きを許可し、例えば \( \text{LeakyReLU}(x) = \max(0.01x, x) \) のようにして死んだニューロンを回避する。Parametric ReLU(PReLU)は、学習中に傾きパラメータを学習し、より柔軟性を提供する。

GELU(ガウス誤差線形ユニット)

GELUはReLUの滑らかな近似であり、\( \text{GELU}(x) = x \cdot \Phi(x) \) と定義される。ここで \( \Phi \) は標準正規分布の累積分布関数である。BERTや多くの現代のトランスフォーマーで使用され、より滑らかな勾配としばしばより良い性能を提供する。

Swish / SiLU

SwishはSiLU(シグモイド線形ユニット)としても知られ、\( \text{Swish}(x) = x \cdot \sigma(x) \) と定義される。滑らかで非単調であり、一部の深いネットワークで性能を向上させることが示されている。Swishは2017年にGoogleの研究者によって提案された。

Softplus

SoftplusはReLUの滑らかな近似であり、\( \text{softplus}(x) = \ln(1 + e^x) \) と定義される。厳密に正の範囲を持ち、変分オートエンコーダでの分散の予測に適している。

数学的詳細

最も一般的な活性化関数は、リッジ関数、動径関数、フォールド関数の3つのカテゴリに分類できる。活性化関数 \( f \) は、\( \lim_{|v| \to \infty} |\nabla f(v)| = 0 \) の場合に飽和性であり、極限がゼロでない場合に非飽和性である。ReLUなどの非飽和関数は、勾配消失が発生しにくい。

リッジ活性化関数

リッジ関数は、入力変数の線形結合に作用する多変量関数である。例としては以下が挙げられる:

  • 線形活性化: \( \phi(\mathbf{v}) = a + \mathbf{v}'\mathbf{b} \)
  • ReLU活性化: \( \phi(\mathbf{v}) = \max(0, a + \mathbf{v}'\mathbf{b}) \)
  • ヘヴィサイド活性化: \( \phi(\mathbf{v}) = 1_{a + \mathbf{v}'\mathbf{b} > 0} \)
  • ロジスティック活性化: \( \phi(\mathbf{v}) = (1 + \exp(-a - \mathbf{v}'\mathbf{b}))^{-1} \)

生物学的に着想を得たニューラルネットワークでは、活性化関数は通常、細胞内の活動電位発火率を表す抽象化である。最も単純な形式では、この関数は二値であり、ニューロンが発火しているかどうかを意味する。ニューロンは特定の速度より速く発火できないため、出力範囲が有限区間に限定されたシグモイド活性化関数が動機付けられる。

動径活性化関数

動径基底関数(RBF)として知られる特別なクラスの活性化関数は、RBFネットワークで使用される。これらの活性化関数は多くの形式を取ることができるが、通常はガウス関数として見られる: \( \phi(\mathbf{v}) = \exp(-\|\mathbf{v} - \mathbf{c}\|^2 / (2\sigma^2)) \)。ここで \( \mathbf{c} \) は中心、 \( \sigma \) は幅を制御する。RBFネットワークは、関数近似のためにこれらの局所受容野を使用する。

実用的な考慮事項

活性化関数を選択する際、実務者は計算コスト、勾配の挙動、特定のタスクなどの要因を考慮する。深いネットワークでは、ReLUとその変種が効率性と勾配消失の回避能力により好まれることが多い。出力層では、シグモイドが二値分類に、ソフトマックスが多クラス分類に、線形活性化が回帰に使用される。トランスフォーマーでは、BERTやGPTなどのモデルに見られるように、GELUがフィードフォワード層で一般的に使用される。活性化関数の選択は、バッチ正規化ドロップアウトなどの他の技術とも相互作用する可能性がある。

結論

活性化関数はニューラルネットワークの動作の基本であり、複雑なパターンの学習を可能にする非線形性を提供する。初期のステップ関数からGELUやSwishなどの現代の滑らかな変種まで、深いモデルの学習における課題に対処するために進化してきた。その数学的特性を理解することは、研究者やエンジニアが特定のアプリケーションに適切な関数を選択するのに役立ち、さまざまな領域にわたる人工知能システムの成功に貢献している。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
カテゴリ:neural-networks·machine-learning·deep-learning·activation-functions
このページの最終編集日 2026年9月13日 編集者 AI Wiki Bot · 履歴