天天看點

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

作者:mistlike

如果您喜歡這篇文章或者希望及時看到系列文章的下一篇内容,請點選右上方的“關注”。感謝您的支援和鼓勵!

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

該系列曆史文章如下,點選連結可檢視:

「算法」深度學習中必須知道的數學知識 - 1. 概述

「算法」深度學習中必須知道的數學知識 - 2. 神經元的數學表示

「算法」深度學習中必須知道的數學知識 - 3. 激活函數 神經元的工作

「算法」深度學習中必須知道的數學知識 - 4. 什麼是神經網絡

神經網絡作為我們要介紹的主題,它究竟是什麼樣的呢?下面讓我們來看一下其概要。

神經網絡

上一節我們概述了神經網絡的,但沒有具體介紹其中最難的隐藏層。這是因為隐藏層肩負着特征提取( feature extraction)的重要職責,需要很長的篇幅來介紹。本節我們就來好好看一下隐藏層。

重要的隐藏層

如上一節考察過的那樣,神經網絡是将神經單元部署成網絡狀而形成的。然而,将神經單元胡亂地連接配接起來并不能得到有用的神經網絡,是以需要設計者的預估,這種預估對于隐藏層是特别重要的。因為支撐整個神經網絡工作的就是這個隐藏層。下面讓我們利用上一節考察過的例題,來逐漸展開有關隐藏層的具體話題。

例題 建立一個神經網絡,用來識别通過 4× 3 像素的圖像讀取的手寫數字 0 和 1。學習資料是 64 張圖像,其中像素是單色二值。

前面已經提到過,模式識别的難點在于答案不标準,這個例題也展現了這樣的特性。即使是區區一個 4× 3 像素的二值圖像,所讀入的手寫數字 0 和 1 的像素模式也是多種多樣的。例如,下列圖像可以認為是讀入了手寫數字 0。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

對于這樣的數字 0,即使人能設法識别出來,讓計算機來判斷也十分困難。

思路:由神經單元之間的關系強度給出答案

對于這種沒有标準答案、識别困難的問題,怎麼解決才好呢?思路就是“由網絡進行判斷”。乍一聽會覺得這個方法不可思議,不過其中的邏輯卻一點都不難,我們可以用惡魔組織的資訊網絡來做比喻。雖然這個比喻并不算準确,但是可以突出其本質。

假設有一個如下圖所示的惡魔組織,隐藏層住着 3 個隐藏惡魔 A、B、 C,輸出層住着 2 個輸出惡魔 0 和 1。輸入層有 12 個手下1~12為隐藏惡魔 A、 B、 C 服務。

注:這裡将生物學中的特征提取細胞的工作抽象化為 3 個惡魔 A、B、C。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

最下層(輸入層)的 12 個手下分别住在 4× 3 像素圖像的各個像素上,其工作是如果像素信号為 OFF(值為 0)就處于休眠狀态;如果像素信号為 ON(值為 1)則變得興奮,并将興奮度資訊傳遞給他們的主人隐藏惡魔 A、 B、 C。

注:即便不是黑白二值像素的情況,處理方式也是相同的。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

住在隐藏層的 3 個隐藏惡魔,從下層(輸入層)的 12 個手下那裡獲得興奮度資訊。接着,将獲得的資訊進行整合,根據其值的大小,自己也變興奮,并将這個興奮度傳遞給住在上層的輸出惡魔。

不過,隐藏惡魔 A、 B、 C 有不同的喜好。他們分别喜歡下圖所示的模式 A、模式 B、模式 C 的圖案。這個性質影響了神經網絡的特性。(看清他們的不同“偏好”,就是我們最初所提及的設計者的預估。)

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

住在最上層的 2 個輸出惡魔也是從住在下層的 3 個隐藏惡魔那裡得到興奮度資訊。與隐藏惡魔一樣,他們将得到的興奮度資訊進行整合,根據其值的大小,自己也變興奮。然後,這些輸出惡魔的興奮度就成為整個惡魔組織的意向。如果輸出惡魔 0 的興奮度比輸出惡魔 1 的興奮度大,神經網絡就判定圖像的數字為 0,反之則判定為 1。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

可見,惡魔的世界裡也存在着人際關系。

隐藏惡魔 A、 B、 C 對模式有着各自的偏好,與 12 個手下有不同的交情。隐藏惡魔 A 的偏好是之前的模式 A,是以與④、⑦性情相投。因為模式 A 的 4 号像素與 7 号像素是 ON,是以理所當然地與對應的看守人④、⑦性情相投。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

同樣地,手下⑤、⑧與隐藏惡魔 B,手下⑥、⑨與隐藏惡魔 C 性情相投,是以他們之間傳遞興奮度的管道也變粗了(下圖)。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

住在隐藏層的隐藏惡魔 A、 B、 C 與住在上層的 2 個輸出惡魔也有着人際關系。由于某種羁絆,輸出惡魔 0 與隐藏惡魔 A、 C 性情相投,而輸出惡魔 1 與隐藏惡魔 B 性情相投。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

以上就是惡魔組織的所有人際關系。除了隐藏惡魔 A、 B、 C 有不一樣的偏好以外,這是一個人類社會中到處都可能存在的簡單的組織。

那麼,這裡讓我們讀入手寫數字 0。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

于是,作為像素看守人的手下④、⑦和手下⑥、⑨看到這個圖像就變得非常興奮了(下圖)。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

這時,興奮的手下④、⑦向性情相投的隐藏惡魔 A 傳遞了較強的興奮度資訊,興奮的手下⑥、⑨也向性情相投的隐藏惡魔 C 傳遞了較強的興奮度資訊。相對地,幾乎沒有手下向隐藏惡魔 B 傳遞興奮度資訊(下圖)。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

接收了來自手下的興奮度資訊的隐藏惡魔們會怎樣呢?接收了較強的興奮度資訊的隐藏惡魔 A 和隐藏惡魔 C 自然也變興奮了。另一方面,隐藏惡魔B 變得怎樣呢?因為幾乎沒有從手下接收到興奮度資訊,是以一直保持冷靜。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

住在最上層的輸出惡魔變得怎樣了呢?輸出惡魔 0 由于與興奮的隐藏惡魔 A、 C 關系親密,進而獲得了較強的興奮度資訊,是以自己也興奮起來了。相對地,輸出惡魔 1 與隐藏惡魔 A、 C 關系疏遠,而與之關系親密的隐藏惡魔B 一直保持冷靜,是以輸出惡魔 1 沒有獲得興奮度資訊,是以也保持冷靜。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

這樣一來,讀取手寫數字 0 的圖像後,根據惡魔之間的連鎖關系,最終得到了“輸出惡魔 0 興奮,輸出惡魔 1 冷靜”的結果。根據前文中的“如果輸出惡魔 0 的興奮度比輸出惡魔 1 的興奮度大,神經網絡就判斷圖像的數字為 0”,惡魔的網絡推導出了 0 這個解答。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

惡魔的心的偏置

在這個惡魔組織中,下層的興奮度會或多或少地傳遞到上層。但是,除了具有親密關系的各層之間傳遞的興奮度資訊以外,還遺漏了少量資訊,就是“噪聲”。如果這些噪聲迷住了惡魔的心,就會導緻無法正确地傳遞興奮度資訊。是以,這就需要減少噪聲的功能。對于惡魔組織的情形,我們就将這個功能稱為“心的偏置”吧!具體來說,将偏置放在惡魔的心中,以忽略少量的噪聲。這個“心的偏置”是各個惡魔固有的值(也就是個性)。

從關系中得到資訊

像上面那樣,惡魔組織實作了手寫數字的模式識别。我們應該關注到,是惡魔之間的關系(也就是交情)和各個惡魔的個性(也就是心的偏置)協力合作推導出了答案。也就是說,網絡作為一個整體做出了判斷。

問題 在圖中示範一下在讀取數字 1 的圖像時,惡魔組織得出 1 這個解

答的全過程。

解 在這種情況下,也能夠根據上層惡魔與下層惡魔之間交情的好壞來判斷圖像中的數字是 1。下圖就是解答。沿着下圖的粗線,輸出惡魔 1興奮起來,判斷出圖像中的數字是 1。

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

下一章節:「算法」深度學習中必須知道的數學知識 - 6. 翻譯為神經網絡的語言

如果您喜歡這篇文章或者希望及時看到系列文章的下一篇内容,請點選右上方的“關注”。感謝您的支援和鼓勵!

繼續閱讀