4

I've been looking at face detection lately, and a lot of the literature states their outputs have a range. How is this possible? I've created my own network and it only seems to be outputting either -1 or 1. Is this because I'm using the Tanh activation function? I want the values to output from, say, 0 to 1 in a range, rather than a binary output, so I can see how "strong" it thinks the output is actually a face. Thanks.

4

3 に答える 3

2

問題は、tanh の入力範囲にある可能性があります。シグモイドは tanh とよく似た働きをすることに注意してください。大きな数によって簡単にオーバーロードされる可能性があります。sigmoid(20) はほぼ = 1 で、sigmoid(-20) は 0 最初に入力層の入力を正規化して、隠れ層と出力層の数値を小さくします。

于 2010-04-22T16:35:08.760 に答える
0

わかりましたので、Tanh 関数が 1 に到達するのが早すぎたことが原因だと思います。出力レイヤーで Sigmoid アクティベーション関数に変更したところ、より多様な回答が得られました。:) 偉大な。ありがとう。

于 2010-04-22T16:18:40.377 に答える
0

はい...活性化関数が値を決定します。出力ニューロンに活性化関数を配置しない場合、単純に値の合計が出力されます...その場合、不均一な出力と不均一な期待値の間の実際のエラーが発生します。

もちろん、期待値を正規化すれば、活性化関数を維持できます。

于 2010-04-22T10:24:21.600 に答える