| |

一個「擲骰子」的比喻,讓你輕鬆搞懂 AI 如何做選擇 (Softmax 原理)

李彼德的 AI 學習地圖

今天來跟大家介紹的是softmax啟動函數,此函數是用在多元分類的問題。而sigmoid函數只能用在二元分類的問題。

多元分類問題代表分類類別超過2個以上。二元分類問題代表分類類別為2個。

為什麼softmax與sigmoid函數會有這樣的差異呢?

我們先來從擲骰子開始講起,假設有個公平的骰子,則擲出每個面的機率即為1/6,代表每個面出現機率相同,隨便擲出一顆骰子,都有可能落在任何一個面上。然後若是我們將所有面機率相加,則總和為1,代表是所有可能性。

如果今天要用類神經網路來計算每個節點的機率,則輸出總共會有六個節點,假設我們採用sigmoid函數在輸出節點做計算,則sigmoid函數只會確保每個節點是介於0~1之數值,跟其他節點並無相關聯,這時候會產生一個問題,就是將輸出結果全部相加,最後的數值並非為1。

我們在上方的骰子範例說明,將所有面機率加總一定需要為1,因為是所有可能性,而此時相加可能會大於1,這時候這些數值就不能代表會擲到某個面的機率,也因此,我們就無法用sigmoid函數去描述多元分類問題。

而softmax函數就是為了要解決這樣的問題,softmax函數的公式是在分母的部分會有加總的動作,這個加總指的是橫向針對不同節點數目的加總,舉例來說,以擲骰子的範例而言,總共會有六個面,有六個類別,則分母累加的N即為6,代表在分母會有六個exp函數相加。而且在計算過程中,分子是代表某個節點的輸出計算,但分母需要統合不同節點的結果計算加總之後才能得到。

最終將所有輸出結果加總後可得到結果為1,因此,可確保softmax在每個節點的輸出,就是代表屬於某個類別的機率(也就是擲骰子擲到某一個面的機率)。

影片說明: https://www.youtube.com/watch?v=3QJWUJphcss&t=118s

短影音介紹連結: https://www.youtube.com/shorts/NIE5DNHvGbE

想要看更多AI文章,更了解學習脈絡,請參考AI學習路線圖

[最近AI原理文章]:

半監督式學習Semi-Supervised Learning

Stable Diffusion原理: 文字生成圖片簡易說明

[類神經網路基礎系列專文]:

1.類神經網路(Deep neural network, DNN)介紹

2.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?

Similar Posts