章節說明:第1章|認識進階深度學習與Keras
介紹了深度學習領域的重要觀念,例如最佳化、正規化、損失函數、常用的網路與層以及如何用Keras來實作。本章也使用了Sequential API複習了深度學習與Keras。
第2章|深度神經網路
介紹Keras的Functional API,並使用這個API來在Keras中驗證並實作兩款常用的深度網路架構:ResNet與 DenseNet。
第3章|自動編碼器
介紹自動編碼器這個常見的網路架構,可用來找出輸入資料中潛在表示。本章使用Keras來討論並實作了自動編碼器的兩種應用:降噪與上色。
第4章|生成對抗網路GAN
介紹了當前深度學習領域最重要的進展。GAN可用於生成全新的合成資料,看起來和真的一樣。本章介紹了GAN的基本原理,並使用Keras來實作了兩種GAN:DCGAN與CGAN。
第5章|各種改良版GAN
介紹用於改良基礎GAN的各種演算法。這些演算法解決了訓練GAN時的難點,並提升了合成資料的品質。本章介紹了WGAN、LSGAN與ACGAN,並用Keras來實作。
第6章|抽離語義特徵GAN
討論了如何控制GAN所產生之合成資料的各種屬性。在抽離了潛在特徵之後,就可以控制所要的屬性了。本章介紹了兩種抽離語義特徵技術:InfoGAN與StackedGAN,並用Keras來實作。
第7章|跨域GAN
介紹GAN的一項實務應用:將某個領域的影像轉譯到另一個領域,也就是俗稱的跨域轉換。本章一樣使用Keras來討論並實作了CycleGAN這款廣泛運用的跨域GAN,另外也示範了如何使用CycleGAN來進行上色與風格轉換。
第8章|變分自動編碼器
類似於GAN,VAE也是一款能夠產生合成資料的生成模型。但又有點不一樣,VAE專攻可解碼的連續型潛在空間,適合用於進行變分推論。本章也介紹並用Keras實作了VAE與其變形款:CVAE and β -VAE。
第9章|深度強化學習
介紹強化學習與Q學習的運作原理,說明了兩種在離散型動作空間中實作Q-學習的技術:Q表更新與深度Q網路(DQN)。接著,使用Python來實作Q-學習以及用Keras來實作DQN,兩者都是在OpenAI gym環境中來完成。
第10章|策略梯度方法
說明如何讓神經網路學會強化學習中的決策策略。本章介紹並用Keras與OpenAI gym環境實做了四種方法:REINFORCE法、具基準的REINFORCE法、動作-評價法與優勢動作-評價法(A2C)。本章的範例說明了如何在連續型動作空間中執行策略梯度方法。