2012-07-26 10 views
20

私はニューラルネットワークのプログラミングを始めました。私は現在、バックプロパゲーション(BP)ニューラルネットがどのように機能するかを理解するために取り組んでいます。 BPネットのトレーニングアルゴリズムは非常に簡単ですが、なぜアルゴリズムが動作するのかについてのテキストは見つかりませんでした。具体的には、ニューラルネットでシグモイド関数を使用することを正当化するための数学的な推論と、それらにスローされるほぼすべてのデータ分布を模倣するものを探しています。シグモイド関数はなぜニューラルネットで動作するのですか?

ありがとうございます!

答えて

23

シグモイド関数は、ネットワークで非線形性を導入します。非線形活性化機能がなければ、ネットはその入力の線形結合である関数しか学習できません。結果はまたはCybenko theoremと呼ばれ、1989年にそれを証明した紳士の後になります。Wikipediaは、開始するのに適した場所で、元の紙へのリンクを持っています(証拠は幾分関係しています)。 Sigmoidを何か他のものと違って使う理由は、それが連続的かつ微分可能であり、その導関数が(似た特性を持つtanhの派生物とは対照的に)計算が非常に高速であり、 〜1、排他的)

+1

良い答えですが、 "連続的な(したがって微分可能な)"という仮定は立っていません。例:abs(x)は0で連続ですが微分できません。 – Michael

+0

真、編集私の答え – mbatchkarov

+1

* "Kurt Hornikは1991年に、それが活性化関数の特定の選択ではなく、むしろニューラルネットワークに存在する可能性を与える多層フィードフォワードアーキテクチャそのものであることを示しました出力単位は常に線形とみなされます」* 実際、非線形活性化関数を必要とすることについては何も言わないようです。しかし、定理の正式な陳述では、「非定常、有界、単調増加する連続関数」があります。おそらく*有界*と単調な部分は非線形性を意味しますか? – Desty

関連する問題