Part01 深度學習簡介-從應用面看起
Ch01 生物視覺與機器視覺 (Biological and Machine Vision)
1.1 生物視覺 (Biological Vision)
1.2 機器視覺 (Machine Vision)
1.3 上 TensorFlow Playground 網站體驗深度學習
1.4 上限時塗鴉 (Quick Draw!) 網站體驗即時的深度學習運算能力
1.5 總結
Ch02 用機器處理自然語言 (Natural Language Processing)
2.1 深度學習 + 自然語言處理
2.2 將語言量化
2.3 Google Duplex 的自然語言功力
2.4 總結
Ch03 機器藝術 (Machine Arts):對抗式生成網路 (Generative Adversarial Network) 概述
3.1 對抗式生成網路的源起
3.2 經由「計算」生成假的人臉
3.3 風格轉移 (Style transfer) – CycleGAN
3.4 將自己手繪的塗鴉轉換成照片 – cGAN
3.5 憑文字敘述就生成擬真圖片 – StackGAN
3.6 使用深度學習進行影像處理
3.7 總結
Ch04 遊戲對局 (Game-Playing Machines):Alpha Go、DQN (Deep Q Network)、RL (Reinforcement Learning) 概述
4.1 強化式學習 (Reinforcement Learning)
4.2 深度強化式學習 (Deep Reinforcement Learning)
4.3 深度強化式學習的應用 (一):電子遊戲
4.4 深度強化式學習的應用 (二):棋盤類遊戲
4.5 深度強化式學習在真實世界的應用:操控物體
4.6 常用的深度強化式學習模擬環境
4.7 總結
Part02 深度學習的核心概念 - 神經網路 (Neural Network)
Ch05 先動手實作!5 行程式體驗神經網路模型
5.1 熟悉 Google Colab 執行環境
5.2 用 tf.Keras 套件建立淺層神經網路
5.3 總結
Ch06 神經網路的基礎:人工神經元和激活函數
6.1 認識生物神經網路
6.2 最早期的神經元:感知器 (Perceptron)
6.3 神經元的激活函數 (Activation Function)
6.4 激活函數的選擇
6.5 總結
Ch07 多神經元組成的神經網路
7.1 輸入層 (Input Layer)
7.2 密集層 (Dense Layer)
7.3 用密集神經網路辨識熱狗堡
7.4 用密集神經網路做多個速食的分類
7.5 回顧第 5 章的範例程式
7.6 總結
Ch08 訓練深度神經網路
8.1 損失函數 (Loss Function)
8.2 藉由訓練讓誤差值最小化
8.2.1 梯度下降法 (Gradient Descent)
8.2.2 學習率 (Learning rate)
8.2.3 批次量 (Batch-Size) 與隨機梯度下降法 (SGD)
8.2.4 從局部最小值 (Local Minimum) 脫離
8.3 反向傳播 (Back Propagation)
8.4 規劃隱藏層與各層神經元的數量
8.5 範例:建構多層神經網路
8.6 總結
Ch09 改善神經網路的訓練成效
9.1 權重初始化 (Weight Initialization)
9.2 解決梯度不穩定的問題
9.3 避免過度配適 (Overfitting) 的技巧
9.4 使用各種優化器 (Optimizer)
9.5 實作:用 tf.Keras 建構深度神經網路
9.6 改試試迴歸 (Regression) 範例
9.7 用 TensorBoard 視覺化判讀訓練結果
9.8 總結
Part03 深度學習的進階技術
Ch10 機器視覺實戰演練 - CNN (Convolutional Neural Network)
10.1 卷積神經網路 (CNN)
10.2 池化層 (Pooling Layer)
10.3 CNN 實作範例 (用 tf.Keras 重現 LeNet-5 經典架構)
10.4 進階的 CNN 技術 (用 tf.Keras 重現 AlexNet 與 VGGNet 架構)
10.5 殘差神經網路 (Residual Network)
10.6 機器視覺的各種應用
10.7 總結
Ch11 自然語言處理實戰演練 (一):資料預處理、建立詞向量空間
11.1 自然語言資料的預處理
11.2 用 word2vec 建立詞向量空間
11.3 總結
Ch12 自然語言處理實戰演練 (二):用密集神經網路、CNN 建立 NLP 模型
12.1 前置作業
12.2 進行簡單的資料預處理
12.3 用密集神經網路區分正評、負評
12.4 用 CNN 模型區分正評、負評
12.5 總結
Ch13 自然語言處理實戰演練 (三):RNN 循環神經網路
13.1 RNN 循環神經網路
13.2 LSTM (長短期記憶神經網路)
13.3 雙向 LSTM (Bi-LSTMs)
13.4 以「函數式 API」建構非序列式 NLP 模型
13.5 總結
Ch14 藝術生成實戰演練 - GAN (Generative Adversarial Network)
14.1 GAN 的基本概念
14.2 《限時塗鴉!》資料集
14.3 建構鑑別器 (Discriminator) 神經網路
14.4 建構生成器 (Generator) 神經網路
14.5 結合生成器與鑑別器, 建構對抗式生成網路
14.6 訓練 GAN
14.7 總結
Ch15 遊戲對局實戰演練 - DRL (Deep Reinforcement Learning)、DQN (Deep Q Network)
15.1 強化式學習 (Reinforcement Learning) 的基本概念
15.2 DQN 的基本概念
15.3 建構 DQN 代理人
15.4 與 OpenAI Gym 環境互動
15.5 DQN 以外的代理人訓練方式
15.6 總結
Part04 AI 與你
Ch16 打造自己的深度學習專案
16.1 探索方向
16.2 晉升更高階的專案
16.3 模型建構流程建議
16.4 軟體 2.0 (Software 2.0)
16.5 通用人工智慧 (AGI) 的進展
16.6 總結
附錄 A 使用 Google 的 Colab 雲端開發環境