問題タブ [softmax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1238 参照

neural-network - トリプレット損失のソフトマックス バージョンの勾配計算


私は、 Hoffer and Ailon, Deep Metric Learning Using Triplet Network , ICLR 2015で説明されている Caffe のトリプレット損失のソフトマックス バージョンを実装しようとしています。

私はこれを試しましたが、指数の L2 が二乗されていないため、勾配を計算するのが難しいと感じています。

誰かがここで私を助けてくれますか?

0 投票する
1 に答える
1554 参照

machine-learning - tensorflow cifar-10 評価例 softmax 出力

各テスト画像の確率を表示したいので、コード(cifar10_eval.py)を次のように変更しました

そして、このようにPythonコードを実行します。

画面結果はこんな感じ

ラベルの値は良いようですが、ロジットの出力は同じ値のようです! なんで?誰でも理由を教えてもらえますか?

これは新しい cifar10_eval.py ソース コードです。

0 投票する
3 に答える
3613 参照

python - Python では、numpy を使用して列単位で配列のソフトマックスを計算します。

https://classroom.udacity.com/courses/ud730/lessons/6370362152/concepts/63815621490923に従って、入力として 2 次元配列を指定すると、次のソフトマックスを計算する「ソフトマックス」関数を作成しようとしています。各列。テストするために次のスクリプトを作成しました。

ただし、結果の "s" はゼロの配列であることがわかります。

for ループで「/S」を削除すると、「正規化されていない」結果が期待どおりになります。どういうわけか、「/ S」除算は、各要素を S で除算する代わりに、すべての要素をゼロにするように見えます。コードの何が問題になっていますか?

0 投票する
2 に答える
3814 参照

tensorflow - 完全な畳み込みネットワークのピクセルあたりのソフトマックス

最後の畳み込み層がフィルター サイズ 1x1 を使用し、「スコア」テンソルを出力する、完全な畳み込みネットワークのようなものを実装しようとしています。スコア テンソルの形状は [バッチ、高さ、幅、num_classes] です。

私の質問は、テンソルフローのどの関数が、他のピクセルとは関係なく、各ピクセルにソフトマックス操作を適用できるかということです。tf.nn.softmax ops は、そのような目的ではないようです。

そのような ops が利用できない場合は、自分で作成する必要があると思います。

ありがとう!

更新: 自分で実装する必要がある場合は、入力テンソルを [N, num_claees] (N = バッチ x 幅 x 高さ) に再形成し、tf.nn.softmax を適用してから再形成する必要があると思います。それは理にかなっていますか?

0 投票する
2 に答える
1673 参照

python - 異なるシグモイド方程式とその実装

ニューラル ネットで使用されるシグモイド関数を確認すると、https : //en.wikipedia.org/wiki/Softmax_function#Softmax_Normalization から次の式が見つかりました。

ここに画像の説明を入力

標準のシグモイド方程式とは異なります。

ここに画像の説明を入力

一番上の最初の方程式には平均値と標準偏差が含まれています(記号を間違って読んでいないことを願っています)が、2番目の方程式はマイナス平均を一般化し、標準偏差で割った定数です。これは、ベクトル内のすべての項で同じであるためです。 /マトリックス/テンソル。

したがって、方程式を実装すると、異なる結果が得られます。

2 番目の式 (標準のシグモイド関数) を使用すると、次のようになります。

これらの出力が得られます:

私は最初の関数が似ていることを期待していましたが、最初と2番目の要素の間のギャップはかなり広がっています(ただし、要素のランキングは残っています:

[アウト]:

おそらく、最初の方程式に何らかのソフトマックス正規化が含まれているという事実に関係している可能性がありますが、それが一般的なソフトマックスである場合、要素は合計して 1 になる必要があります。

[アウト]:

しかし、最初の方程式からの出力は合計が 1 にならず、標準のシグモイド方程式と類似/同じではありません。質問は次のとおりです。

  • 式 1 の関数を間違って実装しましたか?
  • ウィキペディアの式 1 は間違っていますか? それとも、実際にはシグモイド/ロジスティック関数ではなく、何か他のものを参照していますか?
  • 1 番目と 2 番目の式に違いがあるのはなぜですか?