TensorFlow 深度學習 — 深入理解人工智能算法設計

龍良曲

  • TensorFlow 深度學習 — 深入理解人工智能算法設計-preview-1
  • TensorFlow 深度學習 — 深入理解人工智能算法設計-preview-2
  • TensorFlow 深度學習 — 深入理解人工智能算法設計-preview-3
TensorFlow 深度學習 — 深入理解人工智能算法設計-preview-1

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

商品描述

本書適合初學者快速入門深度學習算法和TensorFlow框架。我們已講故事的方式向讀者一步步地介紹每個核心算法,非常詳細地剖析算法原理,手把手實現每個算法實戰,不但讓讀者能夠瞭解算法的工作原理,更重要的是教會讀者如何一步步地思考問題並解決問題。具體地,我們會介紹目前深度學習的數學原理,反向傳播算法,捲積神經網絡,循環神經網絡,對抗生產網絡,自編碼器,神經網絡結構搜索,圖捲積網絡等等一系列前沿核心算法。使讀者不僅可以明白原理,還能學以致用。內容講解細致,沒有數學基礎的讀者也能輕松入門。

目錄大綱

 

目錄

 

 

 

第1章人工智能緒論

 

1.1人工智能簡介

 

1.1.1人工智能

 

1.1.2機器學習

 

1.1.3神經網絡與深度學習

 

1.2神經網絡發展簡史

 

1.2.1淺層神經網絡

 

1.2.2深度學習

 

1.3深度學習特點

 

1.3.1數據量

 

1.3.2計算力

 

1.3.3網絡規模

 

1.3.4通用智能

 

1.4深度學習應用

 

1.4.1電腦視覺

 

1.4.2自然語言處理

 

1.4.3強化學習

 

1.5深度學習框架

 

1.5.1主流框架

 

1.5.2TensorFlow 2與TensorFlow 1.x

 

1.5.3功能演示

 

1.6開發環境安裝

 

1.6.1Anaconda安裝

 

1.6.2CUDA安裝

 

1.6.3TensorFlow安裝

 

1.6.4常用編輯器安裝

 

參考文獻

 

第2章回歸問題

 

2.1神經元模型

 

2.2優化方法

 

2.3線性模型實戰

 

2.4線性回歸

 

參考文獻

 

第3章分類問題

 

3.1手寫數字圖片數據集

 

3.2模型構建

 

3.3誤差計算

 

3.4真的解決了嗎

 

3.5非線性模型

 

3.6表達能力

 

3.7優化方法

 

3.8手寫數字圖片識別體驗

 

3.8.1網絡搭建

 

3.8.2模型訓練

 

參考文獻

 

 

 

 

 

 

第4章TensorFlow基礎

 

4.1數據類型

 

4.1.1數值類型

 

4.1.2字符串類型

 

4.1.3布爾類型

 

4.2數值精度

 

4.2.1讀取精度

 

4.2.2類型轉換

 

4.3待優化張量

 

4.4創建張量

 

4.4.1從數組、列表對象創建

 

4.4.2創建全0或全1張量

 

4.4.3創建自定義數值張量

 

4.4.4創建已知分佈的張量

 

4.4.5創建序列

 

4.5張量的典型應用

 

4.5.1標量

 

4.5.2向量

 

4.5.3矩陣

 

4.5.4三維張量

 

4.5.5四維張量

 

4.6索引與切片

 

4.6.1索引

 

4.6.2切片

 

4.6.3小結

 

4.7維度變換

 

4.7.1改變視圖

 

4.7.2增加、刪除維度

 

4.7.3交換維度

 

4.7.4復制數據

 

4.8Broadcasting

 

4.9數學運算

 

4.9.1加、減、乘、除運算

 

4.9.2乘方運算

 

4.9.3指數和對數運算

 

4.9.4矩陣相乘運算

 

4.10前向傳播實戰

 

第5章TensorFlow進階

 

5.1合並與分割

 

5.1.1合並

 

5.1.2分割

 

5.2數據統計

 

5.2.1向量範數

 

5.2.2最值、均值、和

 

5.3張量比較

 

5.4填充與復制

 

5.4.1填充

 

5.4.2復制

 

5.5數據限幅

 

5.6高級操作

 

5.6.1tf.gather

 

5.6.2tf.gather_nd

 

5.6.3tf.boolean_mask

 

5.6.4tf.where

 

5.6.5scatter_nd

 

5.6.6meshgrid

 

5.7經典數據集加載

 

5.7.1隨機打散

 

5.7.2批訓練

 

5.7.3預處理

 

5.7.4循環訓練

 

5.8MNIST測試實戰

 

 

第6章神經網絡

 

6.1感知機

 

6.2全連接層

 

6.2.1張量方式實現

 

6.2.2層方式實現

 

6.3神經網絡

 

6.3.1張量方式實現

 

6.3.2層方式實現

 

6.3.3優化目標

 

6.4激活函數

 

6.4.1Sigmoid

 

6.4.2ReLU

 

6.4.3LeakyReLU

 

6.4.4tanh

 

6.5輸出層設計

 

6.5.1普通實數空間

 

6.5.2[0,1]區間

 

6.5.3[0,1]區間,和為1

 

6.5.4[-1,1]

 

6.6誤差計算

 

6.6.1均方差誤差函數

 

6.6.2交叉熵損失函數

 

6.7神經網絡類型

 

6.7.1捲積神經網絡

 

6.7.2循環神經網絡

 

6.7.3註意力(機制)網絡

 

6.7.4圖捲積神經網絡

 

6.8汽車油耗預測實戰

 

6.8.1數據集

 

6.8.2創建網絡

 

6.8.3訓練與測試

 

參考文獻

 

第7章反向傳播算法

 

7.1導數與梯度

 

7.2導數常見性質

 

7.2.1基本函數的導數

 

7.2.2常用導數性質

 

7.2.3導數求解實戰

 

7.3激活函數導數

 

7.3.1Sigmoid函數導數

 

7.3.2ReLU函數導數

 

7.3.3LeakyReLU函數導數

 

7.3.4tanh函數梯度

 

7.4損失函數梯度

 

7.4.1均方誤差函數梯度

 

7.4.2交叉熵函數梯度

 

7.5全連接層梯度

 

7.5.1單神經元梯度

 

7.5.2全連接層梯度

 

7.6鏈式法則

 

7.7反向傳播算法

 

7.8Himmelblau函數優化實戰

 

7.9反向傳播算法實戰

 

7.9.1數據集

 

7.9.2網絡層

 

7.9.3網絡模型

 

7.9.4網絡訓練

 

7.9.5網絡性能

 

參考文獻

 

第8章Keras高層接口

 

8.1常見功能模塊

 

8.1.1常見網絡層類

 

8.1.2網絡容器

 

8.2模型裝配、訓練與測試

 

8.2.1模型裝配

 

8.2.2模型訓練

 

8.2.3模型測試

 

8.3模型保存與加載

 

8.3.1張量方式

 

8.3.2網絡方式

 

8.3.3SavedModel方式

 

8.4自定義網絡簡介

 

8.4.1自定義網絡層

 

8.4.2自定義網絡

 

8.5模型樂園

 

8.6測量工具

 

8.6.1新建測量器

 

8.6.2寫入數據

 

8.6.3讀取統計信息

 

8.6.4清除狀態

 

8.6.5準確率統計實戰

 

8.7可視化

 

8.7.1模型端

 

8.7.2瀏覽器端

 

第9章過擬合

 

9.1模型的容量

 

9.2欠擬合與過擬合

 

9.2.1欠擬合

 

9.2.2過擬合

 

9.3數據集劃分

 

9.3.1驗證集與超參數

 

9.3.2提前停止

 

9.4模型設計

 

9.5正則化

 

9.5.1L0正則化

 

9.5.2L1正則化

 

9.5.3L2正則化

 

9.5.4正則化效果

 

9.6Dropout

 

9.7數據增強

 

9.7.1旋轉

 

9.7.2翻轉

 

9.7.3裁剪

 

9.7.4生成數據

 

9.7.5其他方式

 

9.8過擬合問題實戰

 

9.8.1構建數據集

 

9.8.2網絡層數的影響

 

9.8.3Dropout的影響

 

9.8.4正則化的影響

 

參考文獻

 

第10章捲積神經網絡

 

10.1全連接網絡的問題

 

10.1.1局部相關性

 

10.1.2權值共享

 

10.1.3捲積運算

 

10.2捲積神經網絡

 

10.2.1單通道輸入和單捲積核

 

10.2.2多通道輸入和單捲積核

 

10.2.3多通道輸入、多捲積核

 

10.2.4步長

 

10.2.5填充

 

10.3捲積層實現

 

10.3.1自定義權值

 

10.3.2捲積層類

 

10.4LeNet5實戰

 

10.5表示學習

 

10.6梯度傳播

 

10.7池化層

 

10.8BatchNorm層

 

10.8.1前向傳播

 

10.8.2反向更新

 

10.8.3BN層實現

 

10.9經典捲積網絡

 

10.9.1AlexNet

 

10.9.2VGG系列

 

10.9.3GoogLeNet

 

10.10CIFAR10與VGG13實戰

 

10.11捲積層變種

 

10.11.1空洞捲積

 

10.11.2轉置捲積

 

10.11.3分離捲積

 

10.12深度殘差網絡

 

10.12.1ResNet原理

 

10.12.2ResBlock實現

 

10.13DenseNet

 

10.14CIFAR10與ResNet18實戰

 

參考文獻

 

第11章循環神經網絡

 

11.1序列表示方法

 

11.1.1Embedding層

 

11.1.2預訓練的詞向量

 

11.2循環神經網絡

 

11.2.1全連接層可行嗎

 

11.2.2權值共享

 

11.2.3全局語義

 

11.2.4循環神經網絡原理

 

11.3梯度傳播

 

11.4RNN層使用方法

 

11.4.1SimpleRNNCell

 

11.4.2多層SimpleRNNCell網絡

 

11.4.3SimpleRNN層

 

11.5RNN情感分類問題實戰

 

11.5.1數據集

 

11.5.2網絡模型

 

11.5.3訓練與測試

 

11.6梯度彌散和梯度爆炸

 

11.6.1梯度裁剪

 

11.6.2梯度彌散

 

11.7RNN短時記憶

 

11.8LSTM原理

 

11.8.1遺忘門

 

11.8.2輸入門

 

11.8.3刷新Memory

 

11.8.4輸出門

 

11.8.5小結

 

11.9LSTM層使用方法

 

11.9.1LSTMCell

 

11.9.2LSTM層

 

11.10GRU簡介

 

11.10.1復位門

 

11.10.2更新門

 

11.10.3GRU使用方法

 

11.11LSTM/GRU情感分類問題再戰

 

11.11.1LSTM模型

 

11.11.2GRU模型

 

11.12預訓練的詞向量

 

參考文獻

 

第12章自編碼器

 

12.1自編碼器原理

 

12.2FashionMNIST圖片重建實戰

 

12.2.1Fashion MNIST數據集

 

12.2.2編碼器

 

12.2.3解碼器

 

12.2.4自編碼器

 

12.2.5網絡訓練

 

12.2.6圖片重建

 

12.3自編碼器變種

 

12.3.1Denoising AutoEncoder

 

12.3.2Dropout AutoEncoder

 

12.3.3Adversarial AutoEncoder

 

12.4變分自編碼器

 

12.4.1VAE原理

 

12.4.2Reparameterization Trick

 

12.5VAE圖片生成實戰

 

12.5.1VAE模型

 

12.5.2Reparameterization技巧

 

12.5.3網絡訓練

 

12.5.4圖片生成

 

參考文獻

 

第13章生成對抗網絡

 

13.1博弈學習實例

 

13.2GAN原理

 

13.2.1網絡結構

 

13.2.2網絡訓練

 

13.2.3統一目標函數

 

13.3DCGAN實戰

 

13.3.1動漫圖片數據集

 

13.3.2生成器

 

13.3.3判別器

 

13.3.4訓練與可視化

 

13.4GAN變種

 

13.4.1DCGAN

 

13.4.2InfoGAN

 

13.4.3CycleGAN

 

13.4.4WGAN

 

13.4.5Equal GAN

 

13.4.6SelfAttention GAN

 

13.4.7BigGAN

 

13.5納什均衡

 

13.5.1判別器狀態

 

13.5.2生成器狀態

 

13.5.3納什均衡點

 

13.6GAN訓練難題

 

13.6.1超參數敏感

 

13.6.2模式崩塌

 

13.7WGAN原理

 

13.7.1JS散度的缺陷

 

13.7.2EM距離

 

13.7.3WGANGP

 

13.8WGANGP實戰

 

參考文獻

 

第14章強化學習

 

14.1先睹為快

 

14.1.1平衡桿游戲

 

14.1.2Gym平臺

 

14.1.3策略網絡

 

14.1.4梯度更新

 

14.1.5平衡桿游戲實戰

 

14.2強化學習問題

 

14.2.1馬爾科夫決策過程

 

14.2.2目標函數

 

14.3策略梯度方法

 

14.3.1REINFORCE算法

 

14.3.2原始策略梯度的改進

 

14.3.3帶基準的REINFORCE算法

 

14.3.4重要性採樣

 

14.3.5PPO算法

 

14.3.6PPO實戰

 

14.4值函數方法

 

14.4.1值函數

 

14.4.2值函數估計

 

14.4.3策略改進

 

14.4.4SARSA算法

 

14.4.5DQN算法

 

14.4.6DQN變種

 

14.4.7DQN實戰

 

14.5ActorCritic方法

 

14.5.1Advantage AC算法

 

14.5.2A3C算法

 

14.5.3A3C實戰

 

參考文獻

 

第15章自定義數據集

 

15.1精靈寶可夢數據集

 

15.2自定義數據集加載

 

15.2.1創建編碼表

 

15.2.2創建樣本和標簽表格

 

15.2.3數據集劃分

 

15.3寶可夢數據集實戰

 

15.3.1創建Dataset對象

 

15.3.2數據預處理

 

15.3.3創建模型

 

15.3.4網絡訓練與測試

 

15.4遷移學習

 

15.4.1遷移學習原理

 

15.4.2遷移學習實戰