AI

深層学習の活性化関数の気持ち

sigmoid関数やRelu関数など深層学習には、活性化関数が登場します。

なぜ?活性化関数を使うのでしょうか??

この記事では、厳密な数学的な説明は割愛して(難しいとは言えない)、筆者の理解しているイメージをお伝えしたいと思います。

深層学習の基本構成

深層学習(ディープラーニング)は、複数のノード群を1レイヤーとした多層構造を基本として

レイヤー間では、活性化関数と呼ばれる非線形関数を通したり、出力結果に当たる出力層でも活性化関数が使われたりします。

活性化関数を使う気持ち

活性化関数の役割とは何でしょうか?

一つは出力層の出力結果を使いやすくする目的があります。

例えば犬と猫の分類モデルでは、出力層にシグモイド関数を使い閾値以上なら犬、未満なら猫といった具合に分類できます。

もう一つのレイヤー間で使われる活性化関数の役割は何でしょうか?

筆者は非線形変換を行うことで0近辺に固まった中間層の分布を変えることで、学習しやすくするためと考えています。

全結合だけでは線形なままなので分布は変わりませんが、非線形関数を通ることで0近辺分布が変化するイメージです。

まとめ

今回は活性化関数を使う理由を、イメージで考えてみました。

活性化関数を使うことで、深層学習は出力層の結果を使いやすくしたりします。

  • この記事を書いた人

kazuki.m

エンジニア

開発言語:Python、Typescript

最近の関心:Vue、Typescript、Rust

-AI