# 零、前言
在本書中,您將學習如何有效地使用 TensorFlow,這是 Google 的深度學習開源框架。 您將實現不同的深度學習網絡,例如**卷積神經網絡**(**CNN**),**循環神經網絡**(**RNN**),**深度 Q 學習網絡**(**DQN**)和**生成對抗網絡**(**GAN**),易于遵循獨立的秘籍。 您將學習如何使用 TensorFlow 將 Keras 用作后端。
您將了解如何實現不同的深度神經架構以執行工作中的復雜任務。 您將在一些常用數據集(例如 MNIST,CIFAR-10,Youtube8m 等)上學習不同 DNN 的表現。 您不僅將了解 TensorFlow 支持的不同移動和嵌入式平臺,還將了解如何為深度學習應用設置云平臺。 簡要了解 TPU 架構以及它們將如何影響 DNN 的未來。
到本書結尾,您將成為在不斷增長的實際應用和研究領域中實現深度學習技術的專家,這些領域包括增強學習,GAN,自編碼器等。
# 本書涵蓋的內容
“TensorFlow 簡介”討論了 Google 的開源框架 TensorFlow,以及為什么它對深度學習很有用。 我們將討論如何在 MAC,Windows 和 Ubuntu 上為 CPU 和 GPU 安裝 TensorFlow。 我們還將討論整本書中將使用的其他 python 包。 我們將解釋 TensorFlow 代碼的兩個組成部分,圖的定義及其執行。 我們將學習使用 TensorBoard 查看圖結構。 我們將了解 TensorFlow 常量,變量和占位符之間的區別。 我們還將品嘗 TensorFlow 估計器。
“回歸”討論了回歸及其應用。 我們將討論回歸所涉及的概念,了解回歸與聚類和分類的不同之處。 我們將學習可能的不同類型的損失函數以及如何在 Tensorflow 中實現它們。 我們學習如何實現 L1 和 L2 正則化。 我們將討論梯度下降算法,學習如何優化它并在 Tensorflow 中實現它。 我們將簡要了解交叉熵函數及其實現。
“神經網絡感知機”,涵蓋了人工神經網絡,并解釋了為什么它可以完成 DNN 最近聲稱的出色任務。 我們將學習激活函數的不同選擇。 我們將使用所有這些來構建一個簡單的感知機,并將其用于函數建模。 我們將在訓練之前了解數據的正則化。 我們還將學習逐步構建多層感知機(MLP)。 我們將看到 TensorFlow 的自動區分器如何使我們的工作更輕松。
“TensorFlow 卷積神經網絡”,討論了卷積的過程及其如何提取特征。 我們將學習 CNN 的三個重要層:卷積層,池化層和完全連接層。 我們還將學習丟棄,如何提高表現以及不同的 CNN 架構(例如 LeNET 和 GoogleNET)。
“CNN 的運作”,涵蓋了 CNN 的一些令人贊嘆的成功案例,例如面部識別。 我們將編寫一個使用 CNN 進行情感分析的方法。 我們將討論 CNN 的預調整,并學習如何實現遷移學習。 我們將學習如何使用 VGG16 進行遷移學習。 我們將使用 VGGNet,ResNet,Inception 和 Xception 學習圖像的分類。 我們將使用膨脹的卷積網絡,Wavenet 和 Nsynth 生成音樂。 我們還將學習如何進行 Visual Q &A。我們將學習如何對視頻進行分類。
“循環神經網絡”討論了循環神經網絡。 我們將學習 RNN 的基本單元 RNN 單元。 我們將學習單詞嵌入和時間排序。 我們將簡要討論 LSTM 網絡。 我們將學習 seq2seq RNN。 我們將學習如何將 RNN 應用于機器翻譯,生成文本和預測未來價值
“無監督學習”,講授無監督學習范例。 我們將學習聚類和降維。 我們將學習諸如主成分分析(PCA)之類的技術,并了解如何將其用于降維。 我們將學習 K 均值聚類。 我們將了解地形圖的概念,并學習如何訓練自組織圖。 我們將學習受限玻爾茲曼機(RBM)。 我們將討論 RBM 的架構和訓練。 我們將學習如何堆疊 RBM 來構成深度信念網絡,并且將學習如何對其進行訓練。 我們將使用預訓練和微調進行情感檢測的概念來訓練 DBN。
“自編碼器”,使自編碼器神秘化。 我們將學習自編碼器及其應用。 我們將討論可以使用自編碼器的各種實際示例。 我們將討論編碼和后續重構的過程。 我們將學習重建誤差。 我們將學習稀疏自編碼器,即 KL 散度的概念。 我們將學習去噪自編碼器,并在給定嘈雜圖像的情況下使用它們來重建清晰圖像。 我們將學習如何構建卷積自編碼器和堆疊式自編碼器。
“強化學習”,涵蓋了不同的強化學習算法。 我們將學習 Q 學習算法。 我們將討論 Bellman-Ford 方程以及如何選擇學習率,折扣因子。 我們將學習如何使用 OpenAI Gym 框架。 我們將學習經驗重放和緩沖的概念,以實現值迭代 Q 網絡。 我們將使用 Q 學習和策略梯度來構建游戲智能體。 最后,我們將學習如何建立自己的深度 Q 學習網絡(DQN)。 簡要描述 AlphaGo Zero 及其大獲勝。
第 10 章,“TensorFlow 移動計算”,涵蓋了 TensorFlow 移動。 我們將學習移動深度學習的不同應用。 我們將學習如何在 Windows 平臺上的 Android Studio 中使用 Tensorflow。 我們將學習如何結合使用 Tensorflow 和 XCode 來制作基于 IOS 的應用。 我們將學習如何優化移動設備的 Tensorflow 圖。 我們還將學習如何為移動設備轉換 Tensorflow 圖。
第 11 章,“TensorFlow 生成對抗網絡(GAN),變分自編碼器和膠囊網絡”,從生成對抗網絡及其相對于其他 DNN 的優勢開始。 我們探索了不同的預測模型。 我們了解 GAN 的動機及其直觀工作。 我們了解基本的 GAN 架構。 我們將探索 GAN 的一些非常酷的應用。 我們將學習另一種生成網絡,即變分自編碼器。 最后,我們將了解最近提出的膠囊網絡
第 12 章,“分布式 TensorFlow 和云深度學習”,介紹了云環境,泊塢窗,容器以及如何使用它們。 *我們將學習如何使用具有多個 GPU 和多個服務器的分布式 Tensorflow。 我們將學習如何設置 AWS 進行深度學習。* 我們將學習如何為深度學習應用設置 Google 云。 我們將學習如何為深度學習應用設置 Microsoft Azure 云。 我們了解其他可用的云服務
附錄 A,“通過 AutoML 學習(元學習)”,簡要討論了 AutoML 和連體網絡。
附錄 B,“TensorFlow 處理單元”,涵蓋了 Tensor 處理單元,其基本架構以及它將如何影響 DNN 的未來。
# 這本書需要什么
對于這本書,您將需要 [Python 版本 3.5](https://www.continuum.io/downloads) 和 [TensorFlow](http://www.tensorflow.org)。 建議使用以下硬件規格:
* CPU 架構:x86_64
* 系統內存:8-32 GB
* CPU:4-8 核
* GPU :(可選,最低 NVDIA?GTX 650)
# 這本書是給誰的
本書面向希望定期執行機器學習任務的數據科學家,機器學習從業人員和深度學習愛好者。 稍微熟悉深度神經網絡并希望獲得與 CNN 和 RNN 一起工作的專業知識的人會發現這本書很有用。
# 標題
在本書中,您會發現經常出現的幾個標題(準備工作,如何做……,如何工作……,還有更多……以及另請參見)。 為了給出有關如何完成秘籍的明確說明,我們使用以下部分。
# 準備
本節將告訴您秘籍中的預期內容,并介紹如何設置秘籍所需的任何軟件或任何初步設置。
# 操作步驟
本節包含遵循秘籍所需的步驟。
# 工作原理
本節通常包括對上一節中發生的情況的詳細說明。
# 更多
本節包含有關秘籍的其他信息,以使讀者對秘籍有更多的了解。
# 另見
本節提供了指向該秘籍其他有用信息的有用鏈接。
# 約定
在本書中,您將找到許多可以區分不同類型信息的文本風格。 以下是這些風格的一些示例,并解釋了其含義。 文本,數據庫表名稱,文件夾名稱,文件名,文件擴展名,路徑名,虛擬 URL,用戶輸入和 Twitter 句柄中的代碼字顯示如下:“我們剛剛使用以下命令創建了`jiradb`數據庫,在數據庫中為 JIRA 創建新用戶并授予該用戶訪問權限”。
代碼塊設置如下:
```py
<Contextpath="/jira"docBase="${catalina.home}
/atlassian- jira" reloadable="false" useHttpOnly="true">
```
任何命令行輸入或輸出的編寫方式如下:
```py
mysql -u root -p
```
**新術語**和**重要詞**以粗體顯示。 您在屏幕上看到的單詞,例如在菜單或對話框中,將以如下形式出現:從“管理”面板中選擇“系統信息”。
警告或重要提示顯示如下,提示和技巧顯示如下。
- TensorFlow 1.x 深度學習秘籍
- 零、前言
- 一、TensorFlow 簡介
- 二、回歸
- 三、神經網絡:感知器
- 四、卷積神經網絡
- 五、高級卷積神經網絡
- 六、循環神經網絡
- 七、無監督學習
- 八、自編碼器
- 九、強化學習
- 十、移動計算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度學習
- 十三、AutoML 和學習如何學習(元學習)
- 十四、TensorFlow 處理單元
- 使用 TensorFlow 構建機器學習項目中文版
- 一、探索和轉換數據
- 二、聚類
- 三、線性回歸
- 四、邏輯回歸
- 五、簡單的前饋神經網絡
- 六、卷積神經網絡
- 七、循環神經網絡和 LSTM
- 八、深度神經網絡
- 九、大規模運行模型 -- GPU 和服務
- 十、庫安裝和其他提示
- TensorFlow 深度學習中文第二版
- 一、人工神經網絡
- 二、TensorFlow v1.6 的新功能是什么?
- 三、實現前饋神經網絡
- 四、CNN 實戰
- 五、使用 TensorFlow 實現自編碼器
- 六、RNN 和梯度消失或爆炸問題
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用協同過濾的電影推薦
- 十、OpenAI Gym
- TensorFlow 深度學習實戰指南中文版
- 一、入門
- 二、深度神經網絡
- 三、卷積神經網絡
- 四、循環神經網絡介紹
- 五、總結
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高級庫
- 三、Keras 101
- 四、TensorFlow 中的經典機器學習
- 五、TensorFlow 和 Keras 中的神經網絡和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于時間序列數據的 RNN
- 八、TensorFlow 和 Keras 中的用于文本數據的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自編碼器
- 十一、TF 服務:生產中的 TensorFlow 模型
- 十二、遷移學習和預訓練模型
- 十三、深度強化學習
- 十四、生成對抗網絡
- 十五、TensorFlow 集群的分布式模型
- 十六、移動和嵌入式平臺上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、調試 TensorFlow 模型
- 十九、張量處理單元
- TensorFlow 機器學習秘籍中文第二版
- 一、TensorFlow 入門
- 二、TensorFlow 的方式
- 三、線性回歸
- 四、支持向量機
- 五、最近鄰方法
- 六、神經網絡
- 七、自然語言處理
- 八、卷積神經網絡
- 九、循環神經網絡
- 十、將 TensorFlow 投入生產
- 十一、更多 TensorFlow
- 與 TensorFlow 的初次接觸
- 前言
- 1.?TensorFlow 基礎知識
- 2. TensorFlow 中的線性回歸
- 3. TensorFlow 中的聚類
- 4. TensorFlow 中的單層神經網絡
- 5. TensorFlow 中的多層神經網絡
- 6. 并行
- 后記
- TensorFlow 學習指南
- 一、基礎
- 二、線性模型
- 三、學習
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 構建簡單的神經網絡
- 二、在 Eager 模式中使用指標
- 三、如何保存和恢復訓練模型
- 四、文本序列到 TFRecords
- 五、如何將原始圖片數據轉換為 TFRecords
- 六、如何使用 TensorFlow Eager 從 TFRecords 批量讀取數據
- 七、使用 TensorFlow Eager 構建用于情感識別的卷積神經網絡(CNN)
- 八、用于 TensorFlow Eager 序列分類的動態循壞神經網絡
- 九、用于 TensorFlow Eager 時間序列回歸的遞歸神經網絡
- TensorFlow 高效編程
- 圖嵌入綜述:問題,技術與應用
- 一、引言
- 三、圖嵌入的問題設定
- 四、圖嵌入技術
- 基于邊重構的優化問題
- 應用
- 基于深度學習的推薦系統:綜述和新視角
- 引言
- 基于深度學習的推薦:最先進的技術
- 基于卷積神經網絡的推薦
- 關于卷積神經網絡我們理解了什么
- 第1章概論
- 第2章多層網絡
- 2.1.4生成對抗網絡
- 2.2.1最近ConvNets演變中的關鍵架構
- 2.2.2走向ConvNet不變性
- 2.3時空卷積網絡
- 第3章了解ConvNets構建塊
- 3.2整改
- 3.3規范化
- 3.4匯集
- 第四章現狀
- 4.2打開問題
- 參考
- 機器學習超級復習筆記
- Python 遷移學習實用指南
- 零、前言
- 一、機器學習基礎
- 二、深度學習基礎
- 三、了解深度學習架構
- 四、遷移學習基礎
- 五、釋放遷移學習的力量
- 六、圖像識別與分類
- 七、文本文件分類
- 八、音頻事件識別與分類
- 九、DeepDream
- 十、自動圖像字幕生成器
- 十一、圖像著色
- 面向計算機視覺的深度學習
- 零、前言
- 一、入門
- 二、圖像分類
- 三、圖像檢索
- 四、對象檢測
- 五、語義分割
- 六、相似性學習
- 七、圖像字幕
- 八、生成模型
- 九、視頻分類
- 十、部署
- 深度學習快速參考
- 零、前言
- 一、深度學習的基礎
- 二、使用深度學習解決回歸問題
- 三、使用 TensorBoard 監控網絡訓練
- 四、使用深度學習解決二分類問題
- 五、使用 Keras 解決多分類問題
- 六、超參數優化
- 七、從頭開始訓練 CNN
- 八、將預訓練的 CNN 用于遷移學習
- 九、從頭開始訓練 RNN
- 十、使用詞嵌入從頭開始訓練 LSTM
- 十一、訓練 Seq2Seq 模型
- 十二、深度強化學習
- 十三、生成對抗網絡
- TensorFlow 2.0 快速入門指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 簡介
- 一、TensorFlow 2 簡介
- 二、Keras:TensorFlow 2 的高級 API
- 三、TensorFlow 2 和 ANN 技術
- 第 2 部分:TensorFlow 2.00 Alpha 中的監督和無監督學習
- 四、TensorFlow 2 和監督機器學習
- 五、TensorFlow 2 和無監督學習
- 第 3 部分:TensorFlow 2.00 Alpha 的神經網絡應用
- 六、使用 TensorFlow 2 識別圖像
- 七、TensorFlow 2 和神經風格遷移
- 八、TensorFlow 2 和循環神經網絡
- 九、TensorFlow 估計器和 TensorFlow HUB
- 十、從 tf1.12 轉換為 tf2
- TensorFlow 入門
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 數學運算
- 三、機器學習入門
- 四、神經網絡簡介
- 五、深度學習
- 六、TensorFlow GPU 編程和服務
- TensorFlow 卷積神經網絡實用指南
- 零、前言
- 一、TensorFlow 的設置和介紹
- 二、深度學習和卷積神經網絡
- 三、TensorFlow 中的圖像分類
- 四、目標檢測與分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自編碼器,變分自編碼器和生成對抗網絡
- 七、遷移學習
- 八、機器學習最佳實踐和故障排除
- 九、大規模訓練
- 十、參考文獻