2017-08-30 4 views
1

私は深い学習に慣れていないので、これは初心者の質問かもしれません。 私の理解では、マルチレイヤパーセプトロンのソフトマックス機能は、各クラスの正規化と確率の分配を担当しています。 もしそうなら、私たちは単純な正規化を使わないのはなぜですか?softmaxの機能が必要なのはなぜですか?なぜ単純な正規化ではないのですか?

ベクトルが得られるとします。x = (10 3 2 1) softmaxを適用すると、出力はy = (0.9986 0.0009 0.0003 0.0001)になります。

で各要素を除算すると、 の出力はy = (0.625 0.1875 0.125 0.166)になります。

シンプルな正規化のように見える可能性もあります。 出力層でsoftmax関数を使用する利点は何ですか?

答えて

1

正規化によって必ずしも確率が生成されるわけではありません。たとえば、負の値を考慮する場合は機能しません。または、値の合計がゼロの場合はどうなりますか?

しかし、logitsの指数関数を使用すると、理論上はゼロにならず、ログの全範囲を確率にマップできます。それは実際に働くので好ましいです。

1

これはトレーニングの損失機能に依存します。多くのモデルは、ログ損失アルゴリズムで訓練されているため、そのベクトルに表示される値はログの確率を推定します。したがって、SoftMaxは、単に線形値に変換して正規化するだけです。

経験的な理由は簡単です。より良い結果が得られる場所でSoftMaxが使用されています。

関連する問題