# 零、前言
《深度學習快速參考》演示了使用深度學習的快速實用方法。 它著重于現實生活中的問題,并且僅提供了足夠的理論和數學知識來加深讀者對該主題的理解。 深度學習是機器學習中令人興奮的快速節奏分支,但它也是一個可以涉足的領域。 在這個領域,每天都會進行大量的詳細而復雜的研究,而這可能會令人不知所措。 在本書中,我著重向您傳授將深度學習應用于各種實際問題的技能。 我對這本書的最大希望是,它將為您提供使用深度學習技術解決機器學習問題所需的工具。
# 這本書是給誰的
我是一名實踐中的數據科學家,我在寫這本書時牢記其他實踐中的數據科學家和機器學習工程師。 如果您是應用深度學習的軟件工程師,那么這本書也很適合您。
如果您是一名深度學習研究人員,那么這本書并不適合您。 但是,您仍然應該拿起副本,以便批評這本書缺乏證明和數學上的嚴格性。
如果您是一名學者或教育家,那么這本書絕對適合您。 在過去的 3 年中,我在伊利諾伊大學斯普林菲爾德分校教授了數據科學的調查數據(去草原之星!),這樣做,我有機會啟發了許多未來的機器學習人員。 這種經歷啟發了我創作這本書。 我認為這樣的書是幫助學生提高對一個非常復雜的主題的興趣的好方法。
# 本書涵蓋的內容
第 1 章“深度學習的基礎知識”,回顧了有關神經網絡操作的一些基礎知識,涉及了優化算法,討論了模型驗證,并討論了建立開發環境的內容。 適用于構建深度神經網絡。
第 2 章“使用深度學習解決回歸問題”,您可以構建非常簡單的神經網絡來解決回歸問題,并研究更深更復雜的模型對這些問題的影響。
第 3 章“使用 TensorBoard 監視網絡訓練”讓您立即開始使用 TensorBoard,這是監視和調試未來模型的絕佳應用。
第 4 章“使用深度學習解決二分類問題”幫助您使用深度學習解決二分類問題。
第 5 章“使用 Keras 解決多分類問題”,帶您進行多分類并探討它們之間的區別。 它還討論了管理過擬合和最安全的選擇。
第 6 章“超參數優化”顯示了兩種獨立的模型調整方法,一種是眾所周知的且經過實戰測試的方法,而另一種是最新方法。
第 7 章“從頭開始訓練 CNN”教您如何使用卷積網絡對圖像進行分類。
第 8 章“使用預訓練的 CNN 的遷移學習”描述了如何應用遷移學習來從圖像分類器中獲得驚人的表現,即使數據很少。
第 9 章“從頭開始訓練 RNN”,討論 RNN 和 LSTMS,以及如何將其用于時間序列預測問題。
第 10 章“從頭開始用詞嵌入訓練 LSTM”繼續我們關于 LSTM 的討論,這次討論的是自然語言分類任務。
第 11 章“訓練 Seq2Seq 模型”幫助我們使用序列對模型進行序列化以進行機器翻譯。
第 12 章“使用深度強化學習”引入了深度強化學習,并構建了可以為自治智能體提供動力的深度 Q 網絡。
第 13 章“生成對抗網絡”解釋了如何使用生成對抗網絡生成令人信服的圖像。
# 充分利用這本書
1. 我假設您已經對更傳統的數據科學和預測建模技術(例如線性/邏輯回歸和隨機森林)有豐富的經驗。 如果這是您第一次學習機器學習,那么對您來說可能有點困難。
2. 我還假定您至少具有使用 Python 進行編程的經驗,或者至少具有其他編程語言(如 Java 或 C++)。
3. 深度學習是計算密集型的,我們在這里構建的某些模型需要 NVIDIA GPU 在合理的時間內運行。 如果您沒有快速的 GPU,則可能希望在 Amazon Web Services 或 Google Cloud Platform 上使用基于 GPU 的云實例。
# 使用約定
本書中使用了許多文本約定。
`CodeInText`:指示文本,數據庫表名稱,文件夾名稱,文件名,文件擴展名,路徑名,虛擬 URL,用戶輸入和 Twitter 句柄中的代碼字。 這是一個示例:“這正是`ModelCheckpoint`回調為我們所做的。”
代碼塊設置如下:
```py
def binary_accuracy(y_true, y_pred):
return K.mean(K.equal(y_true, K.round(y_pred)), axis=-1)
```
當我們希望引起您對代碼塊特定部分的注意時,相關的行或項目以粗體顯示:
```py
def build_network(input_features=None):
inputs = Input(shape=(input_features,), name="input")
x = Dense(32, activation='relu', name="hidden1")(inputs)
x = Dense(32, activation='relu', name="hidden2")(x)
x = Dense(32, activation='relu', name="hidden3")(x)
x = Dense(32, activation='relu', name="hidden4")(x)
x = Dense(16, activation='relu', name="hidden5")(x)
prediction = Dense(1, activation='linear', name="final")(x)
model = Model(inputs=inputs, outputs=prediction)
model.compile(optimizer='adam', loss='mean_absolute_error')
return model
```
任何命令行輸入或輸出的編寫方式如下:
```py
model-weights.00-0.971304.hdf5
model-weights.02-0.977391.hdf5
model-weights.05-0.985217.hdf5
```
**粗體**:表示新術語,重要單詞或您在屏幕上看到的單詞。 例如,菜單或對話框中的單詞會出現在這樣的文本中。 這是一個示例:“從管理面板中選擇系統信息。”
警告或重要提示如下所示。
提示和技巧如下所示。
- 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
- 六、自編碼器,變分自編碼器和生成對抗網絡
- 七、遷移學習
- 八、機器學習最佳實踐和故障排除
- 九、大規模訓練
- 十、參考文獻