本文內容將著重分析當前gan原理及其應用場景,比對其相對於傳統深度學習方法在影象生成等方面的區別
原始gan**中的思想為生成模型與判別模型間的零和博弈,通過對抗式的訓練,
生成模型g捕捉樣本資料的資料分布,判別模型則是乙個二分類模型
,估計乙個樣本來自訓練資料(而非生成資料)的概率。g和d一般都是非線性對映函式,如
多層感知器(樸素gan)/卷積神經網(dcgan)
等。 訓練過程中gan網路中的生成器模型g的目標就是生成看上去盡量真實的資料去欺騙判別器d,而d作為乙個二分類模型,目標為判斷輸入的資料是否「真實」,對於其認為的」真實「的資料輸出值會盡量接近1,反之資料逼近於0,代表認為不可能是真實,由此形成一種動態博弈過程。博弈的理想結果為,在判別器已經很強大的情況下,仍然無法分辨來自生成器模型的資料是否是真實的,即此時的d(g(z))=0.5.此時便得到了訓練結果:生成模型g,
輸入相應的量便能根據g捕獲的資料分布實現相應資料的生成。
2.1gan框架有著很多的
優點:
①
gan能訓練任何一種生成器網路,不需要設計遵循任何種類的因式分解模型;
②
任意的生成網路(g)和鑑別網路(d)都會有用(只要網路可微分),gan只需要反向傳播而不需要利用馬爾科夫鏈反覆取樣(
傳統生成模型必備);
③
通過引入內部對抗訓練機制,無需在學習過程中進行推斷,迴避了近似棘手的概率問題,可以逼近一些不是很容易計算的目標函式
④生成器模型g的引數更新不來自於資料樣本本身(不是對資料的似然性進行優化),而是來自模型d的乙個反傳梯度)
2.2gan框架的主要
缺點:
①可解釋性差,生成模型最終捕獲的資料分布pg(d)沒有顯示的表達,只是乙個黑盒子一樣的對映函式,輸入是乙個隨機變數,輸出是需要的資料分布。
②
網路在訓練過程中
很難收斂
,由於要平衡兩個模型g和d的最優化,因此很容易陷入區域性最優導致模型崩潰。
三、gan應用
目前gan主要的應用方向有
:影象增強
,影象變換
,影象生成
,核心技術仍然是利用gan對訓練
資料分布的捕獲能力
,如超解析度影象的資料分布特點、語義分割圖的資料分布特點,彩色的資料分布特點、藝術風格的資料分布特點等。
資料分布的捕獲結果體現在生成模型g內。
總結:以上應用都是利用了gan對目標資料的資料分布特點捕獲的能力
(個人認為也是gan能實現資料生成最強大的地方)
四、傳統cnn實現藝術風格轉換 vs gan框架實現藝術風格轉換
4.1 a neural algorithm of artistic style
最早使用深度學習中的cnn框架進行藝術風格轉換,利用cnn中逐級的
卷積層
實現對style風格圖和content底圖的
區域性/全域性紋理特徵進行提取
,再利用設計好的損失函式進行全域性優化,調整雜訊圖內容使得其在vgg網路對應卷積層的特徵輸出同時逼近藝術風格圖和內容圖。每進行一次反向傳播,都使得原雜訊圖得到微調,逐步逼近最終的效果圖。
其主要的
缺點
無法滿足實時性
優點
在於,藝術風格的遷移訓練
僅僅需要兩張
,不需要海量的資料。
4.2 perceptual losses for real-time style transfer and super-resolution
基於gan框架的前向藝術風格生成模型:將傳統的
求解全域性最優解問題轉換成用前向網路逼近最優解,原版的方法每次要將一幅內容圖進行風格轉換,就要進行不斷的迭代,而這篇的方法是先將其進行訓練,訓練得到
前向生成網路
,以後再來一張內容圖,直接輸入到網路中,即得到了具有預先訓練的風格內容圖。
這種基於gan的無監督學習訓練方法,只需要一張對應的風格圖及一批不同內容的content圖,充分利用了離線訓練的情況下海量的無標籤資料,通過生成式對抗網路對資料分布的捕獲能力,獲取藝術風格紋理分布特點。
五、gan框架運用思路整理及疑問
結合gan框架對於任意生成網路與判別網路的相容性,以及零和博弈這種對抗式訓練模式對於目標資料分布的捕獲能力,
gan框架適用於針對資料的生成與轉換
,通過零和博弈獲取人工設計困難的轉換關係(如模糊影象轉高畫質影象,按照傳統方法,高頻分量丟失造成的資訊缺失是很難恢復,但gan通過捕獲高畫質影象的資料分布特點,實現了轉換關係的設計)。
而從訓練資料**的角度:針對樸素gan,僅更改訓練樣本能實現對任意圖資料的生成模型訓練,且由於無監督學習的特點,資料**豐富。而通過在訓練過程中隱含層
引入一定的標籤資訊
,如影象中的位置資訊,得到的模型將 能根據輸入資料資訊,實現
更細化的資料生成
,如影象翻譯,文字->影象等。
因此,針對gan的特點,目前已有的思路還是較為集中在其對資料分布特點的捕捉能力上,能否由此發散,考慮其他影象增強和影象變換方面的運用?用於特點環境下的影象資料簡化(如去霧)或者特定影象增強(如普通影象轉熱成像),由此方便機器判斷或者個人體驗?
並查集 筆記與思路整理
算是非常基礎的內容了,之前寫到kruskal的時候突然想起還沒整理過。其實就想存個板子 並查集是一種樹型的資料結構,用於處理一些集合 只能是不交集 感性理解 一下就是把一堆東西分成若干堆,每個東西都在且僅在其中一堆裡。具體實現的話利用乙個father陣列,指向該元素的父親節點。初始時所有元素的fat...
專案研究 自動安裝並配置ODBC的思路與實現
一 如何自動註冊odbc資料來源 其實都是用到乙個函式 sqlconfigdatasource。這裡舉兩個有代表性的例子 自動註冊foxpro資料來源 bool bobdc sqlconfigdatasource null,odbc add dsn,microsoft visual foxpro d...
STL綜合例項 打分系統(一)思路與框架
學校要舉行一場演講比賽,共有24個人參加,按參加順序設定參賽號。比賽共三輪,前兩輪為淘汰賽,第三輪為決賽。第一輪分為4個小組,根據參賽號順序依次劃分,比如100 105為一組,106 111為第二組,依次類推,每組6個人,每人分別按參賽號順序演講。當小組演講完後,淘汰組內排名最後的三個選手,然後繼續...