3つの値のSoftmaxとlog-sum-expを安定計算

3つの値のSoftmaxとlog-sum-expを安定計算

3つの実数を最大値シフトで安定にSoftmax変換し、各成分、合計、log-sum-expを計算します。

入力

3成分ベクトルの1番目です。

3成分ベクトルの2番目です。

3成分ベクトルの3番目です。

使い方

  1. 3つの実数x1、x2、x3を入力します。
  2. 計算ボタンを押し、各成分のSoftmax値、合計、log-sum-expを確認します。
  3. 最大入力を引いてから指数を取る安定化が結果を変えないことを確認します。
  4. 3成分固定の学習・検算用ページであり、任意長ベクトルではないことを確認します。

計算式・考え方

m=max(x1,x2,x3)、S=exp(x1−m)+exp(x2−m)+exp(x3−m)とし、Softmax_i=exp(xi−m)/S。合計は1、log-sum-expはm+ln(S)です。全成分から同じmを引いても比は変わりません。

注意事項

  • Softmaxは実数ベクトルを非負で合計1の値へ変換します。x=[1,2,3]なら約[0.09003,0.24473,0.66524]です。最大成分が最大確率になりますが、入力差の尺度によって集中度が変わります。
  • exp(xi)を直接計算すると、1000のような入力でオーバーフローします。最大値mを全成分から引けば最大指数はexp(0)=1、他は0から1の範囲になり、比としてのSoftmaxは数学的に同じです。
  • すべての入力が等しい場合は各成分1/3です。全成分へ同じ定数を足しても出力は変わりません。この平行移動不変性は、最大値を引く安定化の根拠でもあります。
  • 出力が合計1でも、学習済みモデルの値が現実の正しい確率へ校正されているとは限りません。温度、損失、データ分布、クラス不均衡、分布外入力が信頼度へ影響します。
  • このページは3成分固定です。画像分類など任意数のクラスでは同じ式を全成分へ適用し、正規化する軸も明示します。バッチ軸や時系列軸を誤ると別の結果になります。
  • log-sum-expは指数和の対数を安定に計算した値で、対数尤度や正規化定数に使われます。Softmax値そのものとは単位も範囲も違うため、結果欄を分けています。
  • 定義はPyTorch公式チュートリアル Softmax and Probabilitiesの定義(2026年7月12日確認)と照合しました。参照先は数式の根拠であり、日本語説明、入力範囲、安定化、例、FAQ、テストはalfa-tools向けに独自作成しています。
  • 計算式は許可制ASTの四則演算、比較、絶対値、最大値、対数、指数、または明示的に許可した有界関数だけで表します。文字列をコードとして実行せず、eval、new Function、外部API、CDN、fetch、XHR、WebSocketを使いません。
  • 大きい正負の入力では、数学的に同じ式でもそのまま指数を取るとオーバーフローや0除算が起こります。このページは最大値の差し引き、絶対値、符号分岐などで中間値を有限範囲へ保ち、PythonとJavaScriptの結果を照合します。
  • 表示は読みやすい有効桁へ丸めますが、内部計算は丸め前の倍精度値です。任意精度、複素数、誤差保証、極端な裾の研究計算が必要な場合は、用途に合う数値ライブラリと多倍長計算で再検証してください。
  • ページ先頭に入力と結果を置き、その下で式、安定化、代表例、境界、用途、誤解を説明します。正常・境界・異常ケースを定義内へ保存し、デスクトップ幅と375px幅の実プレビューにも全ケースを入力します。
  • 結果は数学関数の評価値で、機械学習モデルの精度、物理現象、収益、安全、将来結果を保証しません。実務利用では入力の意味、スケーリング、単位、前処理、モデル全体の仮定を別に確認してください。
  • 入力値は利用者の端末内だけで処理され、外部へ送信・保存されません。フォームには氏名、データセット、モデル重み、機密情報を入力する欄がなく、WordPress用の本文・追加CSS・追加JavaScriptも静的に生成します。
  • 別の計算環境と比較するときは、関数名だけでなく添字、ベクトル軸、パラメータ、入力範囲、丸め、オーバーフロー時の処理をそろえてください。数式上は同じでも、近似式や安全化の分岐位置により末尾が異なる場合があります。代表値と境界値の両方で検算すると違いを見つけやすくなります。
  • 計算結果をレポートへ使う場合は、入力値だけでなく採用した定義と制約も併記してください。グラフを描く場合は、このスカラー評価を複数点へ適用する必要がありますが、本ページは一点または固定3成分の数値確認に限定し、連続曲線や任意長配列を暗黙に生成しません。
  • 数学関数の倍精度評価です。モデル性能や現実の結果を保証しません。

よくある質問

最大値を引くと結果が変わりませんか?

変わりません。分子・分母に共通のexp(−m)が掛かって相殺されます。

3つの結果は必ず合計1ですか?

理論上は1です。浮動小数点では末尾にごく小さな丸め誤差が出る場合があります。

Softmax出力はモデルの正答確率ですか?

必ずしもそうではありません。合計1への正規化であり、確率校正やモデル妥当性は別に評価します。

入力した数値はこの端末内だけで計算され、外部へ送信・保存されません。モデルデータや個人情報を入力する欄はありません。