最近在準備畢業設計的開題,基本確定了gan這個大方向,接下來一年計劃用部落格記錄一下gan的學習歷程吧。今天先記錄一下對於gan的一些個人理解。
gan的全稱叫生成對抗網路,主要用於生成與真實樣本相似的樣本。gan包含了兩個模組,乙個是用於生成樣本的生成網路generative,另乙個是用來判別樣本是否來自真實樣本集的判別網路discriminative。在訓練過程中,把生成網路生成的樣本和真實樣本集中的部分樣本一起放進判別網路中,判別網路給出每個樣本屬於真實資料集的概率(相當於乙個二分類器),根據概率計算出乙個簡單的損失函式,通過反向傳播更新生成網路和判別網路,生成網路的目標是盡可能的讓生成樣本的真實資料概率提高,而判別網路則正好相反。所以gan的訓練過程就像造假和打假的對抗,造假能力越來越強,打假能力也越來越強。
對於具體的數學原理,我也講不通,畢竟不是讀數學專業的,什麼不需要馬爾科夫鏈我也不懂。對於gan的優勢,我有個人的一些理解。對於機器學習,深度學習學習來說,損失函式都扮演乙個極其關鍵的角色,損失函式引導著網路的訓練方向,對於一般的生成網路,損失函式可能是與原圖的畫素mse,但是這樣人為的定義乙個損失函式一定會是最好的損失函式嗎?肯定不是,深度學習之所以火了起來就是因為不再人為的選擇特徵,因為人為選擇的特徵不一定合適,也不一定完整,在影象分類上,深度學習使得準確率有了極大的飛躍。那麼同樣,利用人為定義的損失函式不一定能很好的生成樣本,在gan中,看著損失函式是簡單的二分類損失,但不妨把discriminative網路看成乙個可訓練的損失函式,因為在訓練過程中,判別網路其實引導著生成網路的訓練方向,判別網路的作用是區分真實和虛假的樣本,所以生成網路能根據判別網路所提取的特徵來優化生成引數,使得生成的樣本更接近真實樣本。
以上只是本人對gan的一些理解,有不正確的歡迎指出。
GAN入門介紹
生成對抗網咯 gan 是一類在無監督學習中使用的神經網路,其有助於解決按文字生成影象 提高解析度 藥物匹配 檢索特定模式的等任務。生成對抗網路由lan goodfellow 於2014年提出,最近幾年非常熱門,但是由於其存在訓練困難 生成器與判別器的loss無法指示訓練程序 生成樣本缺乏多樣性等問題...
GAN網路之入門教程(二)之GAN原理
在一篇部落格gan網路從入門教程 一 之gan網路介紹中,簡單的對gan網路進行了一些介紹,介紹了其是什麼,然後大概的流程是什麼。在這篇部落格中,主要是介紹其數學公式,以及其演算法流程。當然數學公式只是簡單的介紹,並不會設計很複雜的公式推導。如果想詳細的了解gan網路的原理,推薦去看李巨集毅老師的課...
從GAN 到 ALICE 的簡單介紹
gan gan由乙個判別器和乙個生成器組成,gan的目標是訓練乙個生成器來獲取資料的分布。判別器的訓練目標是在真實樣本和生成器生成的假樣本裡識別出真實樣本,生成器的訓練目標是盡可能地讓判別器識別錯誤,所以gan的整體目標函式是對交叉熵損失函式進行minmax優化。gan的具體實現是在每次迭代裡同時對...