「人工智慧 +1」自學 Day8:「生成式對抗網路GANs」(Generative Adversarial Networks)
(**非常有趣的概念!)
▷概念:什麼是 GANs?
▪︎ 定義
GANs 本質上就是一個由兩個神經網路模型「生成器(Generator)」與「判別器(Discriminator)」所組成的對抗式訓練框架。
GANs 的概念是 AI 科學家Ian Goodfellow 於 2014 年的論文提出的。
當時,生成模型(Generative Models)與判別模型(Discriminative model)**這兩種神經網路模型都已經存在,但相較於判別模型的傑出表現&大量落地實際應用(ex郵件過濾、情緒分析、網站內容屬性分類..etc.),生成模型的表現十分平庸。
Goodfellow 於是提出將生成模型與判別模型組合為一個架構,透過兩個模型的相互競爭,藉此激化生成模型的進步。這個「對抗式」框架最創新之處就在於,它創造了一種「讓神經網路模型『彼此相互學習』的訓練模式」。
(**註:「生成模型/Generative Models」與「判別模型/Discriminative model」接下來統一使用「生成器/Generator」與「判別器/Discriminator」指稱。)
▪︎ 目的
所以從GANs 的誕生來看,可知作為一個「對抗式」訓練框架,GANs 最初目的是要提升生成器的能力。
而在落實應用之後,實際的效應卻是1+1大於2。生成器與判別器藉由互相競爭與學習的訓練過程,都得到了卓越的進步。而這是它們個別單一無法達到的訓練效果**。
(**註:判別器也許可以,如前述,判別器其實已有相當亮眼的應用成果,但生成器確實是經由 GANs 才得以得到飛躍的成長。)
▷構成元件
GANs 的構成,即「生成器」與「判別器」,還有訓練用的真實數據集。
▪︎ 判別器(Discriminator)
只專注於辨識的神經網路(NN)模型,訓練方式是機器學習(ML)「監督式學習」。任務是「分類」或「辨識」。這是一個相對簡單且明確的任務,尤其是在神經網路的深度學習(DL)基礎上,以監督式學習的訓練,成果斐然是可預見的結果。
▪︎ 生成器(Generator)
只專注於創造的神經網路(NN)模型,訓練方式是機器學習(ML)「非監督式學習」**。任務是「創造全新」的數據內容。相較於判別器的任務,這是一個更為困難且抽象的任務。在 GANs 出現之前,生成器的產出內容通常模糊、不自然,難以與真實數據相比。
(**註:此處所說的訓練方式,是指在GANs出現之前,訓練生成器的訓練方式都還是以「非監督式學習」為主,也所以很難有所突破。)
▪︎ 真實數據集
用以訓練的真實數據集合,直接協助判別器提升對真實數據的敏銳度,間接幫助生成器促進擬真生成能力。
▷運作方式
GANs 基本上就像是生成器與判別器這兩個神經網路模型的競爭較量。
生成器不斷地生成出以假亂真的新內容(數據),再讓判別器不斷地嘗試區分辨識,哪些是來自真實數據的「真的內容」,哪些內容是由生成器創造的「假的內容」。
▪︎ 運作流程
-Step1:生成器創造一個假的內容(數據),交給判別器
-Step2:
判別器將對生成器的內容(數據)進行判斷
(a)輸入:判別器收到兩組數據:真實內容(數據),生成器的內容(數據)
(b)評分:判別器要分別對這兩組數據評分
(c)目標:判別器的目標是,給真實數據的評分趨近於 1,給生成器數據的評分趨近於 0
(d)結果:
1.透過判別器的評分可得知生成器數據的問題所在,並回應給生成器
2.透過判別器的評分與(c)目標的誤差,則可得出判別器需再改進之處,進行自我修正
-Step3:
在重複回合下,生成器與判別器都不斷地根據每次結果調整優化。生成器所生成的內容(數據)將越發趨於真實,以騙過判別器,而判別器也會越來越擅長於識破生成器。
-END(終局):
整個流程直到生成器所生成的內容(數據),已經連判別器都幾乎無法分辨真偽**,這時就已經是達成這個 GANs的訓練目標: 一個優秀的生成器就此誕生。
(**註:實際比較會發生的是:生成器的生成數據跟真實數據分布幾無差異,於是判別器只能「隨機」決定,學術用語是:達到「納許均衡/Nash equilibrium」。)
▪︎ 運作流程重點
1.生成器與判別器自開始訓練時,都是完全隨機的
2.生成器的進步來自於判別器的反饋
3.判別器的進步來自於,判別器每一次接收資料,都是已知兩組資料的評分目標(但不理解「評分目標」的意義)→而在評分後與評分目標進行對比,遂得到新的學習標的(i.e.優化/可以再進步的空間)
▷應用場景
▪︎ 生成器的應用場景
一旦訓練完成,生成器就成為一個獨立、優秀的內容生成工具,給它一個隨機輸入,就能按照訓練得到的模式,穩定地產生出高品質的內容。這就是現今AI 生成應用(AI 繪圖、AI 寫作)背後的原理。
1.圖像與影片生成
-藝術與設計:作為藝術家和設計師進行創造的輔助工具。
-虛擬人物:在遊戲、虛擬實境與娛樂產業中,用來生成栩栩如生的虛擬人物。
-深度偽造 (Deepfake):這是最具爭議性的應用,可以用來生成逼真的人臉、語音和影片。
2.數據擴增 (Data Augmentation)
利用訓練好的生成器創造大量與真實數據類似的假數據,以擴充資料集,這在缺乏足夠真實數據的應用場景助益極大。比如在醫療領域,針對某些稀有病症缺乏足夠的真實病理數據,無法訓練 AI,透過生成大量的「假」但品質極高的數據,可協助擴充 AI 的訓練集,最終進而協助到對病症的了解與診斷。
3.圖像修復與轉換
包含模糊的圖片清晰化、將普通照片轉換成特定藝術風格/畫風、黑白照片上色,這些都是目前已普遍應用的了。
▪︎ 判別器的應用場景
相對於生成器專門「創造」,而判別器則是專門「驗證」與「分類」。**
(**註:主要是出自GANs 的判別器訓練概念,後續發展出各種偵測器。)
1.深度偽造 (Deepfake) 偵測
判別器在 GANs 訓練時學習了大量真實人臉的細微特徵,細節如眨眼頻率、皮膚紋理等,因此可以精準地辨識出那些由生成器創造出來的、帶有非真實特徵的假臉或假影片。這是「深偽偵測技術」的核心技術。
2.異常偵測 (Anomaly Detection)
判別器可以被訓練來識別「正常」數據的模式,比如工業生產線,判別器可以被訓練來辨識正常運作的機器或產品。當零件或產品出現異常(ex裂痕、變形等),就會辨識為「不屬於正常」,偵測為異常。
3.數據品質評估 (Data Quality Assessment)
在 AI 模型的開發過程中,需要大量高品質的訓練數據,判別器可用來評估這些數據是否足夠真實、達到標準(qualified) 適用於訓練。這很重要,尤其當我們可以使用生成器生成擬真數據時。
4.生物辨識與身份驗證
藉由 GANs 訓練,學習人臉、指紋、虹膜等生物特徵的「真實」模式,將判別器應用於身份驗證系統,可以有效防止偽造的圖像或資料。
▪︎ 延伸:倫理議題「假資訊與詐騙」
生成器所創造的極度擬真內容(數據),從個人社群、到社會、政治,甚或國家安全,都造成「輕而易舉的欺騙」,更根本地,傷害了「信任」的本質與根基。
例如深度偽造 (Deepfake) 造出極其逼真的假圖、假影片、假音頻破壞力極強,尤其是製成假新聞用於資訊戰、滲透、政治污衊..時。而生成幾乎與真人無異的虛假頭像/虛假身份,也已然成為詐騙集團應用於網路詐騙或惡意活動的最佳利器。
→目前可以幫得上忙的,則是 GANs 訓練出來的,生成模型的另一個好夥伴-判別器。雖然還有很多可以做的努力(雖然我也不知道是什麼...)。
▷結語
認識這個 GANs 的概念,我有三個感想。
第一個是,這個獨特的對抗概念,真的是非常非常的clever。我很佩服能有這樣的創意連結,也非常感謝這樣的概念的實現,帶來了 AI 的生成創造的可能性。當然我相信就算沒有 GANs,AI 具備高度生成創造能力也終究會發生。但 GANs 讓這儘早實現了。光是如此就非常了不起了。
第二個是,雖然生成器與判別器都是早已存在的神經網路模型,但兩者的能力卻差異很大。除了是任務本身的難度造成,生成器可是要做到「無中生有」。也是來自於因應任務所配給的訓練方式:生成器是非監督式學習**,判別器是監督式學習。當我一知道時,就有種「難怪...」的感覺,哈。
(**註:這裡所說的生成器的訓練方式,也是指在GANs出現之前,以非監督式學習為主。)
第三個是,在與 Gimini 對話時,Gimini 常提出真鈔與偽鈔做比喻,這總讓我想到《Catch Me If You Can》。那是一部好電影,也讓我很能想像,李奧納多就像生成器,追在後面的總是湯姆漢克判別器,而且總還是能夠追上。所以我想,面對 AI 優秀生成能力帶來種種源源不絕麻煩,人類應該也總是能克服的。