1. ホーム
  2. math

[解決済み] バックプロパゲーション・ニューラルネットワークで非線形活性化関数を使用しなければならない理由は何ですか?[クローズド]

2022-04-22 07:19:37

質問

ニューラルネットワークについていろいろ読んでいて、単層のニューラルネットワークの一般的な原理は理解できました。追加層の必要性は理解できますが、なぜ非線形活性化関数が使われるのでしょうか?

この質問の後に、この質問が続きます。 バックプロパゲーションで使われる活性化関数の微分とは何ですか?

どのように解くのですか?

活性化関数の目的は、以下の通りです。 ネットワークに非直線性を持たせる

そして、これは説明変数と非線形に変化する応答変数(ターゲット変数、クラスラベル、またはスコア)をモデル化することを可能にします。

ノンリニア は、入力の線形結合から出力が再現できないことを意味します(これは、直線にレンダリングされる出力とは異なります--これを表す言葉は アフィン ).

がない場合は、別の考え方で ノンリニア なぜなら、これらの層を合計すると、別の一次関数が得られるからです(上記の定義を参照)。

>>> in_vec = NP.random.rand(10)
>>> in_vec
  array([ 0.94,  0.61,  0.65,  0.  ,  0.77,  0.99,  0.35,  0.81,  0.46,  0.59])

>>> # common activation function, hyperbolic tangent
>>> out_vec = NP.tanh(in_vec)
>>> out_vec
 array([ 0.74,  0.54,  0.57,  0.  ,  0.65,  0.76,  0.34,  0.67,  0.43,  0.53])

backpropでよく使われる活性化関数( ハイパーボリックタンジェント ) を-2から2まで評価したものです。