Softmax
Softmax Function
Softmax(ソフトマックス関数)とは
ひとことで
複数の出力値を、それぞれ0から1の範囲で、かつ合計が1になる値に変換する関数。多クラス分類の出力層で、各クラスに属する確率として扱うために使われる。
たとえると
クラス全員の得票数を「得票率」に直す作業のようなものです。票の多い人ほど大きな割合になり、全員の割合を足すと必ず100%になります。
現場ではこう使う
手書き数字を0〜9の10種類に分類するモデルを作った担当者は、出力層にソフトマックス関数を使いました。これにより「7である確率が0.92、1である確率が0.05」のように確率として結果を示せるようになり、確信度が低いものだけを人が確認する運用にできました。
試験のポイント
EXAM POINT「多クラス分類の出力層」「出力の合計が1になる」と出てきたらソフトマックス関数です。出力層の活性化関数の使い分けとして、多クラス分類はソフトマックス、2値分類はシグモイド、回帰は恒等関数という組み合わせが問われます。損失関数には交差エントロピー誤差を組み合わせるのが一般的です。
混同しやすい用語との違い
- ReLU主に隠れ層で使う活性化関数。出力を確率に変換する働きはない
- Temperature生成AIで、ソフトマックスに入れる前の値を割って確率分布のばらつきを調整する設定値