Python深度學習算法實戰

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

基本介紹

  • 中文名:Python深度學習算法實戰
  • 出版時間:2022年9月
  • 出版社:水利水電出版社
內容簡介,圖書目錄,作者簡介,

內容簡介

深度學習是人工智慧熱門的領域之一,《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什麼是深度學習
1.2生物和人工神經元
1.3人工神經網路和它的層
1.3.1輸入層
1.3.2隱藏層
1.3.3輸出層
1.4探討激活函式
1.4.1sigmoid函
1.4.2雙曲正切函式
1.4.3修正線性單元函式
1.4.4滲漏修正線性單元函式-
1.4.5指數線性單元函式
1.4.6swish函式
1.4.7softmax
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占位符
25TensorBoard
2.6創建名稱作用域
2.7使用TensorFlow對手寫數字進行分類
2.7.1導入所需的代碼庫
2.7.2載入數據集
2.7.3定義每層神經元的數量
2.7.4定義占位符
275前向傳播
2.7.6計算損失和反向傳播
2.7.7計算精度
2.7.8創建摘要
2.7.9訓練模型
2.8在TensorBoard中可視化圖
29急迫執行簡介
2.10TensorFlow中的數學運算
2.11TensorFlow 2.0 Keras
2.11.1Keras
2.11.2定義模型
2.11.3編譯模型
2.11.4訓練模型
2.11.5評估模型
2.12使用TensorFlow2.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.42使用Adadelta消除學習率
3.4.3使用RMSProp克服Adagrad的局限性
3.4.4自適應矩估計
3.4.5Adamax基於的Adam
3.4.6基於AMSGrad的自適應矩估計
3.4.7NadamNAG添加到
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.9在TensorFlow中現GRU…
5.4雙向RNN
5.5深入理解深度RNN
5.6使用seq2seq模型的語言翻譯
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.4 GoogleNet
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.1理解word2vec模型
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.7skip-gram中的前向傳播
7.1.8skip-gram中的反向傳播
7.1.9各種訓練策略
7.2 gensim 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.2落量PV-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.24GAN的架構
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.33定義鑑別器
8.3.4定義輸入占位符
8.3.5啟動GAN
8.3.6計算損失函式
8.3.7最佳化損失
8.3.8開始訓練
8.3.9生成手寫數字
8.4DCGAN一一向GAN添加卷積
8.4.1解卷積生成器
8.42卷積鑑別器
8.5現DCGAN生成CIFAR圖像
8.5.1載入數據集
8.5.2定義鑑別器
8.5.3定義生成器
8.5.4定義輸入占位符
8.5.5啟動DCGAN
856計算損失函式
8.5.7最佳化損失
8.5.8訓練DCGAN
8.6最小二乘GAN
8.6.1損失函式
8.6.2 TensorFlow LSGAN
8.7Wasserstein距離GAN
8.7.1是否要在GAN中最小化JS散度
8.7.2什麼是Wasserstein距離
8.7.3k-Lipschitz神秘面紗
8.7.4WGAN的失數
8.7.5TensorFlow 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.3理解InfoGAN
9.3.1互信息
9.3.2InfoGAN構
9.4在TensorFlow中構建InfoGAN
9.4.1定義生成器
9.4.2定義鑑別器
9.4.3定義輸入占位符
9.4.4啟動GAN
9.4.5計算損失函式
9.4.6最佳化損失
9.4.7開始訓練
9.4.8生成手寫數字
9.5使用CycleGAN轉換圖像
9.5.1生成器的作用
9.5.2鑑別器的作用
9.5.3損失函式
9.5.4循環一致性損失
9.5.5使用CycleGAN片轉換為繪畫
9.6StackGAN
9.6.1StackGAN的架構
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繪製生成的圖像

作者簡介

蘇達桑 · 拉維尚迪蘭,安那大學信息技術學士,數據科學家、研究員、人工智慧愛好者。他的研究領域專注於深度學習和強化學習的實際實現,其中包括自然語言處理和計算機視覺。他是一名開源貢獻者,喜歡在Stack Overflow(IT問答網站)上回答問題。他還撰寫了暢銷書《Hands-On Reinforcement Learning with Python》(Packt Publishing出版)。

相關詞條

熱門詞條

聯絡我們