神經網路白話文 (二) – 用三條數學式講透透

內容目錄
「神經網路是三小,給我罐頭。」這是元糕,小八的爸爸。

此系列文章的目的在於以最白話、簡單的方式,來讓沒什麼基礎、有一點點基礎想要了解神經網路的人能夠有所收穫。

我盡量不用看起來高深、厲害的詞彙,因為那樣只會增加距離感。

本文源自於以下文章:

Understanding neural networks 2: The math of neural networks in 3 equations | by Aleksander Obuchowski | Becoming Human: Artificial Intelligence Magazine

感謝此作者,提供了很值觀、白話的介紹,讓我在工作、研究上得到不錯的成果。

先說了,這次圖片我都用原作者的,上班好累,不想做圖。

在上一篇文章中,已經講解過單一個神經元是怎麼運作的,但是在神經網路中,會有好多個神經元組合成一層,又由好多層組合成神經網路。

所以我們需要用最基礎、根本的數學式子來表達神經網路,這樣在之後的運算、處理上會比較「方便」。

第一式:順順地把話傳下去 – 正向傳遞 (Feed Forward)

我們的神經網路所需要做的第一件事情,就是將特徵值不斷地往下傳,那單一個神經元時是這麼做的:

輸出,就是把輸入乘上權重之後全部加起來,再送進激勵函數裡之後得到的結果。

你看看,用一條式子就把上一篇文章所講的東西都給描述完了,數學真的很鬼。

那單一個神經元的表示法我們知道了,接下來看看兩顆神經元的時候該怎麼表示:

上圖中W11表示的是X1傳到Y1這條線的權重,而W12則是X1傳到Y2的權重,應該挺好懂吧?

那由於激勵函數是最後一步,只要把東西放進去就好,所以這邊我們先不理它,先專注在怎麼把前面這堆線線給整理好,所以我們用下面這表示法把Y1、Y2給寫出來:

那看到這邊,就可以用「矩陣」的方式,來「簡化」上面這條式子,先看動畫:

上面這個動畫是用來表示矩陣乘法是如何運作的,底下是整理過後的矩陣表示法:

這邊可以看到,透過左邊的寫法,就可以得到右邊的結果,而右邊的結果就是我們的Y1及Y2,所以我們可以再簡化一點:

這樣是不是很清爽!

(真的不要害怕矩陣,我之前也超級討厭矩陣的,但慢慢品味它其實沒有那麼可怕啦……)

未完待續,我睏了,先來去睡,反正也沒人看XDDDD

發佈留言