Conditional Generative Adversarial Nets
今天細說一下什麼何謂GAN、在此不得不提這號人物、楊立昆、他說了GAN是未來10年耶最好玩的事情、其原文如下:“The most interesting idea in the last 10 years in Machine Learning"。GAN有兩個主件組合而成:分別是生成器(Generato)r和鑑別器(Discriminator)
生成器G需要捕獲數據分佈丶判別器D估計樣本的概率來自訓練數據而不是G。
讓我想起一部有名的電影、其中文名叫神鬼交鋒是一部於2002年上映的美國傳記犯罪電影、為史蒂芬·史匹柏執導、傑夫·納桑森編劇、李奧納多·狄卡皮歐、湯姆·漢克斯、克里斯多福·沃肯及馬丁·辛主演。劇情根據1960年代著名詐欺犯法蘭克·威廉·艾巴內爾二世的同名自傳改編少年詐欺犯法蘭克·艾巴內爾(Frank Abagnale,李奧納多·狄卡皮歐飾)在1963年至1967年間,以多種不同方式共騙得400萬美元。他在中學時曾冒充代課老師上法語課、成功瞞騙同學和校方一週。當時法蘭克的家庭陷入破產危機、並遭國稅局「追殺」。法蘭克為了挽救家庭、鋌而走險、先後扮民航機飛行員、醫生、律師、又利用支票系統的漏洞偽造多張支票並成功入帳。
GAN其模型圖如下圖:
上面的模型圖是一個最基本的GAN的方塊圖、可以看出GAN中有二個Neural Network需要去Training、接下來我就來介紹Discriminator跟Generator這二個神經網路應該要怎麼去訓練。
Discriminator (鑑別器)
鑑別器網路簡單一點說明的就是、是一個Neural Network可以分辨偽造出來的圖跟真實的圖沒錯,就是很直觀的,我們把Generator出來的圖標記為0(fake image),然後把真實的圖標記為1,這樣的training data 丟進我們的Discriminator Network做訓練,這就是每一次Discriminator訓練的步驟了,接下來我們來看Generator怎麼做,然後再把二個連結再一起。
Generator Network (生成器網路)
生成器網路的概念也很簡單,就是要訓練出一個Neural Network可以讓Discriminator分辨出來的結果越接近真實(1)的結果越好,我畫了以下的圖來理解生成器網路的訓練方式。
沒錯,就是很直觀的,我們把Generator出來的圖標記為0(fake image),然後把真實的圖標記為1,這樣的training data 丟進我們的Discriminator Network做訓練,這就是每一次Discriminator訓練的步驟了,接下來我們來看Generator怎麼做,然後再把二個連結再一起。
Generator Network (生成器網路)
生成器網路的概念也很簡單,就是要訓練出一個Neural Network可以讓Discriminator分辨出來的結果越接近真實(1)的結果越好,我畫了以下的圖來理解生成器網路的訓練方式。
沒有留言:
張貼留言