---
title: "Softmax 函數（Softmax Function）"
slug: softmax-function
language: zh-TW
source: https://aiterms.tw/terms/softmax-function
updated_at: 2026-04-29
tags: [神經網路, 數學基礎]
ipas_term: false
---

# Softmax 函數（Softmax Function）

> **你有沒有在你要在多個候選答案中選出最可能的一個，發現只看表面常常不夠？**
>
> 你可以把它想成把一堆分數重新整理成機率分布，而且全部加起來剛好是 1。
>
> 多元分類、詞彙選擇、注意力權重都需要這種可比較的機率形式。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆
> **Sigmoid 函數**
> Sigmoid 像處理「二選一」的問題，把結果變成是或否的機率。
> Softmax 則像處理「多選一」的問題，它會給每個選項一個機率，而且這些機率的總和保證是 1，讓你一次看到所有選項的可能性分佈。
>
> 最關鍵的區別：先看它是在比意思、比結構，還是在做任務輸出。

### 記住這句就好
> 多選一、而且總和要等於 1，就用 Softmax。

### 實際案例
> 圖片分類模型最後要在貓、狗、鳥之間選一個最可能類別。
> 語言模型生成下一個 token 時，要先把詞彙表分數轉成機率。

### 算法與應用
> 它會先對分數取指數，再做正規化，讓所有輸出都變成機率。
> temperature 會影響分布尖銳程度，溫度低更保守，溫度高更分散。

### 情境判斷
> **Q1（直覺題）：** 如果模型最後要選一個類別，Softmax 合適嗎？
>
> → 合適。這就是它最典型的用途。
>
> **Q2（判斷題）：** 如果一個樣本可以同時屬於好幾個類別，還適合嗎？
>
> → 通常不適合。看情況，多標籤任務更常用 Sigmoid。

### 常見問題
> **Q：Softmax 函數的輸入可以是負數嗎？**
> 可以。Softmax 函數可以接受任何實數作為輸入，包括負數。指數函數會將負數轉換為介於 0 和 1 之間的數值，因此 Softmax 函數仍然能夠產生有效的機率分布。
>
> **Q：Softmax 函數的輸出一定是唯一的嗎？**
> 不一定。如果輸入向量中存在相同的數值，那麼 Softmax 函數的輸出中也會存在相同的機率值。只有當輸入向量中的所有數值都不同時，Softmax 函數的輸出才是唯一的。
>
> **Q：Softmax 函數在深度學習框架中如何使用？**
> 在常見的深度學習框架（如 TensorFlow、PyTorch）中，Softmax 函數通常作為一個層（Layer）來使用，可以直接添加到模型的輸出層。框架會自動處理 Softmax 函數的計算和梯度反向傳播。

### 相關術語
> - **深度學習**：Sigmoid 和 Softmax 都是深度學習裡最基本的輸出工具。
> - **機器學習**：很多應用的底層都離不開機器學習。
> - **S 型函數**：Softmax 最容易先和它一起比較。
> - **梯度下降**：看活化函數和輸出層時，常會一起搭配理解。
> - **人工智慧**：多類別輸出和機率理解，常是 AI 基礎入門。

---

來源：https://aiterms.tw/terms/softmax-function
快查頁：https://aiterms.tw/terms/softmax-function
最後更新：2026/04/29
深度解說：https://aiterms.tw/learning/what-is-softmax-function