本書旨在利用 TensorFlow 針對各種現(xiàn)實場景設(shè)計深度學習系統(tǒng),引導讀者實現(xiàn)有趣的深度學習項目。本書涵蓋 10 個實踐項目,如用目標檢測 API 標注圖像、利用長短期記憶神經(jīng)網(wǎng)絡(LSTM)預測股票價格、構(gòu)建和訓練機器翻譯模型、檢測 Quora 數(shù)據(jù)集中的重復問題等。通過閱讀本書,讀者可以了解如何搭建深度學習的 TensorFlow 環(huán)境、如何構(gòu)建卷積神經(jīng)網(wǎng)絡以有效地處理圖像、如何利用長短期記憶神經(jīng)網(wǎng)絡預測股票價格,以及如何實現(xiàn)一個能夠自己玩電子游戲的人工智能(AI)!
本書適合數(shù)據(jù)科學家、機器學習和深度學習領(lǐng)域的從業(yè)者以及人工智能技術(shù)的愛好者閱讀。
1.用TensorFlow框架針對現(xiàn)實場景設(shè)計深度學習系統(tǒng),實現(xiàn)有趣的深度學習項目。
2.10個真實項目,側(cè)重于實戰(zhàn),涵蓋圖像處理、推薦系統(tǒng)、股票價格預測和訓練聊天機器人、機器翻譯系統(tǒng)和基于強化學習的電子游戲等實際應用
3.適合數(shù)據(jù)科學家、機器學習和深度學習領(lǐng)域的從業(yè)者以及人工智能技術(shù)的愛好者閱讀。
Luca Massaron 是一名數(shù)據(jù)科學家,也是一家公司的市場研究總監(jiān),長期從事多元統(tǒng)計分析、機器學習和客戶分析等工作,有 10 多年的解決實際問題的經(jīng)驗,擅長運用推理、統(tǒng)計、數(shù)據(jù)挖掘和算法為客戶創(chuàng)造價值。他對數(shù)據(jù)分析技術(shù)非常感興趣,樂于向?qū)I(yè)人員和非專業(yè)人員展示數(shù)據(jù)驅(qū)動的知識發(fā)現(xiàn)的巨大潛力。他堅信通過簡單明了的解釋和對行業(yè)的基本理解可以實現(xiàn)很多目標。
Alberto Boschetti 是一名數(shù)據(jù)科學家,在信號處理和統(tǒng)計方面有豐富的經(jīng)驗。他擁有通信工程博士學位,目前從事自然語言處理、機器學習和分布式處理等方向的工作。他經(jīng)常參加學術(shù)討論、大型會議和其他活動,關(guān)注數(shù)據(jù)科學技術(shù)的最新進展。
Alexey Grigorev 是經(jīng)驗豐富的數(shù)據(jù)科學家、機器學習工程師和軟件開發(fā)人員,擁有超過8年的專業(yè)經(jīng)驗。他原是一名 Java 開發(fā)人員,后轉(zhuǎn)而從事數(shù)據(jù)科學工作,F(xiàn)在,Alexey 是Simplaex 公司的數(shù)據(jù)科學家,主要使用 Java 和 Python 進行數(shù)據(jù)清理、數(shù)據(jù)分析和建模。他擅長的領(lǐng)域是機器學習和文本挖掘。
Abhishek Thakur 是一名數(shù)據(jù)科學家,主要關(guān)注應用機器學習和深度學習。他在 2014 年獲得了德國波恩大學的計算機科學碩士學位,之后在多個行業(yè)工作。他的研究方向是自動化機器學習。他熱衷于參加機器學習競賽,在 Kaggle 競賽中獲得過的好成績?nèi)虻谌?
第 1章 用卷積神經(jīng)網(wǎng)絡識別交通標志 1
1.1 數(shù)據(jù)集 1
1.2 卷積神經(jīng)網(wǎng)絡 2
1.3 圖像預處理 3
1.4 訓練模型并進行預測 6
1.5 后續(xù)問題 12
1.6 小結(jié) 12
第 2章 用目標檢測API標注圖像 13
2.1 微軟常見物體數(shù)據(jù)集 13
2.2 TensorFlow的目標檢測API 16
2.3 展示項目計劃 18
2.3.1 為項目搭建合適的開發(fā)環(huán)境 19
2.3.2 protobuf編譯 20
2.4 準備項目代碼 20
2.4.1 一些簡單應用 31
2.4.2 網(wǎng)絡攝像頭實時檢測 34
2.5 致謝 36
2.6 小結(jié) 36
第3章 圖像的描述生成 37
3.1 什么是描述生成 37
3.2 探索圖像描述數(shù)據(jù)集 38
3.3 把單詞轉(zhuǎn)換為詞嵌入 40
3.4 描述圖像的方法 42
3.4.1 條件隨機場 42
3.4.2 基于卷積神經(jīng)網(wǎng)絡的循環(huán)神經(jīng)網(wǎng)絡 43
3.4.3 描述排序 44
3.4.4 密集描述 45
3.4.5 循環(huán)神經(jīng)網(wǎng)絡描述 46
3.4.6 多模態(tài)描述 46
3.4.7 基于注意力機制的描述 47
3.5 實現(xiàn)描述生成模型 48
3.6 小結(jié) 52
第4章 為生成條件圖像構(gòu)建GAN 53
4.1 GAN簡介 53
4.1.1 對抗方式是關(guān)鍵 54
4.1.2 “寒武紀大爆發(fā)” 56
4.2 項目 57
4.2.1 數(shù)據(jù)集類 58
4.2.2 CGAN類 60
4.3 CGAN應用示例 74
4.3.1 MNIST 75
4.3.2 Zalando MNIST 79
4.3.3 EMNIST 81
4.3.4 重用經(jīng)過訓練的CGAN 82
4.4 使用AWS服務 84
4.5 致謝 85
4.6 小結(jié) 86
第5章 利用LSTM預測股票價格 87
5.1 輸入數(shù)據(jù)集(余弦信號和股票價格) 87
5.2 格式化數(shù)據(jù)集 90
5.3 用回歸模型預測股票價格 93
5.4 長短期記憶神經(jīng)網(wǎng)絡入門 101
5.5 利用LSTM進行股票價格預測 103
5.6 練習 108
5.7 小結(jié) 109
第6章 構(gòu)建和訓練機器翻譯模型 110
6.1 機器翻譯系統(tǒng)架構(gòu) 110
6.2 語料庫預處理 112
6.3 訓練機器翻譯模型 118
6.4 測試和翻譯 123
6.5 練習 125
6.6 小結(jié) 125
第7章 訓練能像人類一樣討論的聊天機器人 126
7.1 項目簡介 126
7.2 輸入語料庫 127
7.3 創(chuàng)建訓練集 128
7.4 訓練聊天機器人 132
7.5 聊天機器人API 134
7.6 練習 137
7.7 小結(jié) 137
第8章 檢測Quora數(shù)據(jù)集中的重復問題 138
8.1 展示數(shù)據(jù)集 138
8.2 基礎(chǔ)特征工程 141
8.3 創(chuàng)建模糊特征 142
8.4 借助TF-IDF和SVD特征 145
8.5 用Word2vec嵌入映射 148
8.6 測試機器學習模型 153
8.7 搭建TensorFlow模型 158
8.8 構(gòu)建深度神經(jīng)網(wǎng)絡之前所做的處理 158
8.9 深度神經(jīng)網(wǎng)絡的構(gòu)建模塊 160
8.10 設(shè)計學習架構(gòu) 163
8.11 小結(jié) 169
第9章 用TensorFlow構(gòu)建推薦系統(tǒng) 170
9.1 推薦系統(tǒng) 170
9.2 推薦系統(tǒng)下的矩陣分解 172
9.2.1 數(shù)據(jù)集準備和基準 172
9.2.2 矩陣分解 177
9.2.3 隱式反饋數(shù)據(jù)集 178
9.2.4 基于SGD的矩陣分解 181
9.2.5 貝葉斯個性化排序 186
9.3 面向推薦系統(tǒng)的RNN 189
9.3.1 數(shù)據(jù)集準備和基準 190
9.3.2 用TensorFlow構(gòu)建RNN模型 195
9.4 小結(jié) 206
第 10章 基于強化學習的電子游戲 207
10.1 關(guān)于游戲 207
10.2 OpenAI版游戲 208
10.3 在Linux(Ubuntu 14.04或16.04)上安裝OpenAI Gym 210
10.4 通過深度學習探索強化學習 212
10.4.1 深度Q-learning技巧 215
10.4.2 理解深度Q-learning的局限性 216
10.5 啟動項目 216
10.5.1 定義人工智能大腦 217
10.5.2 為經(jīng)驗回放創(chuàng)建記憶 221
10.5.3 創(chuàng)建智能體 222
10.5.4 指定環(huán)境 227
10.5.5 執(zhí)行強化學習過程 230
10.6 致謝 233
10.7 小結(jié) 234