Categories
程式開發

深度學習的數學(一):神經網絡和深度學習


編者按:本文節選自圖靈程序設計叢書 《深度學習的數學》一書中的部分章節。

深度學習 是人工智能的一種具有代表性的實現方法,下面就讓我們來考察一下它究竟是什麼樣的技術。

備受矚目的深度學習

在有關深度學習的熱門話題中,有幾個被媒體大肆報導的事件,如下表所示。

年份 事件
2012 年 在世界性的圖像識別大賽ILSVRC中,使用深度學習技術的Supervision方法取得了完胜
2012 年 利用谷歌公司開發的深度學習技術,人工智能從 YouTube 的視頻中識別出了貓
2014 年 蘋果公司將Siri 的語音識別系統變更為使用深度學習技術的系統
2016 年 利用谷歌公司開發的深度學習技術,AlphaGo 與世界頂級棋手對決,取得了勝利
2016 年 奧迪、寶馬等公司將深度學習技術運用到汽車的自動駕駛中

如上表所示,深度學習在人工智能領域取得了很大的成功。那麼,深度學習究竟是什麼技術呢?深度學習裡的“深度”是什麼意思呢?為了解答這個疑問,首先我們來考察一下神經網絡,這是因為深度學習是以神經網絡為出發點的。

神經網絡

談到神經網絡的想法,需要從生物學上的 神經元( neuron) 開始說起。

從生物學的紮實的研究成果中,我們可以得到以下關於構成大腦的神經元的知識(1 – 2 節)。

(i) 神經元形成網絡。

(ii) 對於從其他多個神經元傳遞過來的信號,如果它們的和不超過某個固定大小的值(閾值),則神經元不做出任何反應。

(iii) 對於從其他多個神經元傳遞過來的信號,如果它們的和超過某個固定大小的值(閾值),則神經元做出反應(稱為點火),向另外的神經元傳遞固定強度的信號。

(iv) 在 (ii) 和 (iii) 中,從多個神經元傳遞過來的信號之和中,每個信號對應的權重不一樣。

深度學習的數學(一):神經網絡和深度學習 1

將神經元的工作在數學上抽象化,並以其為單位人工地形成網絡,這樣的人工網絡就是神經網絡。將構成大腦的神經元的集合體抽象為數學模型,這就是神經網絡的出發點。

用神經網絡實現的人工智能

看過以往的科幻電影、動畫片就知道,人工智能是人們很早就有的想法。那麼,早期研究的人工智能和用神經網絡實現的人工智能有哪些不同呢?答案就是用神經網絡實現的人工智能能夠自己學習過去的數據。

以往的人工智能需要人們事先將各種各樣的知識教給機器,這在工業機器人等方面取得了很大成功。

深度學習的數學(一):神經網絡和深度學習 2

而對於用神經網絡實現的人工智能,人們只需要簡單地提供數據即可。神經網絡接收數據後,會從網絡的關係中自己學習並理解。

“人教導機器”類型的人工智能的問題

20 世紀的“人教導機器”類型的人工智能,現在仍然活躍在各種領域,然而也有一些領域是它不能勝任的,其中之一就是模式識別。讓我們來看一個簡單的例子。

例題 有一個用 8×8 像素讀取的手寫數字的圖像,考慮如何讓計算機判斷圖像中的數字是否為 0。

讀取的手寫數字的圖像如下圖所示。

深度學習的數學(一):神經網絡和深度學習 3

這些圖像雖然大小和形狀各異,但都可以認為正解是數字 0。可是,如何將這些圖像中的數字是 0 這個事實教給計算機呢?

要用計算機進行處理,就需要用數學式來表示。然而,像 例題 這樣的情況,如果使用 20 世紀的常規手段,將“0 具有這樣的形狀”教給計算機,處理起來會十分困難。況且,如下所示,對於寫得很難看的字、讀取時受到噪聲影響的字,雖然人能夠設法辨認出來是0,但要將這種辨認的條件用數學式表達,並教給計算機,應該是無法做到的。

深度學習的數學(一):神經網絡和深度學習 4

從這個簡單的 例題 中可以看出,“人教導機器”類型的人工智能無法勝任圖像、語音的模式識別,因為要把所有東西都教給計算機是不現實的。

不過,在 20 世紀後期,對於這樣的問題,人們找到了簡單的解決方法,那就是神經網絡以及由其發展而來的深度學習。如前所述,具體來說就是由人提供數據,然後由神經網絡自己進行學習。

如此看來,神經網絡似乎有一些不可思議的邏輯。然而,從數學上來說,其原理十分容易。本書的目的就是闡明它的原理。

圖書簡介http://www.ituring.com.cn/book/2593

深度學習的數學(一):神經網絡和深度學習 5