實戰GAN:TensorFlow與Keras生成對抗網絡構建 ( 簡體 字) |
作者:劉夢馨 | 類別:1. -> 程式設計 -> 機器學習 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 51967 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:10/1/2019 |
頁數:224 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121374098 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:譯者序
生成對抗網絡(GAN)是現在深度學習領域最為火熱的一個分支,在這個領域里每天都會有新的內容出現。和傳統的監督式機器學習不同,生成對抗網絡創造性地結合了監督式機器學習和無監督式機器學習的方法,自動從原數據中學習特征和分布,并生成令人驚嘆的結果。學習畫家的創作風格進行繪畫,從2D圖片生成3D模型,對圖片進行風格轉換……通過生成對抗網絡,我們能夠完成這類之前被認為只有人類才能完成的任務,機器學習第一次具有了創造性。
然而生成對抗網絡架構本身十分復雜,調優也很困難,并且存在多個變種,通常很難找到能夠快速上手的代碼。這些門檻都阻擋在生成對抗網絡的愛好者和相關從業人員面前。本書通過多個生成對抗網絡架構的實現來幫助讀者更好地理解生成對抗網絡背后的原理及其使用方法。書中提供了大量易于上手的代碼片段,可以幫助讀者快速搭建起自己的生成對抗網絡模型,并在工作中進行應用。本書的作者Josh Kalin在機器學習領域有著多年的工作經驗,相信他的寶貴經驗能夠給讀者帶來不少收獲。
希望生成對抗網絡能夠成為讀者工作中最重要的“武器”!
序言
開發生成對抗網絡(Generative Adversarial Network,GAN)是一項十分復雜的任務,通常也很難找到很容易就能夠理解的相關代碼。本書將通過多個不同的GAN實現樣例,包括CycleGAN、SimGAN、DCGAN以及使用到GAN的模仿學習來幫助你了解GAN。本書的各章采用了統一的編排結構,使用Python和Keras,幫助你以一種易于理解的方式由淺入深地來了解GAN的架構。
本書覆蓋了多個不同類型的GAN架構來幫助你更好地理解模型的工作原理。你將會學習如何執行諸如生成超解析圖像、文字到圖像的轉換,以及生成帶字幕視頻等任務的關鍵操作步驟。此外,你還會用到DCGAN和deepGAN。為了幫助你在復雜的工作場景下更好地應用這些技術,本書將會使用多個真實世界中的數據集作為示例。
在本書的最后,通過這些易于理解的代碼方案,你應該可以應對工作中和GAN模型相關的問題和挑戰,并能快速地上手實現自己的GAN模型。
本書的目標讀者
本書的目標讀者是數據科學家、機器學習(Machine Learning,ML)開發者,以及需要一個處理GAN領域問題和任務快速索引的深度學習從業者。熟悉機器領域中的相關概念以及工作中使用Python的經驗會幫助你更好地理解本書內容。
本書內容
第1章介紹GAN的架構并介紹每一種實現。
第2章處理與數據相關的基礎工作、數據強化,以及對有大量離群數據的數據集進行平衡。
第3章介紹如何通過Keras、TensorFlow和Docker將我們已經討論過的理論進行具體應用,并制作一個簡單的GAN模型。
第4章介紹構建深度卷積生成對抗網絡(Deep Convolutional Generative Adversarial Network,DCGAN)所需的構建塊。
第5章介紹Pix2Pix的工作流程及其實現。
第6章介紹CycleGAN是什么,如何解析CycleGAN數據集,以及如何實現CycleGAN。
第7章介紹SimGAN的工作原理及其實現。
第8章介紹3D模型以及使用圖片實現3D模型的技術。
預備知識
熟悉Python的相關基礎知識是閱讀本書的必備條件,了解機器學習的相關概念會幫助你更好地理解本書內容。 |
內容簡介:本書通過多個不同的生成對抗網絡(GAN)架構的實現來幫助讀者更好地理解生成對抗網絡背后的原理及其構建方式。書中還提供了大量易于理解并可以直接使用的GAN代碼及其部署方式和數據集,以幫助讀者更快地上手解決工作中所面臨的問題并積極應對相關挑戰。本書適合數據科學家、算法工程師、數據挖掘工程師以及機器學習領域相關的從業人員用來學習使用全新的深度學習技術解決工作中的問題,也適合機器學習和深度學習的愛好者、初學者用來體驗深度學習的魅力。 |
目錄:序言 1
第1章 什么是生成對抗網絡 7
簡介 7
生成模型和判別模型 8
工作流程 8
工作原理 9
神經網絡的“愛情故事” 10
工作流程 10
工作原理 11
深度神經網絡 11
工作流程 11
工作原理 12
架構基礎 13
工作流程 13
工作原理 14
基本構建塊——生成器 15
工作流程 15
工作原理 15
基本構建塊——判別器 16
工作流程 16
工作原理 17
基本構建塊——損失函數 18
工作流程 18
工作原理 18
訓練 20
工作流程 20
工作原理 20
以不同方式組織GAN 20
工作流程 21
工作原理 21
GAN的輸出是什么 22
工作流程 22
工作原理 22
理解GAN架構的優點 24
工作流程 24
工作原理 25
練習 25
第2章 數據優先、環境和數據準備 27
簡介 27
數據是否如此重要 27
準備工作 28
工作流程 28
工作原理 29
更多內容 29
搭建開發環境 29
準備工作 30
工作流程 30
更多內容 35
數據類型 35
準備工作 36
工作流程 36
工作原理 38
更多內容 40
數據預處理 41
準備工作 41
工作流程 41
工作原理 42
更多內容 45
異常數據 46
準備工作 46
工作流程 46
更多內容 49
平衡數據 49
準備工作 49
工作流程 49
更多內容 53
數據強化 54
準備工作 54
工作流程 55
工作原理 56
更多內容 57
練習 58
第3章 用100行代碼實現第一個GAN 59
簡介 59
從理論到實踐——一個簡單例子 59
準備工作 60
工作流程 60
參考內容 62
使用Keras和TensorFlow構建神經網絡 62
準備工作 63
工作流程 63
參考內容 66
解釋你的第一個GAN組件——判別器 66
準備工作 67
工作流程 67
解釋你的第二個GAN組件——生成器 71
準備工作 71
工作流程 71
組合GAN組件 75
準備工作 76
工作流程 76
訓練你的第一個GAN 78
準備工作 78
工作流程 78
訓練模型并理解GAN的輸出 84
準備工作 84
工作流程 84
工作原理 86
練習 87
第4章 使用DCGAN創造新的室外結構 89
簡介 89
什么是DCGAN?一個簡單的偽代碼樣例 89
準備工作 90
工作流程 90
參考內容 93
工具——是否需要特殊的工具 93
準備工作 93
工作流程 94
更多內容 97
參考內容 97
解析數據——數據是否獨特 97
準備工作 97
工作流程 98
代碼實現——生成器 100
準備工作 100
工作流程 100
參考內容 103
代碼實現——判別器 103
準備工作 104
工作流程 104
參考內容 107
訓練 107
準備工作 107
工作流程 107
評估——如何判斷它是否有效 114
準備工作 115
工作原理 115
調整參數優化性能 116
工作流程 116
練習 118
第5章 Pix2Pix圖像轉換 119
簡介 119
使用偽代碼介紹Pix2Pix 119
準備工作 120
工作流程 120
數據集解析 122
準備工作 122
工作流程 123
代碼實現——生成器 124
準備工作 124
工作流程 125
代碼實現——GAN 127
準備工作 127
工作流程 128
代碼實現——判別器 129
準備工作 129
工作流程 129
訓練 131
準備工作 131
工作流程 132
練習 139
第6章 使用CycleGAN進行圖像風格轉換 141
簡介 141
偽代碼——工作原理 141
準備工作 142
工作流程 142
解析CycleGAN數據集 144
準備工作 144
工作流程 145
代碼實現——生成器 147
準備工作 147
工作流程 148
代碼實現——判別器 150
準備工作 150
工作流程 151
代碼實現——GAN 153
準備工作 153
工作流程 154
訓練 155
準備工作 155
工作流程 156
練習 162
第7章 利用SimGAN使用模擬圖像制作具有真實感的眼球圖片 163
簡介 163
SimGAN架構的工作原理 163
準備工作 164
工作流程 164
偽代碼——工作原理 165
準備工作 165
工作流程 165
如何使用訓練數據 166
準備工作 166
工作流程 166
代碼實現——損失函數 169
準備工作 169
工作流程 169
代碼實現——生成器 170
準備工作 170
工作流程 171
代碼實現——判別器 173
準備工作 173
工作流程 174
代碼實現——GAN 176
準備工作 176
工作流程 177
訓練SimGAN 178
準備工作 178
工作流程 179
練習 183
第8章 使用GAN從圖像生成3D模型 185
簡介 185
使用GAN生成3D模型 185
準備工作 186
工作流程 186
環境準備 188
準備工作 189
工作流程 189
對2D數據進行編碼并匹配3D對象 190
準備工作 191
工作流程 191
代碼實現——生成器 193
準備工作 193
工作流程 194
代碼實現——判別器 196
準備工作 196
工作流程 197
代碼實現——GAN 199
準備工作 199
工作流程 199
訓練模型 200
準備工作 201
工作流程 201
練習 208 |
序: |