AI盛世降臨,你怎能缺席?
用最新版TensorFlow 2加入改變人類歷史的轉捩點,成為新一代的科技新貴
本書特色
◎ 內容全面
◎ 實用性強
◎ 系統說明深度學習前端的演算法原理
◎ 最新版TensorFlow2.x專案實作
本書內容
TensorFlow的初世代太挑戰智慧,想要熟悉需要花很多時間摸索,在2.0後,將Keras併入之後,整個TensorFlow的生態圈蓬勃發展。
本書以探索問題式敘述風格展開,只要有高中數學基礎就可以輕鬆讀懂,從最簡單的人工智慧問題入手,一步步地啟動讀者分析和解決並發現新的問題。
全書介紹深度學習演算法所需要的基礎數學理論、TensorFlow架構的基本使用方法、回歸問題、分類問題、反向傳播演算法、梯度下降演算法、過擬合、全連接網路、卷積神經網路、循環神經網路、自編碼器、產生對抗網路、強化學習、遷移學習等主流和前端知識。
針對每個演算法或模型,採用TensorFlow架構,以多個常見的經典資料集進行實戰,如MNIST和CIFAR10、IMDB資料集、動漫圖示資料集的圖片產生實戰和OpenAI Gym等。
全書共15 章,第1~3 章主要介紹人工智慧的初步認知,並引出相關問題; 第4、5 章主要介紹TensorFlow 相關基礎,為後續演算法實現準備;
第6~9 章主要介紹神經網路的核心理論和共通性知識,讓讀者了解深度學習的本質;
第10~15 章主要介紹常見的演算法與模型,讓讀者能夠學有所用。
看完全書,對AI絕對更加清楚明白。
適合讀者群 使用TensorFlow架構的工程師、對人工智慧有興趣者、快速入門深度學習演算法和TensorFlow架構初學者。
作者簡介:
龍良曲
網名「龍龍老師」
目前在澳洲攻讀博士,曾任新加坡國立大學助理研究員。在深度學習領域有非常豐富的理論和實作經驗。
作者序
前言
這是一本針對人工智慧,特別是深度學習初學者的圖書,希望能幫助更多的讀者了解、喜歡並進入人工智慧企業中,因此作者試圖從人工智慧中的簡單問題入手,一步步地提出設想、分析以及實現方案,重溫當年科學研究工作者的探索之路,讓讀者身臨其境地感受演算法設計思維,進一步掌握分析和解決問題的方法。這種方式對讀者的基礎知識要求較少,讀者在學習本書的過程中會自然而然地了解演算法的相關背景知識,體會到知識是為了解決問題而生的,避免出現為了學習而學習的窘境。
儘管作者試圖將讀者的基礎要求降到最低,但是人工智慧不可避免地需要使用正式化的數學符號推導,其中有關少量的機率與統計、線性代數、微積分等數學知識,一般要求讀者對這些數學知識有初步印象或了解即可。比起理論基礎,需要有少量的程式設計經驗,特別是Python 語言程式設計經驗,因為本書更偏重於實用性,而非堆砌公式。
本書共15 章,第1~3 章主要介紹人工智慧的初步認知,並引出相關問題; 第4、5 章主要介紹TensorFlow 相關基礎,為後續演算法實現準備; 第6~9 章主要介紹神經網路的核心理論和共通性知識,讓讀者了解深度學習的本質; 第10~15 章主要介紹常見的演算法與模型,讓讀者能夠學有所用。
在本書的撰寫過程中,很多英文詞彙尚無法在業界找到一個共識翻譯名,因此作者備註翻譯的英文原文,供讀者參考,同時也方便日後閱讀相關英文文獻時,不至於感到陌生。
儘管每天都有深度學習相關演算法論文的發表,但是作者相信,深度學習的核心思維和基礎理論是共通的。本書已盡可能地涵蓋其中基礎、主流等前端的演算法知識,但是仍然有很多演算法無法涵蓋,讀者學習完本書後,可以自行搜尋相關方向的研究論文或資料,進一步學習。
深度學習是一個非常前端和廣袤的研究領域,鮮有人士能夠對每個研究方向都有深刻的了解。作者自認才疏學淺,略懂皮毛,同時也限於時間和篇幅關係,難免出現了解偏差之處,懇請讀者指正,不勝感激。
前言
這是一本針對人工智慧,特別是深度學習初學者的圖書,希望能幫助更多的讀者了解、喜歡並進入人工智慧企業中,因此作者試圖從人工智慧中的簡單問題入手,一步步地提出設想、分析以及實現方案,重溫當年科學研究工作者的探索之路,讓讀者身臨其境地感受演算法設計思維,進一步掌握分析和解決問題的方法。這種方式對讀者的基礎知識要求較少,讀者在學習本書的過程中會自然而然地了解演算法的相關背景知識,體會到知識是為了解決問題而生的,避免出現為了學習而學習的窘境。
儘管作者試圖將讀者的基礎要求降到最低,但是人工智慧不可...
目錄
前言
01人工智慧緒論
1.1 人工智慧簡介
1.2 神經網路發展簡史
1.3 深度學習特點
1.4 深度學習應用
1.5 深度學習架構
1.6 開發環境安裝
02 回歸問題
2.1 神經元模型
2.2 最佳化方法
2.3 線性模型實戰
2.4 線性回歸
03 分類問題
3.1 手寫數字圖片資料集
3.2 模型建構
3.3 誤差計算
3.4 真的解決了嗎
3.5 非線性模型
3.6 表達能力
3.7 最佳化方法
3.8 手寫數字圖片識別體驗
04 TensorFlow 基礎
4.1 資料型態
4.2 數值精度
4.3 待最佳化張量
4.4 建立張量
4.5 張量的典型應用
4.6 索引與切片
4.7 維度轉換
4.8 Broadcasting
4.9 數學運算
4.10 正向傳播實戰
05 TensorFlow 進階
5.1 合併與分割
5.2 資料統計
5.3 張量比較
5.4 填充與複製
5.5 資料限幅
5.6 進階操作
5.7 經典資料集載入
5.8 MNIST 測試實戰
06 神經網路
6.1 感知機
6.2 全連接層
6.3 神經網路
6.4 啟動函數
6.5 輸出層設計
6.6 誤差計算
6.7 神經網路型態
6.8 汽車油耗預測實戰
07 反向傳播演算法
7.1 導數與梯度
7.2 導數常見性質
7.3 啟動函數導數
7.4 損失函數梯度
7.5 全連接層梯度
7.6 鏈式法則
7.7 反向傳播演算法
7.8 Himmelblau 函數最佳化實戰
7.9 反向傳播演算法實戰
08 Keras 高層介面
8.1 常見功能模組
8.2 模型裝配、訓練與測試
8.3 模型儲存與載入
8.4 自訂網路簡介
8.5 模型樂園
8.6 測量工具
8.7 視覺化
09 過擬合
9.1 模型的容量
9.2 欠擬合與過擬合
9.3 資料集劃分
9.4 模型設計
9.5 正規化
9.7 資料增強
9.8 過擬合問題實戰
10 卷積神經網路
10.1 全連接網路的問題
10.2 卷積神經網路
10.3 卷積層實現
10.4 LeNet 5 實戰
10.5 表示學習
10.6 梯度傳播
10.7 池化層
10.8 BatchNorm 層
10.9 經典卷積網路
10.10 CIFAR10 與VGG13 實戰
10.11 卷積層變種
10.12 深度殘差網路
10.13 DenseNet
10.14 CIFAR10 與ResNet18實戰
11 循環神經網路
11.1 序列表示方法
11.2 循環神經網路
11.3 梯度傳播
11.4 RNN 層使用方法
11.5 RNN 情感分類問題實戰
11.6 梯度彌散和梯度爆炸
11.7 RNN 短時記憶
11.8 LSTM 原理
11.9 LSTM 層使用方法
11.10 GRU 簡介
11.11 LSTM/GRU 情感分類問題再戰
11.12 預訓練的詞向量
12 自編碼器
12.1 自編碼器原理
12.2 FashionMNIST 圖片重建實戰
12.3 自編碼器變種
12.4 變分自編碼器
12.5 VAE 圖片生成實戰
13 生成對抗網路
13.1 博弈學習實例
13.2 GAN 原理
13.3 DCGAN 實戰
13.4 GAN 變種
13.5 納許均衡
13.6 GAN 訓練難題
13.7 WGAN 原理
13.8 WGAN GP 實戰
14 強化學習
14.1 先睹為快
14.2 強化學習問題
14.3 策略梯度方法
14.4 值函數方法
14.5 Actor Critic 方法
15 自訂資料集
15.1 精靈寶可夢資料集
15.2 自訂資料集載入
15.3 寶可夢資料集實戰
15.4 遷移學習
前言
01人工智慧緒論
1.1 人工智慧簡介
1.2 神經網路發展簡史
1.3 深度學習特點
1.4 深度學習應用
1.5 深度學習架構
1.6 開發環境安裝
02 回歸問題
2.1 神經元模型
2.2 最佳化方法
2.3 線性模型實戰
2.4 線性回歸
03 分類問題
3.1 手寫數字圖片資料集
3.2 模型建構
3.3 誤差計算
3.4 真的解決了嗎
3.5 非線性模型
3.6 表達能力
3.7 最佳化方法
3.8 手寫數字圖片識別體驗
04 TensorFlow 基礎
4.1 資料型態
4.2 數值精度
4.3 待最佳化張量
4.4 建立張量
4.5 張量的典型應用
4.6 索引與切片
4.7 維度...