2017-10-21 4 views
-1

私は入力ベクトル/マトリックスであるN = W1 * Tanh(W2 * I)という形式のニューラルネットワークを持っています。私がこれらの体重を学ぶとき、出力は特定の形をしています。しかし、正規化レイヤーを追加すると、たとえばN' = Softmax(W1 * Tanh(W2 * I))が出力されますが、N 'の出力ベクトルの1要素は1に近く、残りはほぼゼロになります。 SoftMax()だけでなく、どの正規化レイヤーでもそうです。このような問題に対する標準的な解決法はありますか?softmaxを追加すると、重み更新が大幅に変更されます

+1

「特定のフォーム」とはどういう意味ですか?なぜあなたはそれを問題と呼んでいますか?これは、分類を正規化するための完全に正常な動作です。正確なアプリケーションとは何ですか(質問には注意タグはありますが、注意点はありません) – lejlot

+0

セルフアテンションエンコーダ/デコーダモデルです(上記のNは自己アテンションモデルです) @lejlot特定の形では、出力ベクトルが途中まで増加した後に交互に増加(たとえば0.1,0.3,0.5,1.5,0.5,1,3,0,1.2)するような一定の特性(望ましい)を持っていることを意味します。しかし、ソフトマックスレイヤーを追加した後、このようなものが得られます - (0.001,0.00,0,0.01,0.998,0.001,0,0、...)。 – Rumu

+0

これは単に、出力「N」が他の値よりもかなり大きな1つの値を有することを意味する。質問に「N」の値を加えてください。 – Maxim

答えて

0

これはsoftmax functionの動作です。おそらくあなたが必要とするのはシグモイド関数です。

+0

yi = yi/sum of yiの – Rumu

+0

のように単純な正規化を行っても問題は解決しません。これは必要な動作です。期待した結果は何ですか? –

関連する問題