結論
シグモイド関数は1つの入力を0から1の間の値に変換し、2値分類や、複数のラベルをそれぞれ独立に判定する出力に使います。ソフトマックス関数は複数の入力をまとめて変換して合計を1にそろえ、複数のクラスから1つだけを選ぶ多クラス分類の出力に使います。
比較表
| 観点 | シグモイド関数 | ソフトマックス関数 |
|---|---|---|
| 式 | σ(x) = 1 / (1 + exp(−x)) | yi = exp(zi) / (exp(z1) + … + exp(zK)) |
| 入力と出力の数 | 1つの値を受け取り、1つの値を返す | K個の値をまとめて受け取り、K個の値を返す |
| 出力の範囲 | 0から1の間 | 各出力は0から1の間で、K個を足すと必ず1になる |
| 出力どうしの関係 | 出力ごとに独立。ある出力の入力を変えても、ほかの出力は変わらない | 互いに依存する。ある出力が上がると、ほかの出力の合計はその分だけ下がる |
| 出力層での主な使い道 | 2値分類(1ユニット)、マルチラベル分類(ラベルごとに1ユニット) | 多クラス分類(クラスの数だけユニット) |
| 組み合わせる誤差関数 | 2値の交差エントロピー | 多クラスの交差エントロピー |
| 出力層以外での使い道 | LSTMやGRUのゲート(情報を通す割合)。隠れ層では勾配消失を起こしやすく、現在はReLU関数が主流 | Attentionの重み(どの位置にどれだけ注目するか) |
| 2クラスの場合 | 1ユニットで一方のクラスの確率を出す | 2ユニットで出す一方のクラスの確率は、2つの入力の差をシグモイド関数に入れた値と同じ |
| シラバス項目 | 技術分野 項目12 活性化関数 | 技術分野 項目12 活性化関数 |
| G検定での問われ方 | 出力の範囲、微分の最大値と勾配消失問題、2値分類やマルチラベル分類の出力層での選択 | 出力の合計が1になる性質、多クラス分類の出力層での選択、交差エントロピーとの組み合わせ |
最終確認日:2026年11月1日
それぞれの説明
シグモイド関数
シグモイド関数は、1つの入力を0から1の間の値に変換するS字形の関数です。入力が0のとき0.5を出し、入力が大きいほど1に、小さいほど0に近づきます。出力を「当てはまる確率」として読めるので、2値分類の出力層で使います。出力層を1ユニットにして「不良品である確率」を出し、0.5以上なら不良品と判定する、といった使い方です。
1枚の画像に「屋外」「人物」「夜景」のような複数のタグを付ける判定では、タグごとにシグモイド関数を使います。各タグの確率は独立に決まるので、2つのタグに同時に高い確率を出せます。
ソフトマックス関数
ソフトマックス関数は、K個の入力をまとめて受け取り、それぞれを指数関数で正の値にしてから、全体の合計で割ります。出力はどれも0から1の間で、合計はちょうど1です。入力の大小の順番はそのまま保たれます。「犬」「猫」「鳥」のうち1つだけを選ぶ多クラス分類の出力層で使い、誤差関数には交差エントロピーを組み合わせるのが定番です。合計が1に固定されるため、あるクラスの確率が上がれば、ほかのクラスの確率の合計はその分だけ下がります。
2つの関係と選び方
2クラスの場合、ソフトマックス関数で求めた一方のクラスの確率は、2つの入力の差をシグモイド関数に入れた値と一致します。そのため2値分類は、1ユニットのシグモイド関数でも2ユニットのソフトマックス関数でも表せます。
違いが効いてくるのは3クラス以上のときです。クラスが互いに排他的ならソフトマックス関数、複数のクラスが同時に当てはまりうるならクラスごとのシグモイド関数を選びます。なお、シグモイド関数の微分は最大でも0.25です。隠れ層に使うと、層をさかのぼるたびに勾配が小さくなりやすいので、現在の隠れ層では主にReLU関数が使われます。
見分けるコツ
- クラスが互いに排他的かどうかで見分けます。1つだけを選ぶならソフトマックス関数、1つのデータに複数のラベルが同時に付きうるならラベルごとのシグモイド関数です。
- 「出力の合計が1になる」という説明はソフトマックス関数のものです。シグモイド関数を複数の出力に使っても、合計が1になるとは限りません。
- 2値分類は、1ユニットのシグモイド関数でも、2ユニットのソフトマックス関数でも表せます。2値分類にソフトマックス関数を使うという記述だけで、誤りと決めつけないようにします。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ソフトマックス関数で、ほかのクラスの入力は変えずに1つのクラスの入力だけを大きくすると、ほかのすべてのクラスの出力は小さくなる。
答えを見る
答え ◯ 正しい
ほかのクラスは分子が同じまま、分母の合計だけが大きくなるためです。シグモイド関数を出力ごとに使う場合は、ある出力の入力を変えても、ほかの出力は変わりません。
-
Kクラスのソフトマックス関数に、すべて同じ値を入力すると、K個の出力はすべて1/Kになる。
答えを見る
答え ◯ 正しい
指数関数の値がすべて等しくなるので、合計で割ると等分になります。3クラスなら約0.33ずつです。シグモイド関数を出力ごとに使い、すべて0を入力した場合は、各出力が0.5になります。
-
ソフトマックス関数の出力の合計が1になるのは、関数に入れる前に入力の合計を1に正規化しておいた場合に限られる。
答えを見る
答え × 誤り
指数関数で正の値にしてから、その合計で割ります。そのため、入力に負の値が含まれていても、入力の合計がいくつでも、出力の合計は必ず1になります。入力の前処理は必要ありません。
関連問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目12 活性化関数)
- John S. Bridle, Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition, Neurocomputing (NATO ASI Series F68), 227–236 (1990)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (6.2.2 Output Units(6.2.2.2 Sigmoid Units for Bernoulli Output Distributions、6.2.2.3 Softmax Units for Multinoulli Output Distributions))
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- グリッドサーチとランダムサーチの違い 試行回数の決まり方と効率
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- k-means法と階層的クラスタリングの違い クラスタ数を決める時期と計算量
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- LSTMとGRUの違い ゲートの数と記憶セルの有無
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点