活性化関数
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/27 05:28 UTC 版)
活性化関数(かっせいかかんすう、英: activation function)もしくは伝達関数(でんたつかんすう、英: transfer function)とは、ニューラルネットワークのニューロンにおける、入力のなんらかの合計(しばしば、線形な重み付け総和)から、出力を決定するための関数で、非線形な関数とすることが多い。
概要
よく使われているモデルでは、人工ニューロンは1つ以上の入力を受け取り(1つ以上の樹状突起に相当)、それらの重み付け総和から、活性化関数を通して、出力を生成する。
数式では、以下の 1990年代になり、活性化関数は原点を通すべきと言う考えから、標準シグモイド関数よりもそれを線形変換した tanh の方が良いと提案された[2][3]。 下記関数をソフトプラス(英: softplus)と呼び、これが活性化関数として使われることもある。 2011年、Xavier Glorot らは隠れ層の活性化関数としてmax(0, x) を使った方がtanhやソフトプラスよりも改善するということを発表した[4]。一般的にはこれはランプ関数と呼ばれるが、ニューラルネットワークの世界ではReLU (英: Rectified Linear Unit, Rectifier、正規化線形関数)と呼ばれる。ヤン・ルカンやジェフリー・ヒントンらが雑誌ネイチャーに書いた論文では、2015年5月現在これが最善であるとしている[1]。発想としては区分線形関数を使った1次スプライン補間である。線形補間を参照。 2013年にmax(0.01x, x) がLReL (leaky rectified linear) と命名された。ただし、命名者はこの活性化関数を使う意味はなかったと報告している[5]。 2018年にx*sigmoid(x) がSwish (あるいはSiLU, sigmoid weighted linear) と命名された。この関数はReLUよりも高い分類精度を得ることができると示されている[6]。 ReLU(ランプ関数)
切断冪関数
ランプ関数(ReLU)を一般化すると切断冪関数になり、n次スプライン補間。2乗はクォーターパイプ関数(英: quarter-pipe)とも呼ばれる[7]。
多項式
2次以上の多項式も非線形関数であり、活性化関数に使える。
絶対値
絶対値はReLU(ランプ関数)と同様、線形に近い非線形関数。傾きが0の場所が無いという特徴がある。
Snake
2020年に Liu Ziyin らが提案したSnake関数は正弦関数を使用した単調増加の関数であり、ReLU等に比べ周期的な入力に対しより頑健になることが期待される[8]。
三角関数
2020年に Vincent Sitzmann らが活性化関数に正弦関数を使う物をSIREN(Sinusoidal representation networks)と命名した。画像や音声等の情報をニューラルネットワークへ符号化するタスクにおいて、他の活性化関数よりも高い精度を得られたことが確認されている。[9]
動径基底関数
1988年に David S. Broomhead らが活性化関数に動径基底関数を使う物を動径基底関数ネットワーク(RBFネットワーク, radial basis function network)と命名した。[10]
ウェーブレット
1992年に Qinghua Zhang らが活性化関数にウェーブレットを使う物をウェーブレットネットワークと命名した[11]。
maxout
2013年に Ian J. Goodfellow らが発表した活性化関数[12]。通常の活性化関数は実数から実数への写像であるが、活性化関数 maxout は(線形変換した後の)複数の実数の値に対する最大値を出力とする。発表者は dropout(層内を全結合にしない手法)との併用で論文を書いている。
出力層の活性化関数と誤差関数
出力層は隠れ層とは区別して設計する。活性化関数と誤差関数をセットで設計する必要がある。そして、問題の種類ごとにそれらは異なる。絶対的なルールはないが、下記の方法が一般的な方法である。ここであげた手法は誤差関数の偏微分が全て出力と目標値の差になっていて扱いやすい。
変数の使い方は以下の通り。
- :訓練データの個数
- :n番目の訓練データの目標値
- :n番目の訓練データの出力
回帰
- 活性化関数:
- 誤差関数:
- 誤差関数の偏微分:
二値分類
出力は1つで確率と解釈する。 は 0 または 1 もしくは確率。誤差関数は最尤推定で導出できる。
- 活性化関数:
- 誤差関数:
- 誤差関数の偏微分:
多クラス分類
K 個のクラスに分類する。出力は K 個で、総和は 1 であり、そのクラスに所属する確率と解釈する。 は 0 または 1 もしくは確率で、n 番目の訓練データがクラス k に所属する時 1。 。交差エントロピーを使用している。この活性化関数はソフトマックス関数と呼ばれる。このまま計算すると浮動小数点数に入りきらなく、オーバーフローすることが多いが、 は全て同じ数を引いた場合は結果が同じになる事を利用して、 を全てから減算して活性化関数を計算すると良い。
- 活性化関数:
- 誤差関数:
- 誤差関数の偏微分:
論理演算
論理演算の実装を、活性化関数が、マカロックとピッツのモデル(ステップ関数)の場合とランプ関数(ReLU)の場合とで示す。よく知られているように、中間層のニューロセルの無い単純パーセプトロンでは、線形分離不可能なものは扱えない。例えばこの例では、2入力のXORを実装できないため、実際に以下に示すようにXORでは中間層が必要になっている。真 = 1で偽 = 0、ReLU は真 = 1で偽 = -1である。ReLUは出力の正負で真偽を判断する。
論理演算 | ステップ関数 | ランプ関数(ReLU) |
---|---|---|
NOT | ||
AND | ||
OR | ||
XOR |
関数近似
ランプ関数(ReLU)にて を近似してみる。
- 訓練データ
- (x, y) = {(-3, 9), (-2, 4), (-1, 1), (0, 0), (1, 1), (2, 4), (3, 9)}
- 学習結果
これは折れ線によって近似している(線形補間)。これを一般化すると十分な数のニューロンがあれば任意の関数がランプ関数(ReLU)を活性化関数として使って表現できることが分かる。
出典
- ^ a b Yann LeCun; Yoshua Bengio; Geoffrey Hinton (2015-05-28). “Deep learning”. Nature 521 (7553): 436-444. doi:10.1038/nature14539.
- ^ Yann LeCun; Leon Bottou; Genevieve B. Orr; Klaus-Robert Muller (1998). Efficient BackProp .
- ^ a b Xavier Glorot; Yoshua Bengio (2010). Understanding the difficulty of training deep feedforward neural networks .
- ^ Xavier Glorot; Antoine Bordes; Yoshua Bengio. “Deep Sparse Rectifier Neural Networks”. Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics (AISTATS-11) 15: 315-323 .
- ^ Andrew L. Maas; Awni Y. Hannun; Andrew Y. Ng (2013). Rectifier Nonlinearities Improve Neural Network Acoustic Models .
- ^ Ramachandran, Prajit; Zoph, Barret; Le, Quoc V. (2017-10-27). “Searching for Activation Functions”. arXiv:1710.05941 [cs] .
- ^ Youngmin Cho; Lawrence K. Saul (2009). “Kernel Methods for Deep Learning”. Advances in Neural Information Processing Systems 22: 342-350 .
- ^ Ziyin, Liu; Hartwig, Tilman; Ueda, Masahito (2020-10-24). “Neural Networks Fail to Learn Periodic Functions and How to Fix It”. arXiv:2006.08195 [cs, stat] .
- ^ Sitzmann, Vincent; Martel, Julien N. P.; Bergman, Alexander W.; Lindell, David B.; Wetzstein, Gordon (2020-06-17). “Implicit Neural Representations with Periodic Activation Functions”. arXiv:2006.09661 [cs, eess] .
- ^ Broomhead, David S.; Lowe, David (1988). Radial basis functions, multi-variable functional interpolation and adaptive networks .
- ^ Qinghua Zhang; Albert Benveniste (1992). “Wavelet networks”. IEEE Trans. Neural Networks 3: 889-898 .
- ^ Ian J. Goodfellow; David Warde-Farley; Mehdi Mirza; Aaron Courville; Yoshua Bengio (2013). “Maxout Networks”. 30th International Conference on Machine Learning .
Weblioに収録されているすべての辞書から活性化関数を検索する場合は、下記のリンクをクリックしてください。
全ての辞書から活性化関数 を検索
- 活性化関数のページへのリンク