ホームページ  >  記事  >  バックエンド開発  >  ## TensorFlow における Softmax と Softmax_cross_entropy_with_logits の違いは何ですか?

## TensorFlow における Softmax と Softmax_cross_entropy_with_logits の違いは何ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 03:10:30147ブラウズ

## What's the Difference Between Softmax and softmax_cross_entropy_with_logits in TensorFlow?

Tensorflow のロジットと Softmax と Softmax_cross_entropy_with_logits の区別

TensorFlow では、「ロジット」という用語は、線形相対スケールを表す、先行層のスケールされていない出力を指します。これらは、ソフトマックス関数を適用する前の事前確率的アクティベーションを表すために、機械学習モデルで一般的に使用されます。 > (tf.nn.softmax) は、ソフトマックス関数を入力テンソルに適用し、対数確率 (ロジット) を 0 と 1 の間の確率に変換します。出力は入力と同じ形状を維持します。

softmax_cross_entropy_with_logits (tf.nn.softmax_cross_entropy_with_logits) は、ソフトマックス ステップとクロスエントロピー損失の計算を 1 つの操作で結合します。これは、ソフトマックス層を使用してクロスエントロピー損失を最適化するための、より数学的に適切なアプローチを提供します。この関数の出力形状は入力より小さく、要素全体を合計するサマリー メトリックを作成します。

次の例を考えてみましょう:

softmax_output は各クラスの確率を表し、損失値はロジットと提供されたラベル間のクロスエントロピー損失を表します。

softmax_cross_entropy_with_logits を使用する場合

モデルの出力がソフトマックス化される最適化シナリオには、 tf.nn.softmax_cross_entropy_with_logits を使用することをお勧めします。この機能により数値の安定性が保証され、手動調整の必要がなくなります。
<code class="python">import tensorflow as tf

# Create logits
logits = tf.constant([[0.1, 0.3, 0.5, 0.9]])

# Apply softmax
softmax_output = tf.nn.softmax(logits)

# Compute cross-entropy loss and softmax
loss = tf.nn.softmax_cross_entropy_with_logits(logits, tf.one_hot([0], 4))

print(softmax_output)  # [[ 0.16838508  0.205666    0.25120102  0.37474789]]
print(loss)  # [[0.69043917]]</code>

以上が## TensorFlow における Softmax と Softmax_cross_entropy_with_logits の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。