0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初めに
sigmoid関数
tanh関数
relu関数
softmax関数
終わりに

始めに

 これまで様々な関数が出てきました。損失関数最適化関数といったモノたち、強敵でしたがここまで来たあなたなら次の関数も分かるはず!
 なんと今回の関数でAIに使われている関数の紹介が終わります。
 そして、今回解説する関数は……活性化関数です!
 活性化関数は損失関数や最適化関数とは比べ物にならないほど数があるため、今回は代表的な関数を4つ解説していきます。

では、たくさんあるとされている活性化関数とはいったい何でしょうか?

一言でいうと、活性化関数とは各層の出力の前に使うことで、値を最適化することができる関数です。
イメージとしては、フィルターの役割に似ています。

sigmoid関数

 f(x) = \frac{1}{1+e^{-x}}

l.png

 sigmoid関数は、値を必ず1から0の間に変換することのできる関数です。
 値が必ず0~1の間になるということは、その値を確立としてみなすことができます。
 これらの特性を生かして、主に二値分類の最終層に使われたりします。

Tanh関数

 f(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}}

tanh.png

 Tanh(ハイパボリックタンジェント)関数は、値を必ず1から-1の間に変換することのできる関数です。
 また、Sigmoid関数では値の変動が0~1までの間しかないため微分係数を求めた際の最大値が0.25しかなく、なかなか学習が進まない問題がありましたが、Tanhの場合は微分係数の最大値が1となり、学習を進めやすくすることができるようになりました。

ReLu関数

f(x) = \left\{
\begin{array}{ll}
x & (x > 0) \\
0 & (X \leq 0)
\end{array}
\right.

ReLu.png

 ReLU(レクティファイドリニアユニットまたはランプ)関数は、値がマイナス域の場合は0を出力し、プラス域の場合はそのまま出力する関数です。
 この特徴を生かして、マイナスの値があると不都合となる問題(画像に関わる問題など)に使用されることが多いです。

Softmax関数

 f(x) = \frac{\exp(a_x)}{\sum_{i=1}^a exp(a_i)}

Softmax.png

 softmax関数は、入力された項目毎に出力される値が変わり、それらすべての値を足し合わせると必ず1になるようにな関数です。
 softmax関数は今回紹介する中で一番数式が複雑です。注意点として、softmax関数のみ入力された値に応じてグラフの形も変わります。
 また、すべての値は必ず0~1の間(確率)になります。

終わりに

これであなたも関数マスターです!
 
 
 
 
え?実感がわかないって?
 
ならば試しに、道行く少女に関数の説明をしてみなさい。
さすればあっという間に通報されることでしょう。

記事作成:Y&N

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?