Python深度學習算法實戰入門

《Python深度學習算法實戰入門》是2022年中國水利水電出版社出版的圖書。

基本介紹

  • 中文名:Python深度學習算法實戰入門
  • 出版時間:2022年9月1日
  • 出版社:中國水利水電出版社
  • ISBN:9787522603193
內容簡介,圖書目錄,

內容簡介

深度學習是人工智慧最熱門的領域之一,《Python 深度學習算法實戰》詳細介紹了常用的深度學習算法、使用 TensorFlow 實現各種算法的方法,以及算法背後的數學原理。全書分 3 部分共 11 章,其中第 1 部分介紹深度學習入門的相關知識、如何構建自己的神經網路,以及 Python 機器學習和深度學習庫 TensorFlow 的使用方法。第 2 部分介紹深度學習的基礎算法,首先介紹了梯度下降法和它的變體,如 NAG、AMSGrad、Adadelta、
Adam 和 Nadam;然後詳細介紹了 RNN 和 LSTM 的知識,以及如何用 RNN 生成歌詞;接著介紹了廣泛套用於
圖像識別任務的卷積神經網路和膠囊網路;最後介紹了如何使用 CBOW、skip-gram 和 PV-DM 理解單詞和文檔
的語義。第 3 部分介紹一些高級的深度學習算法,探索了各種 GAN,包括 InfoGAN 和 LSGAN,以及自動編碼
器,如 CAE、DAE 和 VAE。學完本書,讀者將掌握實現深度學習所需要的技能。
《Python 深度學習算法實戰》特別適合機器學習工程師、數據科學家、AI 開發人員等全面學習深度學習
的算法知識,也適合有一定機器學習和 Python 編程經驗,對神經網路和深度學習感興趣的所有人員。

圖書目錄

第一部分 深度學習入門
第1章 深度學習簡介
1.1 什麼是深度學習
1.2 生物和人工神經元
1.3 人工神經網路和它的層
1.3.1 輸入層
1.3.2 隱藏層
1.3.3 輸出層
1.4 探討激活函式
1.4.1 sigmoid函式
1.4.2 雙曲正切函式
1.4.3 修正線性單元函式
1.4.4 滲漏修正線性單元函式
1.4.5 指數線性單元函式
1.4.6 swish函式
1.4.7 softmax函式
1.5 人工神經網路中的前向傳播
1.6 人工神經網路是如何學習的
1.7 利用梯度檢測調試梯度下降
1.8 將以上所有的東西歸納在一起
1.9 總結
1.10 問題
第2章 了解TensorFlow
2.1 什麼是TensorFlow
2.2 理解計算圖
2.3 理解會話
2.4 變數、常量和占位符
2.4.1 變數
2.4.2 常量
2.4.3 占位符
2.5 TensorBoard 簡介
2.6 創建名稱作用域
2.7 使用TensorFlow 對手寫數字進行分類
2.7.1 導入所需的代碼庫
2.7.2 載入數據集
2.7.3 定義每層神經元的數量
2.7.4 定義占位符
2.7.5 前向傳播
2.7.6 計算損失和反向傳播
2.7.7 計算精度
2.7.8 創建摘要
2.7.9 訓練模型
2.8 在TensorBoard中可視化圖
2.9 急迫執行簡介
2.10 TensorFlow中的數學運算
2.11 TensorFlow 2.0和Keras
2.11.1 Keras
2.11.2 定義模型
2.11.3 編譯模型
2.11.4 訓練模型
2.11.5 評估模型
2.12 使用TensorFlow 2.0對手寫數字進行分類
2.13 我們應該使用Keras還是TensorFlow
2.14 總結
2.15 問題
第2部分 基本的深度學習算法
第3章梯度下降和它的變體
3.1揭開梯度下降的神秘面紗
3.1.1在回歸中執行梯度下降
3.1.2導入程式庫
3.1.3準備數據集
3.1.4定義損失函式
3.1.5計算損失函式的梯度
3.1.6更新模型參數
3.2梯度下降與隨機梯度下降
3.3基於動量的梯度下降
3.3.1動量梯度下降
3.3.2內斯特羅夫加速梯度
3.4自適應梯度下降
3.4.1使用Adagrad自設
速率
3.4.2使用Adadelta消除學習速率
3.4.3使用RMSProp克服Adagrad的局限性
3.4.4自適應矩估計
3.4.5Adamax基於無窮範數的Adam
3.4.6基於AMSGrad的自應矩估計
3.4.7Nadam將NAG添加到
Adam
3.5總結
3.6問題
第4章使用RNN生成歌詞
4.1遞歸神經網路簡介
4.1.1前饋網路與RNN的區別
4.1.2遞歸神經網路中的前向傳播
4.1.3通過時間反向傳播
4.1.4相對於隱藏層到輸出層權重V
的梯度
4.1.5相對於隱藏層到隱藏層權重W的梯度
4.1.6相對於輸入層到隱藏層權重U的梯度
4.1.7梯度消失與梯度爆炸問題
4.1.8梯度剪輯
4.2在TensorFlow中用RNN生成
4.2.1在TensorFlow現
4.2.2數據準備
4.2.3定義網路參數
4.2.4定義占位符
4.2.5定義前向傳播
4.2.6定義BPTT
4.2.7開始生成歌詞
4.3不同類型的RNN構
4.3.1一對一架構
4.3.2一對多架構
4.3.3多對一架構
4.3.4多對多架構
4.4總結
4.5問題
第5章RNN的改進
5.1用LSTM解決問題
5.1.1理解LSTM單元
5.1.2遺忘門
5.1.3輸入門
5.1.4輸出門
5.1.5更新單元狀態
5.1.6更新隱藏狀態
5.1.7LSTM中的前向傳播
5.1.8LSTM中傳
5.1.9相對於門的梯度
5.1.10相對於權重的梯度
5.2使用LSTM模型預測比特幣的價格
5.2.1數據準備
5.2.2定義參數
5.2.3定義LSTM單元
5.2.4定義前向傳播
5.2.5定義反向傳播
5.2.6訓練LSTM模型
5.2.7使用LSTM模型進行預測
5.3門控遞歸單元
5.3.1理解GRU
5.3.2更新門
5.3.3重置門
5.3.4更新隱藏狀態
5.3.5GRU中的前向傳播
5.3.6GRU中傳播
5.3.7相對於門的梯度
5.3.8相對於權重的梯度
5.3.9TensorFlowGRU-
5.4雙向RNN
5.5深入理解深度RNN
5.6使用seg2seg模型的言翻
5.6.1編碼器
5.6.2解碼器
5.6.3我們所需注意的全部
5.7總結
5.8問題
第6章揭開卷積網路的神秘面紗
6.1什麼是CNN
6.1.1卷積層
6.1.2步幅
6.1.3填充
6.1.4池化層
6.1.5完全連通層
6.2CNN的架構
6.3CNN背後的數學
6.3.1前向傳播
6.3.2反向傳播
6.4在TensorFlow現CNN
6.4.1定義輔助函式
6.4.2定義卷積網路
6.4.3計算損失
6.4.4開始訓練
6.4.5可視化提取的特徵
6.5不同類型的CNN架構
6.5.1LeNet
6.5.2AlexNet架構
6.5.3VGGNet架構
6.5.4GoogleNet
6.6膠囊網路
6.6.1理解膠囊網路
6.6.2計算預測向量
6.6.3耦合係數
6.6.4擠壓函式
6.6.5動態路由算法
6.6.6膠囊網路的架構
6.6.7損失函式
6.7在TensorFlow構建膠囊
6.7.1定義擠壓函式
6.7.2定義動態路由算法
6.7.3計算基本膠囊和數字膠囊
6.7.4禁止數字膠囊
6.7.5定義解碼器
6.7.6計算模型的精度
6.7.7計算損失
6.7.8訓練膠囊網路
6.8總結
6.9問題
第7章學習文本表示
7.1word2vec
7.1.1理解CBOW模型
7.1.2具有單個上下文單詞的
CBOW
7.1.3前向傳播
7.1.4反向傳播
7.1.5具有多個上下文單詞的
CBOW
7.1.6 skip-gram
7.1.7 skip-gram
7.1.8 skip-gram播
7.1.9各種訓練策略
7.2gensim word2vec
7.2.1載入數據集
7.2.2數據集的預處理和準備
7.2.3構建模型
7.2.4評估嵌入
7.3在TensorBoard中可視化單詞
7.4 doc2vec
7.4.1落向量PV-DM
7.4.2PV-DBOW
7.4.3使用doc2vec查相文檔
7.5skip-thoughts算
7.6的quick-thoughts
7.7總結
7.8問題
第3部分 的深度學習算法
第8章使用GAN生成圖像
8.1判別模型與生成模型的區別
8.2向GAN打個招呼
8.2.1分解生成器
8.2.2分解鑑別器
8.2.3它們是怎么學習的
8.2.4GAN的架構
8.2.5揭開損失函式的神秘面紗
8.2.6鑑別器損失
8.2.7生成器損失
8.2.8總損失
8.2.9啟發式損失
8.3在TensorFlow中使用GAN
8.3.1載入數據集
8.3.2定義生成器
8.3.3定義鑑別器
8.3.4定義輸入占位符
8.3.5啟動GAN
836計算損失函式
8.3.7最佳化損失
8.3.8開始訓練
8.3.9生成手寫數字
8.4DCGAN-向GAN添加卷積
8.4.1解卷積生成器
8.4.2卷積鑑別器
8.5實現DCGAN生成CIFAR圖像
8.5.1載入數據集
8.5.2定義鑑別器
8.5.3定義生成器
8.5.4定義輸入占位符
8.5.5啟動DCGAN
8.5.6計算損失函式
8.5.7最佳化損失
8.5.8訓練DCGAN
8.6最小二乘GAN
8.6.1損失函式
8.6.2 TensorFlow LSGAN
8.7WassersteinGAN
8.7.1是否要在GAN中最小化JS
散度
8.7.2么Wasserstein…
8.7.3k-Lipschitz秘
面紗
8.7.4WGAN的失
8.7.5 TensorFlow WGAN
8.8總結
8.9問題
第9章了解更多關於GAN的信息
9.1 CGAN
9.2用CGAN生成特定的手寫數字
9.2.1定義生成器
9.2.2定義鑑別器
9.2.3啟動CGAN
9.2.4計算損失函式
9.2.5最佳化損失
9.2.6開始訓練CGAN
9.3InfoGAN
9.3.1互信息
9.3.2InfoGAN架構
9.4在TensorFlowInfoGAN
9.4.1定義生成器
9.4.2定義鑑別器
9.43定義輸入占位符
9.4.4啟動GAN
9.4.5計算損失函式
9.4.6最佳化損失
9.4.7開始訓練
9.4.8生成手寫數字
9.5使用CyleGAN轉圖像
9.5.1生成器的作用
9.5.2鑑別器的作用
9.5.3損失函式
9.5.4循環一致性損失
9.5.5使用CycleGAN將照片轉換為
繪畫
9.6 StackGAN
9.6.1 StackGAN構
9.6.2條件增強
9.6.3第一階段
9.6.4第二階段
9.7總結
9.8問題
第10章使用自動編碼器重構輸入
10.1什麼是自動編碼器
10.1.1理解自動編碼器的架構
10.1.2使用自動編碼器重構MNIST
圖像
10.1.3準備數據集
10.1.4定義編碼器
10.1.5定義解碼器
10.1.6建立模型
10.1.7重構圖像
10.1.8繪製重構圖像
10.2卷積自動編碼器
10.2.1構建一個卷積自動編碼器
10.2.2定義編碼器
10.2.3定義解碼器
10.2.4建立模型
10.2.5重構圖像
10.3探索去噪自動編碼器
10.4理解稀疏自動編碼器
10.5學習使用壓縮自動編碼器
10.6剖析變分自動編碼器
10.6.1變分推理
10.6.2損失函式
10.6.3重新參數化技巧
10.6.4使用VAE生成圖像
10.6.5準備數據集
10.6.6定義編碼器
10.6.7定義採樣操作
10.6.8定義解碼器
10.6.9建立模型
10.6.10定義生成器
10.6.11繪製生成的圖像

相關詞條

熱門詞條

聯絡我們