程序員的AI書:從代碼開始

張力柯,潘暉

  • 出版商: 電子工業
  • 出版日期: 2020-02-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • ISBN: 7121382709
  • ISBN-13: 9787121382703
  • 相關分類: 人工智慧
  • 立即出貨

買這商品的人也買了...

商品描述

隨著AI技術的普及,如何快速理解、掌握並應用AI技術,成為絕大多數程序員亟需解決的問題。

本書基於Keras框架並以代碼實現為核心,詳細解答程序員學習AI算法時的常見問題,對機器學習、深度神經網絡等概念在實際項目中的應用建立清晰的邏輯體系。

本書分為上下兩篇,上篇(第1~4章)可幫助讀者理解並獨立開發較簡單的機器學習應用,下篇(第5~9章)則聚焦於AI技術的三大熱點領域:推薦系統、自然語言處理(NLP)及圖像處理。

其中,第1章通過具體實例對Keras的機器學習實現進行快速介紹並給出整體概念;

第2章從簡單的神經元開始,以實際問題和代碼實現為引導,逐步過渡到多層神經網絡的具體實現上,從代碼層面講解神經網絡的工作模式;

第3章講解Keras的核心概念和使用方法,幫助讀者快速入門Keras;

第4章講解機器學習中的常見概念、定義及算法;

第5章介紹推薦系統的常見方案,包括協同過濾的不同實現及Wide&Deep模型等;

第6章講解循環神經網絡(RNN)的原理及Seq2Seq、Attention等技術在自然語言處理中的應用;

第7~8章針對圖像處理的分類及目標識別進行深度討論,從代碼層面分析Faster RCNN及YOLO v3這兩種典型識別算法;

第9章針對AI模型的工程部署問題,引入TensorFlow Serving並進行介紹。

本書主要面向希望學習AI開發或者轉型算法的程序員,也可以作為Keras教材,幫助讀者學習Keras在不同領域的具體應用。

作者簡介

張力柯
騰訊某AI實驗室負責人、AI系統設計專家。在操作系統內核、網絡安全、搜索引擎、推薦系統、大規模分佈式系統、圖像處理、數據分析等領域具有豐富的實踐經驗。
於美國德克薩斯大學聖安東尼奧分校獲得計算機科學博士學位,曾先後在美國微軟、BCG、Uber及矽谷其他創業公司擔任研發工程師及項目負責人等。


潘暉
阿里巴巴某算法中心小組負責人。在推薦系統、自然語言處理、圖像處理、數據分析等領域具有豐富的實踐經驗。
於美國佛羅里達理工大學獲得計算機科學博士學位,曾先後在中國微軟、美團、騰訊從事算法研發和管理工作。發表過多篇論文,擁有多項專利,曾獲得2018年騰訊互動娛樂事業群技術突破獎等獎項。

目錄大綱

 

上篇


第1章 機器學習的Hello World.. 2
1.1 機器學習簡介... 2
1.2 機器學習應用的核心開發流程... 3
1.3 從代碼開始... 6
1.3 .1 搭建環境... 6
1.3.2 一段簡單的代碼... 7
1.4 本章小結... 9
1.5 本章參考文獻... 9
 

第2章 手工實現神經網絡... 10
2.1 感知器... 10
2.1.1 從神經元到感知器... 10
2.1.2 實現簡單的感知器... 12
2.2 線性回歸、梯度下降及實現... 15
2.2.1 分類的原理... 15
2.2.2 損失函數與梯度下降... 16
2.2.3 神經元的線性回歸實現... 18
2.3  隨機梯度下降及實現... 21
2.4 單層神經網絡的Python實現... 23
2.4.1 從神經元到神經網絡... 23
2.4.2 單層神經網絡:初始化... 25
2.4.3 單層神經網絡:核心概念... 27
2.4.4 單層神經網絡:前向傳播... 28
2.4.5 單層神經網絡:反向傳播... 29
2.4.6 網絡訓練及調整... 34
2.5 本章小結... 38
2.6 本章參考文獻... 38
 

第3章 上手Keras. 39
3.1  Keras簡介... 39
3.2  Keras開發入門... 40
3.2.1 構建模型... 40
3.2.2 訓練與測試... 42
3.3  Keras的概念說明... 44
3.3.1  Model 44
3.3.2  Layer 48
3.3.3  Loss. 65
3.4 再次代碼實戰... 70
3.4.1  ; XOR運算... 70
3.4.2 房屋價格預測...73
3.5 本章小結... 75
3.6 本章參考文獻... 76
 

第4章 預測與分類:簡單的機器學習應用... 77
4.1 機器學習框架之sklearn簡介... 77
4.1.1 安裝sklearn. 78
4.1.2  sklearn中的常用模塊... 78
4.1.3  對算法和模型的選擇... 79
4.1.4  對數據集的劃分... 80
4.2 初識分類算法... 80
4.2.1 分類算法的性能度量指標... 81
4.2.2 樸素貝葉斯分類及案例實現... 86
4.3 決策樹... 90
4.3.1 算法介紹. .. 90
4.3.2 決策樹的原理... 91
4.3.3 實例演練... 96
4.3.4 決策樹優化... 99
4.4 線性回歸... 101
4.4.1 算法介紹... 101
4.4.2 實例演練... 101
4.5 邏輯回歸... 102
4.5.1 算法介紹... 102
4.5.2 多分類問題與實例演練... 107
4.6 神經網絡... 108
4.6.1 神經網絡的歷史... 108
4.6.2 實例演練... 114
4.6.3 深度學習中的一些算法細節... 117
4.7 本章小結... 120
4.8 本章參考文獻... 120
 

下篇


第5章 推薦系統基礎... 122
5.1 推薦系統簡介... 122
5.2 相似度計算... 124
5.3 協同過濾... 125
5.3.1 基於用戶的協同過濾... 126
5.3.2 基於物品的協同過濾... 128
5.3.3 算法實現與案例演練... 129
5.4   LR模型在推薦場景下的應用... 131
5.5 多模型融合推薦模型:Wide&Deep模型... 135
5.5.1 探索-利用困境的問題... 135
5.5.2  Wide&Deep模型. .. 137
5.5.3 交叉特徵... 137
5.6 本章小結... 145
5.7 本章參考文獻... 145
 

第6章 項目實戰:聊天機器人... 146
6.1 聊天機器人的發展歷史... 146
6.2 循環神經網絡... 148
6.2.1  Slot Filling. 148
6.2.2  NLP中的單詞處理... 150
6.2.3 循環神經網絡簡介... 153
6.2.4  LSTM網絡簡介... 154
6.3  Seq2Seq原理介紹及實現... 157
6.3.1  Seq2Seq原理介紹... 157
6.3.2 用Keras實現Seq2Seq算法... 158
6.4  Attention. 173
6.4.1  Seq2Seq的問題... 174
6.4.2  Attention的工作原理... 175
6.4.3  ; Attention在Keras中的實現... 178
6.4.4  Attention示例... 180
6.5 本章小結... 185
6.6 本章參考文獻... 185
 

第7章 圖像分類實戰...187
7.1 圖像分類與卷積神經網絡... 187
7.1.1 卷積神經網絡的歷史... 187
7.1.2 圖像分類的3個問題... 188
7.2 卷積神經網絡的工作原理... 190
7.2.1 卷積運算... 191
7.2.2 傳統圖像處理中的捲積運算... 193
7.2.3  Pooling. 195
7.2.4 為什麼卷積神經網絡能達到較好的效果... 197
7.3 案例實戰:交通圖標分類... 200
7.3.1 交通圖標數據集... 200
7.3.2 卷積神經網絡的Keras實現... 202
7.4  優化策略... 209
7.4.1 數據增強... 210
7.4.2  ResNet 214
7.5 本章小結... 216
7.6 本章參考文獻... 217
 

第8章 目標識別... 218
8.1  CNN的演化... 218
8.1.1  CNN和滑動窗口...218
8.1.2  RCNN.. 220
8.1.3 從Fast RCNN到Faster RCNN.. 223
8.1.4  Faster RCNN核心代碼解析... 228
8.2  YOLO.. 242
8.2.1  YOLO v1. 242
8.2.2  YOLO v2. 248
8.2 .3  YOLO v3. 251
8.3  YOLO v3的具體實現... 253
8.3.1 數據預處理... 253
8.3.2 模型訓練... 260
8.4 本章小結... 293
8.5  本章參考文獻... 294
 

第9章 模型部署與服務... 296
9.1 生產環境中的模型服務... 296
9.2  TensorFlow Serving的應用... 299
9.2. 1  轉換Keras模型... 299
9.2.2  TensorFlow Serving部署... 302
9.2.3 接口驗證... 303
9.3 本章小結... 307
9.4 本章參考文獻...308