AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  AI(人工知能)用語集  >  活性化関数

活性化関数とは

活性化関数とはニューラルネットワークにおいてノード(人工ニューロン)の線形変換後に適用する非線形変換を行う関数です。
よく用いられる活性化関数として

・ステップ関数
・恒等関数
・シグモイド関数
・ランプ関数
・ソフトマックス関数

などがあり、他にも多項式絶対値ウェーブレットmaxoutなどがあります。

ニューラルネットワークの伝達は神経細胞のシナプス伝達をモデル化したものです。
中間層のノードは1つ以上の入力層から出力を受け取ります。
重み付けされた総和とバイアス項の和が新たな入力となり、活性化関数に渡されてその出力を次の層に伝達します。

活性化関数の変遷はニューラルネットワークの進化と並行しています。
パーセプトロンが登場した頃の1950年代は、活性化関数としてステップ関数が多く用いられました。
その後、1986年の誤差逆伝播(バックプロパゲーション)法の登場以降はシグモイド関数が最も一般的になりました。
シグモイド関数に似た形で、値域が異なる双曲線(ハイパーボリック)関数tanhもよく用いられました。

一般にディープラーニングと呼ばれる現在の多層(深層)ニューラルネットワークでは、ReLU(正規化線形関数)などのランプ関数がよく用いられています。
ReLUには多くの派生があり、

・Leaky ReLU (LReLU)
・Parametric ReLU (PReLU)
・ERU

などが知られています。


非線形変換を行う活性化関数にはどんな意義があるのでしょうか。
たとえば、中間層でよく用いられるReLUやシグモイド関数は、負の入力を0または0に近い出力に変換します。
そして、入力に比例して出力を高めます。このことはすべてのノードが学習に寄与しているわけではなく、活性化関数によって学習への寄与の高いノードが選択されることを示唆します。
また、ソフトマックス関数は非正規化項を確率分布に正規化するため、多クラス分類問題などの出力層でよく用いられます。

初期の活性化関数であるシグモイド関数や双曲線関数には欠点がありました。
入力が大きくなると出力が1に近づくため、傾きが0に近づくことで最適値が求まらなくなる、いわゆる勾配消失問題が起きたのです。
ReLUなどランプ関数を用いることで、必ず定数項が残り勾配が保たれ、学習がうまく収束するようになりました。このような活性化関数の改善による勾配消失問題の解決がディープラーニングの発展の一因となりました。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加

AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ