連載
» 2020年03月26日 05時00分 公開

AI・機械学習の用語辞典:活性化関数(Activation function)とは?

用語「活性化関数」について説明。人工ニューラルネットワークにおける、ある1つのニューロンにおいて、入力を受けて、次のニューロンへ出力するために行う「非線形変換の処理(関数)」もしくは「恒等関数」を指す。

[一色政彦,デジタルアドバンテージ]
「AI・機械学習の用語辞典」のインデックス

連載目次

用語解説

 AI/機械学習のニューラルネットワークにおける活性化関数Activation function)とは、あるニューロンから次のニューロンへと出力する際に、あらゆる入力値を別の数値に変換して出力する関数である。

 機械学習における人工ニューラルネットワークANNArtificial Neural Network)は、人間における生体ニューラルネットワークBNNBiological Neural Network)の基本的な挙動を模倣している。そのBNNでは、生体ニューロンが活性化activation)することによって、電気信号がそのニューロンから次のニューロンへと伝播(でんぱ、「伝搬:でんぱん」ではないので注意)していくことになる。ANNで、この「活性化」を表現するのが、活性化関数である。

 複数のニューロンから、あるニューロンへの入力は、全結合Fully connected)などの線形変換Linear transformation線形写像)処理によって1つの数値にまとめられる。活性化関数は、その数値を次のニューロンに「どのように出力するか」、つまり「どう活性化するか」が定義されたものだ(よって活性化関数で重要なのは、「数式自体」よりも「どのような形状のグラフになっているか」である。形状については、例えばシグモイド関数のグラフ図を参照)。

 この活性化の変換は、非線形変換Non-Linear transformation非線形写像)である必要がある(線形変換を何度重ねても線形にしか変化せず、意味がないので)。図1は、「複数のニューロンからの入力」→「線形変換」→「非線形変換」→「次のニューロンへの出力」の流れを示した図である。ただし、出力層の活性化関数は次のニューロンに伝播するわけではないので、出力層の活性化関数には「恒等関数」と呼ばれる線形変換が用いられることもある。

図1 「活性化関数」のグラフ 図1 「活性化関数」のグラフ

 使われる活性化関数は時代とともに変化している。ニューラルネットワークの基礎となっている情報処理モデル「パーセプトロン」(後日解説)では「ステップ関数」という活性化関数が用いられていた。しかし、「バックプロパゲーション」(後日解説)が登場してからは「シグモイド関数」や「tanh関数」が使われるようになった。さらに、最近のディープニューラルネットワークでは「ReLU」がよく使われるようになっている。

 また、出力層においてよく使われる主な活性化関数としては、

がある。出力層の活性化関数の種類に応じて、使われる「損失関数」(後日解説)にもある程度のパターンがある。その具体的なパターンは表1にまとめた(「交差エントロピー」や「平均二乗誤差」といった各損失関数については後日解説)。

分類問題(二値) 分類問題(多クラス) 回帰問題
出力層の活性化関数 シグモイド関数 ソフトマックス関数 (なし)/恒等関数
対応する損失関数 二値用の交差エントロピー(Binary cross entropy)誤差 多クラス用の交差エントロピー(Categorical cross entropy)誤差 平均二乗誤差(MSE)
表1 出力層に使われる主要な活性化関数と、それに対応する損失関数のパターン

「AI・機械学習の用語辞典」のインデックス

AI・機械学習の用語辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。