昨天出現小插曲~ 今天要來介紹生成對抗網路囉~
首先老樣子,我們先來認識甚麼是生成對抗網路(Generative Adversarial Network, GAN),是一種由深度學習模型組成的架構,由2014年Ian Goodfellow等人提出。GAN的核心思想是利用兩個神經網路相互競爭,以達到生成與判別的效果。這兩個網路分別是:
隨機雜訊(Random Noise)在生成對抗網路(GAN)的上下文中,通常指的是生成器輸入的一組隨機數據,它是生成器創造假數據的起點。這些隨機數據可以被視為“靈感”或“初始素材”,生成器將根據這些隨機噪聲進行數據生成。
用另一個更直觀的描述方法來說,它的核心思想可以想像成一場「畫家」與「鑑賞家」的對決。
舉個例子:
兩者就像進行了一場不斷升級的對抗賽,畫家試圖創作出完美的假畫,而鑑賞家則想提高鑑別能力,不讓假畫通過。GAN 的訓練過程就是這樣一個不斷競爭的過程:生成器(畫家)越來越擅長製造假數據,而判別器(鑑賞家)則越來越能夠分辨真假數據。
當訓練達到一定階段,理想狀態下,畫家的畫作變得如此逼真,以至於鑑賞家也無法分辨,此時生成器成功地生成出與真實數據無法區別的假數據,而這就是生成對抗網路的終極目標。
在了解了生成器(畫家)和判別器(鑑賞家)之後,接下來我們來看看生成對抗網路(GAN)的工作原理,這個過程可以繼續用畫家和鑑賞家的比喻來說明。
生成器接收隨機雜訊
GAN 的訓練開始時,**生成器(畫家)**接收到一個隨機雜訊,這個隨機雜訊可以看作是畫家腦海中的隨機靈感。生成器根據這些隨機雜訊,試圖創作出一幅「假」畫,這幅畫要盡可能模仿真實世界的藝術品。
判別器接收數據進行分類
同時,**判別器(鑑賞家)**會收到兩類數據:一部分是真實數據集中的數據(比如一些真實的藝術作品),另一部分是生成器創造的假數據(假畫)。判別器的任務是對這些數據進行分類,判斷哪一幅是真實的,哪一幅是假的。
訓練的對抗過程
GAN 的訓練過程依賴於雙方的損失函數:
生成對抗網路(GAN)在很多領域中有很大的潛力,下面我舉例幾個應用:
看起來生成對抗網路(GAN)是不是很厲害呢?雖然在生成數據方面表現出色,但在訓練過程中卻面臨著幾個挑戰。
Mode Collapse
Mode Collapse 是GAN訓練過程中最常見的問題之一。當生成器僅能生成有限數量的樣本,但是卻忽略了數據集的多樣性時,便會發生Mode Collapse。這使得生成器的能力受到限制,無法充分利用數據集中的所有可能性。舉例來說,若生成器專注於生成一種特定風格的圖像,那麼它可能就會不斷生成相同的圖像,而無法創造出多樣化的結果。
不穩定的訓練過程
GAN的訓練過程有時候會顯得不穩定,這主要是因為生成器和判別器之間的競爭可能失去平衡。當判別器過於強大時,生成器就無法學習到有用的信息,反之亦然。這樣的結果會導致訓練無法有效收斂。
今天的介紹就到這邊囉,如果這幾天有時間的話,我會再想辦法生出實作來跟大家分享~