Python 深度學習從零開始學

宋立桓

  • Python 深度學習從零開始學-preview-1
  • Python 深度學習從零開始學-preview-2
  • Python 深度學習從零開始學-preview-3
Python 深度學習從零開始學-preview-1

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

商品描述

本書立足實踐,以通俗易懂的方式詳細介紹深度學習的基礎理論以及相關的必要知識,同時以實際動手操作的方式來引導讀者入門人工智能深度學習。本書的讀者只需具備Python語言基礎知識,不需要有數學基礎或者AI基礎,按照本書的內容循序漸進地學習,即可快速上手深度學習。本書配套示例源碼、PPT課件、數據集、開發環境與答疑服務。 本書共分13章,主要內容包括人工智能、機器學習和深度學習之間的關系、深度學習的環境搭建、深度學習的原理、深度學習框架TensorFlow和Keras、捲積神經網絡相關知識、圖像識別、情感分析、遷移學習、人臉識別、圖像風格遷移、生成對抗網絡等內容。本書從最簡單的常識出發來切入AI領域,打造平滑和興奮的學習 體驗。 本書作為零基礎入門書,既適合希望瞭解深度學習、使用深度學習框架快速上手的初學者和技術人員閱讀,也適合作為高等院校和培訓學校人工智能及相關專業的師生的實訓教材。

目錄大綱

目    錄

 第1章  人工智能、機器學習與深度學習簡介1

1.1  什麽是人工智能1

1.2  人工智能的本質2

1.3  人工智能相關專業人才的就業前景4

1.4  機器學習和深度學習5

1.4.1  什麽是機器學習5

1.4.2  深度學習獨領風騷7

1.4.3  機器學習和深度學習的關系和對比8

1.5  小白如何學深度學習10

1.5.1  關於兩個“放棄”10

1.5.2  關於三個“必須”11

 第2章  深度學習開發環境搭建13

2.1  Jupyter Notebook極速入門13

2.1.1  什麽是Jupyter Notebook13

2.1.2  如何安裝和啟動Jupyter Notebook14

2.1.3  Jupyter Notebook的基本使用16

2.2  深度學習常用框架介紹18

2.3  Windows環境下安裝TensorFlow(CPU版本)和Keras19

2.4  Windows環境下安裝TensorFlow(GPU版本)和Keras21

2.4.1  確認顯卡是否支持CUDA21

2.4.2  安裝CUDA22

2.4.3  安裝cuDNN23

2.4.4  安裝TensorFlow(GPU版本)和Keras24

2.5  Windows環境下安裝PyTorch25

2.5.1  安裝PyTorch(CPU版本)25

2.5.2  安裝PyTorch(GPU版本)26

 第3章  Python數據科學庫28

3.1  張量、矩陣和向量28

3.2  數組和矩陣運算庫——NumPy29

3.2.1  列表和數組的區別29

3.2.2  創建數組的方法30

3.2.3  NumPy的算術運算30

3.2.4  數組變形31

3.3  數據分析處理庫——Pandas32

3.3.1  Pandas數據結構Series32

3.3.2  Pandas數據結構DataFrame33

3.3.3  Pandas處理CSV文件34

3.3.4  Pandas數據清洗35

3.4  數據可視化庫——Matplotlib37

 第4章  深度學習基礎40

4.1  神經網絡原理闡述40

4.1.1  神經元和感知器40

4.1.2  激活函數42

4.1.3  損失函數44

4.1.4  梯度下降和學習率45

4.1.5  過擬合和Dropout 46

4.1.6  神經網絡反向傳播法47

4.1.7  TensorFlow游樂場帶你玩轉神經網絡48

4.2  捲積神經網絡51

4.2.1  什麽是捲積神經網絡51

4.2.2  捲積神經網絡詳解52

4.2.3  捲積神經網絡是如何訓練的 54

4.3  捲積神經網絡經典模型架構55

4.3.1  LeNet556

4.3.2  AlexNet59

4.3.3  VGGNet60

4.3.4  GoogLeNet61

4.3.5  ResNet63

 第5章  深度學習框架TensorFlow入門66

5.1  第一個TensorFlow的“Hello world”66

5.2  TensorFlow程序結構66

5.3  TensorFlow常量、變量、占位符68

5.3.1  常量68

5.3.2  變量69

5.3.3  占位符71

5.4  TensorFlow案例實戰73

5.4.1  MNIST數字識別問題73

5.4.2  TensorFlow多層感知器識別手寫數字74

5.4.3  TensorFlow捲積神經網絡識別手寫數字79

5.5  可視化工具TensorBoard的使用84

 第6章  深度學習框架Keras入門88

6.1  Keras架構簡介88

6.2  Keras常用概念89

6.3  Keras創建神經網絡基本流程90

6.4  Keras創建神經網絡進行泰坦尼克號生還預測 93

6.4.1  案例項目背景和數據集介紹93

6.4.2  數據預處理96

6.4.3  建立模型97

6.4.4  編譯模型並進行訓練97

6.4.5  模型評估98

6.4.6  預測和模型的保存99

6.5  Keras創建神經網絡預測銀行客戶流失率100

6.5.1  案例項目背景和數據集介紹100

6.5.2  數據預處理102

6.5.3  建立模型103

6.5.4  編譯模型並進行訓練104

6.5.5  模型評估105

6.5.6  模型優化——使用深度神經網絡輔以Dropout正則化106

 第7章  數據預處理和模型評估指標108

7.1  數據預處理的重要性和原則108

7.2  數據預處理方法介紹109

7.2.1  數據預處理案例——標準化、歸一化、二值化109

7.2.2  數據預處理案例——缺失值補全、標簽化111

7.2.3  數據預處理案例——獨熱編碼113

7.2.4  通過數據預處理提高模型準確率114

7.3  常用的模型評估指標115

 第8章  圖像分類識別121

8.1  圖像識別的基礎知識121

8.1.1  電腦是如何表示圖像121

8.1.2  捲積神經網絡為什麽能稱霸電腦圖像識別領域122

8.2  實例一:手寫數字識別125

8.2.1  MNIST手寫數字識別數據集介紹125

8.2.2  數據預處理126

8.2.3  建立模型127

8.2.4  進行訓練129

8.2.5  模型保存和評估130

8.2.6  進行預測130

8.3  實例二:CIFAR-10圖像識別130

8.3.1  CIFAR-10圖像數據集介紹131

8.3.2  數據預處理132

8.3.3  建立模型132

8.3.4  進行訓練133

8.3.5  模型評估135

8.3.6  進行預測135

8.4  實例三:貓狗識別137

8.4.1  貓狗數據集介紹137

8.4.2  建立模型139

8.4.3  數據預處理140

8.4.4  進行訓練141

8.4.5  模型保存和評估142

8.4.6  進行預測143

8.4.7  模型的改進優化144

 第9章  IMDB電影評論情感分析148

9.1  IMDB電影數據集和影評文字處理介紹148

9.2  基於多層感知器模型的電影評論情感分析152

9.2.1  加入嵌入層152

9.2.2  建立多層感知器模型152

9.2.3  模型訓練和評估153

9.2.4  預測155

9.3  基於RNN模型的電影評論情感分析157

9.3.1  為什麽要使用RNN模型157

9.3.2  RNN模型原理158

9.3.3  使用RNN模型進行影評情感分析159

9.4  基於LSTM模型的電影評論情感分析159

9.4.1  LSTM模型介紹160

9.4.2  使用LTSM模型進行影評情感分析161

 第10章  遷移學習162

10.1  遷移學習簡介162

10.2  什麽是預訓練模型163

10.3  如何使用預訓練模型164

10.4  在貓狗識別的任務上使用遷移學習165

10.5  在MNIST手寫體分類上使用遷移學習168

10.6  遷移學習總結171

 第11章  人臉識別實踐172

11.1  人臉識別172

11.1.1  什麽是人臉識別172

11.1.2  人臉識別的步驟173

11.2  人臉檢測和關鍵點定位實戰176

11.3  人臉表情分析情緒識別實戰180

11.4  我能認識你——人臉識別實戰184

 第12章  圖像風格遷移188

12.1  圖像風格遷移簡介188

12.2  使用預訓練的VGG16模型進行風格遷移191

12.2.1  算法思想191

12.2.2  算法細節192

12.2.3  代碼實現194

12.3  圖像風格遷移總結201

 第13章  生成對抗網絡202

13.1  什麽是生成對抗網絡202

13.2  生成對抗網絡算法細節204

13.3  循環生成對抗網絡206

13.4  利用CycleGAN進行圖像風格遷移209

13.4.1  導入必要的庫210

13.4.2  數據處理210

13.4.3  生成網絡212

13.4.4  判別網絡214

13.4.5  整體網絡結構的搭建215

13.4.6  訓練代碼217

13.4.7  結果展示219

後記  進一步深入學習220