TensorFlow深度學習算法原理與編程實戰

TensorFlow深度學習算法原理與編程實戰

作者: 蔣子陽
出版社: 中國水利水電
出版在: 2019-02-01
ISBN-13: 9787517068228
ISBN-10: 7517068229
總頁數: 596 頁





內容描述


TensorFlow是谷歌研發的人工智能學習系統,是一個用於數值計算的開源軟件庫。《TensorFlow深度學習算法原理與編程實戰》以基礎+實踐相結合的形式,詳細介紹了TensorFlow深度學習算法原理及編程技巧。通讀全書,讀者不僅可以系統了解深度學習的相關知識,還能對使用TensorFlow進行深度學習算法設計的過程有更深入的理解。
《TensorFlow深度學習算法原理與編程實戰》共14章,主要內容有:人工智能、大數據、機器學習和深度學習概述;深度學習及TensorFlow框架的相關背景;TensorFlow的安裝;TensorFlow編程策略;深度前饋神經網絡;優化網絡的方法;全連神經網絡的經典實踐;卷積神經網絡的基礎知識;經典卷積神經網絡的TensorFlow實現;循環神經網絡及其應用;深度強化學習概述;TensorFlow讀取數據的API;TensorFlow持久化模型的API;可視化工具TensorBoard的使用;TensorFlow使用多GPU或併行的方式加速計算等。
《TensorFlow深度學習算法原理與編程實戰》內容通俗易懂,案例豐富,實用性強,特別適合對人工智能、深度學習感興趣的的相關從業人員閱讀,也適合沒有相關基礎但是對該方面研究充滿興趣的愛好者閱讀。


目錄大綱


第一部分探索深度學習之方式的開始
第1章開篇
1.1人工智能的發展
1.1.1萌芽
1.1.2復甦
1.1.3現代實踐:大數據+深度神經網絡模型
1.2大數據
1.3機器學習與深度學習
1.3.1機器學習
1.3.2深度學習
1.3.3同人工智能的關係
1.4人工神經網絡與TensorFlow
1.4.1人工神經網絡
1.4.2TensorFlow
1.5其他主流深度學習框架介紹
1.5.1Caffe
1.5.2Torch
1.5.3Theano
1.5.4MXNet
1.5.5Keras
1.6機器學習的常見任務
1.6.1分類
1.6.2回歸
1.6.3去噪
1.6.4轉錄
1.6.5機器翻譯
1.6.6異常檢測
1.6.7結構化輸出
1.7深度學習的現代應用
1.7.1計算機視覺
1.7.2自然語言處理
1.7.3語音識別
第2章安裝TensorFlow
2.1安裝前的須知
2.1.1檢查硬件是否達標
2.1.2推薦選用GPU進行訓練
2.1.3為什麼選擇Linux系統
2.1.4為什麼選擇Python語言
2.2安裝Anaconda
2.3TensorFlow的兩個主要依賴包
2.3.1Protocol Buffer
2.3.2Bazel
2.4安裝CUDA和cuDNN
2.4.1CUDA
2.4.2cuDNN
2.5正式安裝TensorFlow
2.5.1使用pip安裝
2.5.2從源代碼編譯並安裝
2.6測試你的TensorFlow
2.6.1運行向量相加的例子
2.6.2加載過程存在的一些問題
2.7推薦使用IDE
第3章TensorFlow編程策略
3.1初識計算圖與張量
3.2計算圖——TensorFlow的計算模型
3.3張量——TensorFlow的數據模型
3.3.1概念
3.3.2使用張量
3.4會話——TensorFlow的運行模型
3.4.1TensorFlow系統結構概述
3.4.2簡單使用會話
3.4.3使用with/as環境上下文管理器
3.4.4Session的參數配置
3.4.5placeholder機制
3.5TensorFlow變量
3.5.1創建變量
3.5.2變量與張量
3.6管理變量的變量空間
3.6.1get_variable()函數
3.6.2variable_scope()與name_scope()
第二部分TensorFlow實現深度網絡
第4章深度前饋神經網絡
4.1網絡的前饋方式
4.2全連接
4.2.1神經元與全連接結構
4.2.2前向傳播算法
4.3線性模型的局限性
4.4激活函數
4.4.1常用激活函數
4.4.2激活函數實現去線性化
4.5多層網絡解決異或運算
4.6損失函數
4.6.1經典損失函數
4.6.2自定義損失函數
第5章優化網絡的方法
5.1基於梯度的優化
5.1.1梯度下降算法
5.1.2隨機梯度下降
5.2反向傳播
5.2.1簡要解釋反向傳播算法
5.2.2自適應學習率算法
5.2.3TensorFlow提供的優化器
5.3學習率的獨立設置
5.3.1指數衰減的學習率
5.3.2其他優化學習率的方法
5.4擬合
5.4.1過擬合和欠擬合
5.4.2正則化的方法
5.4.3Bagging方法
5.4.4Dropout方法
第6章全連神經網絡的經典實踐
6.1MNIST數據集
6.2網絡的設計
6.3超參數和驗證集
6.4與簡單模型的對比
第7章卷積神經網絡
7.1準備性的認識
7.1.1圖像識別與經典數據集
7.1.2卷積網絡的神經科學基礎
7.1.3卷積神經網絡的歷史
7.2卷積
7.2.1卷積運算
7.2.2卷積運算的稀疏連接
7.2.3卷積運算的參數共享
7.2.4卷積運算的平移等變
7.2.5多卷積核
7.2.6卷積層的代碼實現
7.3池化
7.3.1池化過程
7.3.2常用池化函數
7.3.3池化層的代碼實現
7.4實現卷積神經網絡的簡例
7.4.1卷積神經網絡的一般框架
7.4.2用簡單卷積神經網絡實現Cifar-10數據集分類
7.5圖像數據處理
7.5.1圖像編解碼處理
7.5.2翻轉圖像
7.5.3圖像色彩調整
7.5.4圖像標準化處理
7.5.5調整圖像大小
7.5.6圖像的標註框
第8章經典卷積神經網絡
8.1LeNet-5卷積網絡模型
8.1.1模型結構
8.1.2TensorFlow實現
8.2AlexNet卷積網絡模型
8.2.1模型結構
8.2.2TensorFlow實現
8.3VGGNet卷積網絡模型
8.3.1模型結構
8.3.2TensorFlow實現
8.4InceptionNet-V3卷積網絡模型
8.4.1模型結構
8.4.2Inception V3 Module的實現
8.4.3使用Inception V3完成模型遷移
8.5ResNet卷積網絡模型
8.5.1模型結構
8.5.2TensorFlow實現
第9章循環神經網絡
9.1循環神經網絡簡介
9.1.1循環神經網絡的前向傳播程序設計
9.1.2計算循環神經網絡的梯度
9.1.3循環神經網絡的不同設計模式
9.2自然語言建模與詞向量
9.2.1統計學語言模型
9.2.2Word2Vec
9.2.3用TensorFlow實現Word2Vec
9.3LSTM實現自然語言建模
9.3.1長短時記憶網絡(LSTM)
9.3.2LSTM在自然語言建模中的應用
9.3.3循環神經網絡的Dropout
9.4循環神經網絡的變種
9.4.1雙向循環神經網絡
9.4.2深層循環神經網絡
第10章深度強化學習
10.1理解基本概念
10.2深度強化學習的思路
10.3典型應用場景舉例
10.3.1場景1:機械臂自控
10.3.2場景2:自動遊戲系統
10.3.3場景3:自動駕駛
10.3.4場景4:智能圍棋系統
10.4Q學習與深度Q網絡
10.4.1Q學習與深度Q學習
10.4.2深度Q網絡
第三部分TensorFlow的使用進階
第11章數據讀取
11.1文件格式
11.1.1TFRecord格式
11.1.2CSV格式
11.2隊列
11.2.1數據隊列
11.2.2文件隊列
11.3使用多線程處理輸入的數據
11.3.1使用Coordinator類管理線程
11.3.2使用QueueRunner創建線程
11.4組織數據batch
第12章模型持久化
12.1通過代碼實現
12.2模型持久化的原理
12.2.1model.ckpt.mate文件
12.2.2從.index與.data文件讀取變量的值
12.3持久化的MNIST手寫字識別
12.4PB文件
第13章TensorBoard可視化
13.1TensorBoard簡要介紹
13.2MNIST手寫字識別的可視化
13.2.1實現的過程
13.2.2標量數據可視化結果
13.2.3圖像數據可視化結果
13.2.4計算圖可視化結果
13.3其他監控指標可視化
第14章加速計算
14.1TensorFlow支持的設備
14.2TensorFlow單機實現
14.2.1查看執行運算的設備
14.2.2device()函數的使用
14.3並行訓練的原理
14.3.1數據並行
14.3.2模型並行
14.4單機多GPU加速TensorFlow程序
14.4.1實現的過程
14.4.2多GPU並行的可視化
14.5分佈式TensorFlow概述


作者介紹


蔣子陽
多年專業編程工作經驗,曾參與多個機器人目標識別與定位等深度學習相關項目,擅長圖像識別算法、語音識別算法等。涉及行業包括金融、證券、汽車、公共安全等領域。近年來,本人對機器學習及深度學習進行了深入研究,隨著TensorFlow的出現,開始將精力轉移到TensorFlow深度學習算法原理的研究中,並專門推導過其中的大部分算法,對該框架有著獨特的認識和深入的理解。




相關書籍

Intelligent Mobile Projects with TensorFlow: Build 10+ Artificial Intelligence apps using TensorFlow Mobile and Lite for iOS, Android, and Raspberry Pi

作者 Jeff Tang

2019-02-01

Building Computer Vision Applications Using Artificial Neural Networks: With Step-By-Step Examples in Opencv and Tensorflow with Python

作者 Ansari Shamshad

2019-02-01

MATLAB 2020 優化設計從入門到精通

作者 葉國華

2019-02-01