sigmoid関数やRelu関数など深層学習には、活性化関数が登場します。
なぜ?活性化関数を使うのでしょうか??
この記事では、厳密な数学的な説明は割愛して(難しいとは言えない)、筆者の理解しているイメージをお伝えしたいと思います。
深層学習の基本構成
深層学習(ディープラーニング)は、複数のノード群を1レイヤーとした多層構造を基本として
レイヤー間では、活性化関数と呼ばれる非線形関数を通したり、出力結果に当たる出力層でも活性化関数が使われたりします。
活性化関数を使う気持ち
活性化関数の役割とは何でしょうか?
一つは出力層の出力結果を使いやすくする目的があります。
例えば犬と猫の分類モデルでは、出力層にシグモイド関数を使い閾値以上なら犬、未満なら猫といった具合に分類できます。
もう一つのレイヤー間で使われる活性化関数の役割は何でしょうか?
筆者は非線形変換を行うことで0近辺に固まった中間層の分布を変えることで、学習しやすくするためと考えています。
全結合だけでは線形なままなので分布は変わりませんが、非線形関数を通ることで0近辺分布が変化するイメージです。
まとめ
今回は活性化関数を使う理由を、イメージで考えてみました。
活性化関数を使うことで、深層学習は出力層の結果を使いやすくしたりします。