tensorflow 試gan記錄

參考tricks:

  1. keep calm and train GAN
  2. gan tricks
  3. 外國友人調DCGAN
  4. 為什么gan生成的圖片模糊的討論
  5. 為什么gan生成的圖片模糊2
  6. How can GANs be evaluated?
  7. https://towardsdatascience.com/mangagan-8362f06b9625

github 上一些參考repo
https://github.com/pavitrakumar78/Anime-Face-GAN-Keras

首先是看了李宏毅老師的課程,然后嘗試著做作業(yè)膜毁,用tensorflow來做,記錄一些坑灾票。代碼在github
一開始就是嘗試最原始的gan,loss也是用的最原始的loss來訓練。

  1. 訓練的時候可能會出現(xiàn)判別器loss快速降到0狮鸭,而生成器loss不斷上升的現(xiàn)象胡本,這樣的情況github上有人對此進行過討論:
  2. 對所有discriminator的輸入加上一個高斯白噪聲北苟,instance noise
  3. 用soft label
  4. 我嘗試的方法是打瘪,在每次訓練迭代中計算生成器loss和判別器loss的差值友鼻,如果判別器loss大于生成器一定閾值以上,就訓練判別器闺骚,其他情況訓練生成器彩扔。這樣是能夠比較好的工作的。
    '''
    '''
  5. 訓練過程中僻爽,生成器生成的圖片顯示會慢慢接近真實圖片虫碉,但隨著訓練的進行,慢慢又變成了隨機噪聲胸梆。


    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    image.png

    可能是因為我在discriminator中加了上面說的高斯白噪聲敦捧。這個噪聲的標準差應該隨著訓練而減小才對。嘗試過碰镜,這樣是有效的兢卵。通過觀察每次訓練迭代過程判別器對真實圖片和生成圖片的打分可以看到,到了訓練后期绪颖,判別器對于真實圖片的打分都到了0.8以下秽荤,這可能是后期生成器無法學習到真實分布的原因。因此在每次迭代中柠横,訓練判別器的條件不僅當判別器loss大于生成器loss超過某個閾值時窃款,還加上當判別器對真實圖片打分低于某個數(shù)值的時候。這樣一來牍氛,生成器生成的圖片就趨于收斂了晨继。這種情況下,


    image.png
scheme_index = ii//1000 if ii < 10000 else -1
if train_d:
  real_score,fake_score,_,dLoss,gLoss = sess.run([m_real_score,m_fake_score,d_trainer,d_loss,g_loss],
                feed_dict={real_image:rib, inptG:nb,
  gn_stddev:stddev_scheme[scheme_index], training:True})
else:
  real_score,fake_score,_,dLoss,gLoss = sess.run([m_real_score,m_fake_score,g_trainer,d_loss,g_loss],
                feed_dict={real_image:rib, inptG:nb,
  gn_stddev:stddev_scheme[scheme_index], training:True})
if dLoss-gLoss > switch_threshold or real_score < real_score_threshold: 
  train_d = True
else: train_d = False
  1. 記錄一下搬俊,當我想把生成器的channel數(shù)改大的時候紊扬,發(fā)現(xiàn)loss值會變成nan曲饱,應該是過大的值。珠月。還不清楚怎么回事扩淀,調小一點就沒事,
    image.png

由于最終的結果還不是特別好啤挎,嘗試用優(yōu)化的GAN驻谆,如WGAN,這里有個參考實現(xiàn)庆聘,理論也有很多參考

  1. WGAN->


    image.png
  2. WGAN-GP->
    image.png

    image.png

    image.png

稍微好一些胜臊,作用不是特別明顯,到目前為止作用最大的還是instance noise伙判。還沒有嘗試soft label象对,之后試試,不過由于改成了WGAN宴抚,實際上已經(jīng)不存在label一說了勒魔,所以soft label不知道怎么加上。


發(fā)現(xiàn)之前的網(wǎng)絡結構有一些問題:

  1. 在Generator的輸入dense層后面需要加激活
  2. bn置于激活層前面
  3. 使用lrelu代替relu
  4. 使用更多的channel
  5. 交替訓練的各自次數(shù)1:1(發(fā)現(xiàn)generator的loss往往更高)
    更改之后:3e0a9d2..0e77ea5效果如下
    image.png

    image.png

    image.png

由于生成的圖片里有很多缺陷(artifact)菇曲,所以就查了很多相關資料冠绢,其中參考4和5都是關于這個的。


在訓練到一定程度的時候常潮,換成沒有加noise的輸入繼續(xù)訓練弟胀,并且調整學習率更小,這樣效果還行喊式,關鍵是細節(jié)多了很多孵户。(20190102-160705)(25af0e)



image.png

但是總是會出現(xiàn)壞點,于是就去查了原始數(shù)據(jù)集岔留,發(fā)現(xiàn)數(shù)據(jù)集里邊本身就含有很多有問題的數(shù)據(jù), 包括根本不是頭像的,奇怪的頭像的以及全身的圖像.占比大概在1/20左右,應該挺影響的.我一張一張的剔除了.重新訓練看看(3210591)夏哭,訓練大概20000次左右,效果一般贸诚,然后換0.0001學習率和1:1學習方庭,batchsize從64調到32,繼續(xù)訓練(5dd7b5d酱固,20190106-090041)


image.png

image.png

image.png

image.png

image.png

由于G_loss總是比較大,所以想著把一次更新中的D和G的更新次數(shù)設置為1:5看看头朱,結果好像生成的圖片有點崩壞啊运悲,而且loss也并沒有明顯的下降∠钆ィ可能問題還是數(shù)據(jù)集太diverse了:


image.png

image.png

還是換回了5:5訓練班眯,把lr值進一步縮小到5e-5:(20190108-094801)



image.png

感覺還是就這屎一樣的效果希停。要崩潰了!J鸢宠能!

重新訓練scratch,187af22(20190109-090711)調整了G的最后一層



打算改小lr進行fine tune磁餐,不過這個數(shù)據(jù)集這個網(wǎng)絡违崇,估計也就能train成這樣了。除非把數(shù)據(jù)集進一步優(yōu)化诊霹,把優(yōu)質的圖片篩出來


image.png

image.png

image.png

其實能生成這個質量的圖片我已經(jīng)滿足了

image.png

image.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末羞延,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子脾还,更是在濱河造成了極大的恐慌伴箩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鄙漏,死亡現(xiàn)場離奇詭異嗤谚,居然都是意外死亡,警方通過查閱死者的電腦和手機怔蚌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門呵恢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人媚创,你說我怎么就攤上這事渗钉。” “怎么了钞钙?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵鳄橘,是天一觀的道長。 經(jīng)常有香客問我芒炼,道長瘫怜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任本刽,我火速辦了婚禮鲸湃,結果婚禮上,老公的妹妹穿的比我還像新娘子寓。我一直安慰自己暗挑,他們只是感情好,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布斜友。 她就那樣靜靜地躺著炸裆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲜屏。 梳的紋絲不亂的頭發(fā)上烹看,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天国拇,我揣著相機與錄音,去河邊找鬼惯殊。 笑死酱吝,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的土思。 我是一名探鬼主播务热,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浪漠!你這毒婦竟也來了陕习?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤址愿,失蹤者是張志新(化名)和其女友劉穎该镣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體响谓,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡损合,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了娘纷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫁审。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赖晶,靈堂內(nèi)的尸體忽然破棺而出律适,到底是詐尸還是另有隱情,我是刑警寧澤遏插,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布捂贿,位于F島的核電站,受9級特大地震影響胳嘲,放射性物質發(fā)生泄漏厂僧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一了牛、第九天 我趴在偏房一處隱蔽的房頂上張望颜屠。 院中可真熱鬧,春花似錦鹰祸、人聲如沸甫窟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蕴坪。三九已至,卻和暖如春敬锐,著一層夾襖步出監(jiān)牢的瞬間背传,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工台夺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留径玖,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓颤介,卻偏偏與公主長得像梳星,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子滚朵,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容