什麼是生成對抗網路 (GAN)?

生成對抗網路 (GAN) 是一種深度學習架構,主要使用兩個相互競爭的類神經網路來生成新資料。這兩個網路分別為生成器和鑑別器,會透過相互訓練,輸出更準確的內容。GAN 可應用在多種領域,包括電腦視覺、機器人、圖像生成、影片合成和自然語言處理等等。

GAN 的運作方式

要瞭解 GAN 的運作方式,以比喻來說明最合適:GAN 就像藝術偽造者 (生成器) 與藝術評論家 (鑑別器) 之間的競爭關係。

  • 偽造者 (生成器):偽造者的目標是創造與真跡難以分辨的畫作,但一開始的手法粗糙且偽造痕跡明顯,只是建立隨機圖像,就像在畫布上潑灑顏料。
  • 評論家 (鑑別器):評論家的工作是分辨畫作真偽。一開始這很簡單。評論家會檢查真跡和偽作,並提供意見回饋,告訴偽造者「這是假作品」。
  • 回饋循環:偽造者會根據意見回饋來精進手法,透過學習真跡的特徵,調整作畫技巧。當偽造手法改進,評論家的分辨能力也會提升,能找出更細微的瑕疵。

隨著這場對抗「遊戲」持續,兩個網路都會越來越聰明。最終,偽造者的手法變得相當精熟,讓評論家無法再準確分辨真偽。到了這個階段,代表 GAN 已訓練完成,可以生成高度擬真的新資料。

比較 CNN 與 GAN

卷積類神經網路 (CNN) 和生成對抗網路 (GAN) 都是深度學習架構,但兩者的優點和應用領域不同。CNN 常用於圖像分類和物體偵測,GAN 則常用於生成新的資料實例。

功能

CNN

GAN

數據用量

大部分加上標籤的資料集

標籤/無標籤資料集

輸出

分類、擷取特徵

多種新資料實例

模型類型

訓練判別式模型時

生成式

主要工作

分類圖像、辨識物體

生成圖像、擴增資料、建立合成資料

功能

CNN

GAN

數據用量

大部分加上標籤的資料集

標籤/無標籤資料集

輸出

分類、擷取特徵

多種新資料實例

模型類型

訓練判別式模型時

生成式

主要工作

分類圖像、辨識物體

生成圖像、擴增資料、建立合成資料

值得注意的是,GAN 架構經常使用 CNN 做為鑑別器網路。鑑別器的工作是分辨圖像真偽,屬於圖像分類問題,而 CNN 具有強大的特徵擷取能力,通常很適合解決這類問題。

常見 GAN 類型

雖然所有 GAN 都採用生成器-鑑別器結構,但業界開發了多種變化版本,來解決特定問題。其中幾種最重要的類型如下:

  • 條件式生成對抗網路 (cGAN):如果想控制 GAN 生成的內容,該怎麼辦?使用 cGAN 就能加入條件。假如您要的是「一位微笑的金髮女性」,cGAN 就會按照您的條件生成圖像,而不是一張隨機臉孔。就文字轉圖像應用程式來說,這是十分重要的功能。
  • CycleGAN:如果想將轉換圖像風格,但沒有完全相符的圖像組合可供訓練 (例如將馬的相片變成斑馬),該怎麼辦?CycleGAN 專為「非成對圖像轉圖像」而設計,因此以風格轉換和物體變形聞名。
  • StyleGAN:這類 GAN 以生成極為逼真的高畫質圖像 (尤其是臉孔) 為主,還可讓使用者精細控制圖像的「風格」,例如年齡、髮型或表情。
  • 超解析度 GAN (SRGAN):這類 GAN 專門透過生成逼真的細節,將低解析度的模糊圖像升級為清晰的高解析度版本。

雖然各種生成對抗網路變化版本的基本原理,都是使用兩個對抗網路,不過研究人員已找出多種方法來修改架構和訓練方式,藉此解決限制,並提高這些生成對抗網路在特定應用層面的效能。

GAN 的用途

GAN 為許多產業開創了全新可能。這項技術通常應用在以下主要方面:

內容製作與調整

這是最常見的 GAN 應用領域,包括生成寫實的人物、地點和物體圖像;製作數位藝術和音樂;提供功能強大的圖像編輯工具,例如風格轉換 (讓相片看起來像畫作)、超解析度 (將模糊圖像銳利化),以及文字轉圖像合成。

資料擴增與隱私

高品質資料是機器學習的原動力,但可能難以取得、成本高昂或屬於私人資料。GAN 可產生合成資料,解決這個問題。在醫療照護領域,GAN 可建立寫實的去識別化醫學掃描影像,來訓練診斷模型,同時保護病患隱私。在金融領域,GAN 則可產生合成交易資料,來訓練出更完善的詐欺偵測系統。這有助於克服資料稀少的問題,並平衡資料集。

模擬與預測

GAN 可學習複雜系統中的模式,輸出逼真的模擬結果。這項生成技術可應用在多種情境,例如訓練自動駕駛汽車、預測影片的後續畫面,甚至可用於藥物研發方面,發掘潛在的分子結構。

異常狀況和威脅偵測

使用「正規」資料訓練 GAN 後,將能有效找出不符合模式的內容。這可應用在偵測詐欺性金融活動、找出有害網路安全的入侵行為,以及發現產品製造上的瑕疵。

在 Google Cloud 使用 GAN 建構內容

要開發及部署 GAN,必須具備強大的運算能力和完善的 MLOps 平台。Google Cloud 提供多種工具,支援整個工作流程:

  • 建構及管理模型Vertex AI 是代管機器學習平台,可簡化 GAN 等複雜模型的建構、訓練及部署程序。這個平台提供整合式環境,方便您管理資料和實驗。
  • 高效能訓練:訓練 GAN 需要大量運算資源。Cloud TPU 是 Google 為大幅提高深度學習訓練速度而特製的硬體加速器,可讓您更快反覆調整複雜的 GAN 架構。
  • 可擴充的部署環境:模型訓練完成後,可部署到 Google Kubernetes Engine (GKE)。這是功能強大的可擴充環境,能讓您部署容器化 GAN,做為大型應用程式的一部分。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。