隨着大數據和人工智能的發展,深度學習成為時下關注的技術熱點。本選題旨在以淺顯易懂的方式介紹深度學習的基本理念和技術架構,幫助從事相關工作的人們對深度學習有一個基本全面的認識。包括對神經網絡基本原理的介紹、如何構建一個最 基礎的神經網絡模型、深度學習是什麼、怎麼用?如何用深度學習來解決問題。
吳岸城,致力於深度學習在文本、圖像領域的應用。曾在中興通訊、亞信聯創擔任研發經理、技術經理等職務,現任菱歌科技首席算法科學家一職。
第0章 寫在前面:神經網絡的歷史 1
第1章 神經網絡是個什麼東西 13
1.1 買橙子和機器學習 13
1.1.1 規則列表 14
1.1.2 機器學習 15
1.2 怎麼定義神經網絡 16
1.3 先來看看大腦如何學習 16
1.3.1 信息輸入 17
1.3.2 模式加工 17
1.3.3 動作輸出 18
1.4 生物意義上的神經元 19
1.4.1 神經元是如何工作的 19
1.4.2 組成神經網絡 22
1.5 大腦如何解決現實生活中的分類問題 24
第2章 構造神經網絡 26
2.1 構造一個神經元 26
2.2 感知機 30
2.3 感知機的學習 32
2.4 用代碼實現一個感知機 34
2.4.1 Neuroph:一個基於Java的神經網絡框架 34
2.4.2 代碼實現感知機 37
2.4.3 感知機學習一個簡單邏輯運算 39
2.4.4 XOR問題 42
2.5 構造一個神經網絡 44
2.5.1 線性不可分 45
2.5.2 解決XOR問題(解決線性不可分) 49
2.5.3 XOR問題的代碼實現 51
2.6 解決一些實際問題 54
2.6.1 識別動物 54
2.6.2 我是預測大師 59
第3章 深度學習是個什麼東西 66
3.1 機器學習 67
3.2 特征 75
3.2.1 特征粒度 75
3.2.2 提取淺層特征 76
3.2.3 結構性特征 78
3.3 淺層學習和深度學習 81
3.4 深度學習和神經網絡 83
3.5 如何訓練神經網絡 84
3.5.1 BP算法:神經網絡訓練 84
3.5.2 BP算法的問題 85
3.6 總結深度學習及訓練過程 86
第4章 深度學習的常用方法 89
4.1 模擬大腦的學習和重構 90
4.1.1 灰度圖像 91
4.1.2 流行感冒 92
4.1.3 看看如何編解碼 93
4.1.4 如何訓練 95
4.1.5 有監督微調 97
4.2 快速感知:稀疏編碼(Sparse Coding) 98
4.3 棧式自編碼器 100
4.4 解決概率分布問題:限制波爾茲曼機 102
4.4.1 生成模型和概率模型 102
4.4.2 能量模型 107
4.4.3 RBM的基本概念 109
4.4.4 再看流行感冒的例子 111
4.5 DBN 112
4.6 卷積神經網絡 114
4.6.1 卷積神經網絡的結構 116
4.6.2 關於參數減少與權值共享 120
4.6.3 舉個典型的例子:圖片內容識別 124
4.7 不會忘記你:循環神經網絡 131
4.7.1 什麼是RNN 131
4.7.2 LSTM網絡 136
4.7.3 LSTM變體 141
4.7.4 結論 143
4.8 你是我的眼:利用稀疏編碼器找圖像的基本單位 143
4.9 你是我的眼(續) 150
4.10 使用深度信念網搞定花分類 160
第5章 深度學習的勝利:AlphaGo 169
5.1 AI如何玩棋類游戲 169
5.2 圍棋的復雜性 171
5.3 AlphaGo的主要原理 173
5.3.1 策略網絡 174
5.3.2 MCTS拯救了圍棋算法 176
5.3.3 強化學習:「周伯通,左右互搏」 179
5.3.4 估值網絡 181
5.3.5 將所有組合到一起:樹搜索 182
5.3.6 AlphaGo有多好 185
5.3.7 總結 187
5.4 重要的技術進步 189
5.5 一些可以改進的地方 190
5.6 未來 192
第6章 兩個重要的概念 194
6.1 遷移學習 194
6.2 概率圖模型 197
6.2.1 貝葉斯的網絡結構 201
6.2.2 概率圖分類 204
6.2.3 如何應用PGM 208
第7章 雜項 210
7.1 如何為不同類型的問題選擇模型 210
7.2 我們如何學習「深度學習」 211
7.3 如何理解機器學習和深度學習的差異 212
7.4 大規模學習(Large Scale Learning)和並行計算 214
7.5 如果喜歡應用領域,可以考慮以下幾種應用 215
7.6 類腦:人工智能的終極目標 216
參考文獻 218
術語 220