讀GAN文章

1.直接丟上算法細節

  • 包括生成器G 和 判別器D
  • 首先訓練D(紅色框部分),D來判別一個數據是真實數據的概率,值越大,說明D的輸入X爲真實數據的概率越大。對於D來說,有兩個輸入,
    • 真實數據樣本,即算法中提到的x(1),x(2),...
    • G生成的數據,即算法中提到的z(1),z(2)
    • 那麼D就需要使得D(x)越大越好; 使得D(G(z))越小越好,1-D(G(z)) 越大越好,所以採用了梯度上升的方法去更新D的參數
  • 再者訓練G(藍色框部分),當D固定的時候,G生成的數據需要騙過D,騙這個動作很重要,所以要使得生成的數據儘量逼近真實的,所以要使得D(G(z))越大,那麼1-D(G(z))越小越好
  • 試驗中,k設置爲1,採用SGD

 

2.G的分佈全局最優

  • ,這個比較好理解,生成的數據跟從真實數據分佈中抽出的數據一模一樣是最好的。
  • 從公式上進行推導,首先,固定G,最大化D

 這個公司對D(x) 進行求導,就可以得到D的最優解

然後把這個最優解,代入目標函數,得到

我們要找到一個G,使得 minC(G),當的時候取到,實際上,上面的式子自己手動推導下可以轉換爲:

     

                                                                                                                                                                                                                                                                                                                               而JSD 是非負的,所以C(G) 最小值的是-log4,當    的時候。                                                                                                                                                                       

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章