人工智能算法與實踐-第17章 生成對抗網絡_第1頁
人工智能算法與實踐-第17章 生成對抗網絡_第2頁
人工智能算法與實踐-第17章 生成對抗網絡_第3頁
人工智能算法與實踐-第17章 生成對抗網絡_第4頁
人工智能算法與實踐-第17章 生成對抗網絡_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

目錄第17章生成對抗網絡人工智能算法與實踐—1

17.4算法總結17.1算法概述17.2算法改進17.3算法實現01算法概述PartONE—2

—3

17.1.1算法介紹生成對抗網絡(GenerativeAdversarialNetworks,GAN)屬于深度學習模型的領域,同時也是近年來復雜分布上無監督學習最具前景的方法之一。該模型主要通過生成模型和判別模型的互相博弈學習產生相當好的輸出。對于GAN而言,其網絡結構由生成器和判別器組成。在圖像領域,對于生成器而言,輸入一個向量,輸出一幅圖片。向量的某一維度對應圖片的某個特征。生成器的主要任務是學習真實圖片集,從而使得自己生成的圖片更接近于真實圖片,以騙過判別器。而對于判決器而言,輸入一張圖片,來判別這張圖是來自真實樣本集還是假樣本集,假如輸入的是真樣本,則輸出就接近1;相反,如果輸入的是假樣本,則輸出接近0,從而達到很好的判別目的。

生成器的工作過程

判別器的工作過程—4

算法的訓練過程是首先固定生成器,試圖訓練判別器,讓判別器能夠將真實圖像分值為1,生成圖像分值為0,然后固定判別器,試圖訓練生成器,讓生成圖像的分值為1,如此循環迭代。在其訓練過程中,生成網絡G的目的是盡量生成真實的圖片去欺騙判別網絡D,而D的目的是盡量把G生成的圖片和真實的圖片分別開來,使G和D構成了一個動態的“博弈過程“。其流程結構為:

(1)初始化生成器和判別器。

(2)在每次迭代過程中:1)固定G,只更新D的參數,從準備的數據集中隨機選擇一些,再從G的輸出中選擇一些。相當于D有兩種input,如果輸入來自真實的數據集則給高分,如果是G產生的數據,則給低分。2)固定住D的參數,更新G。將一個向量輸入G,得到一個輸出,將輸出給D,然后會得到一個分數,這一階段D的參數已經固定住了,G需要調整自己的參數使得這個輸出的分數越大越好。17.1.2算法原理—5

24631從數據集Pdata(x)的樣本中挑出m個樣本點:從一個分布(可以是高斯,正態)中sample出m個向量:將第2步中的z作為輸入,獲得m個生成的數據更新D的參數

來最大化

,我們要使得

越大越好,那么下式中就要使得

越小越好,也就是去壓低G的分數:從一個分布中sample出m個向量

,注意這些sample不需要和步驟2中的保持一致。更新G的參數使得其最小化:所以其目標函數(損失函數)V(D,G)為:17.1.3算法的具體操作502PartTWO—6

算法改進目標函數進行優化時,最直觀的處理方法就是將生成網絡G和判別網絡D進行交替迭代。在一段時間內,固定G網絡內的參數,來優化網絡D,另一段時間則固定D網絡中的參數,來優化G網絡中的參數,從而形成兩個網絡。圖中假設剛開始的為真實樣本分布,生成樣本分布和判別模型,其分別對應圖中的點狀線,實線和虛線,那么有以下結論:當固定生成模型,而去優化判別模型時,會發現判別模型會對點狀線和虛線有很好的區分效果。固定判別模型,改進生成模型時,會發現生成模型生成的數據分布,也就是實線,會不斷往真實數據分布(點狀線)靠攏,從而使得判別模型很難分離判斷。結論1結論2—7

(a)不合適的模型(b)更新D后(c)更新G后(d)更新D后混合策略均衡17.2.1目標函數的優化—8

CGAN:CGAN在生成模型(D)和判別模型(G)的建模中均引入條件變量y,使用額外信息y為模型增加條件,從而可以指導數據生成過程。CGAN是對原始GAN的一個擴展,生成器和判別器都增加額外信息y為條件,y可以是任意信息,例如類別信息,或者其他模態的數據。DCGAN:DCGAN的改進主要是在網絡結構上,極大地提升了GAN訓練的穩定性以及生成結果的質量,同時為GAN的訓練提供了一個很好的網絡拓撲結構。WGAN:WGAN主要從損失函數的角度對GAN做了改進,損失函數改進之后的WGAN即使在全連接層上也能得到很好的表現結果。CGANDCGANWGAN17.2.2算法的改進03算法實現PartTHREE—9

01020304載入數據首先載入數據并進行劃分,劃分成兩類數據,然后進行歸一化處理并封裝。建立模型建立模型,其分別為生成器模型和判別器模型。定義函數定義損失函數和優化器。迭代訓練進行迭代訓練,訓練生成器和判別器并生成圖片,最后得其結果。—10

算法在實現過程中,就是定義一個生成器和一個判別器,讓生成器盡可能地生成真實的圖片,而判別器盡可能地將生成器生成的圖片和真實圖片分離,達到識別的目的。其算法的步驟大致如下:17.3.1算法的實現過程—11

為了加深我們對GAN的了解,下面我們用Python代碼來實現它們的博弈過程。算法的步驟大致如下:17.3.2核心代碼展示1.數據讀入

2.生成器模型17.3.2核心代碼展示—12

3.判別器模型

5.迭代訓練4.定義損失函數—12

85%從圖中可以看出GAN訓練10次后很模糊,但是隨著訓練次數的增加,圖片會慢慢變得清晰。這就是GAN的訓練過程,通過學習真實圖片的分布后生成的圖像結果。17.3.2核心代碼展示—13

GAN運行10次結果GAN運行100次結果應用四半監督學習方面應用一圖像方面應用二文本方面應用三通信加密方面1圖像(1)圖像超分辨率GAN可以通過學習,在一定程度上得到高分辨率清晰圖像的分布,從而生成一幅質量較好的高分辨清晰圖像。同時也能減小圖像的分辨率,使圖像越來越模糊。(2)圖像編輯給GAN輸入一張原始圖像,可以生成各個版本的圖像,從而進行圖片的編輯。(3)圖像轉換GAN應用于圖像轉換領域,將圖像轉換成另一種形式的圖像,其生成器的輸入是一個隨機向量,輸出的是圖像,這里生成器的輸入是圖像,輸出的是轉換后的圖像。2文本GAN在圖像領域應用頗多,但是在文本領域卻作用不大,主要是NLP中的數據都是離散數據,GAN不適合學習離散的數據分布,但是并不意味著沒法學,谷歌大腦團隊發明了一個結合強化學習的MaskGAN,可用于完形填空,具體任務是補全句子中的缺失部分。17.3.3算法的應用—14

3通信加密我們利用GAN加密技術來保護數據,其加密技術涉及3個方面,我們可以用Alice、Bob和Eve來展示。通常,Alice和Bob是安全通信的兩端,Eve則監聽它們的通信,試圖逆向找到原數據信息。通過GAN技術,Alice和Bob被共同訓練,在學習規避Eve監聽的同時,成功實現信息的傳遞。在進行大量訓練后,Bob能夠從Eve的行為中學習并保護通信,在避免被攻擊的同時實現準確的消息重構。其通信加密過程圖下圖所示:—15

4半監督學習對于多分類問題,若只有少量標注過的樣本和大量未標注過的樣本,可以利用GAN思想合理使用這些未標注數據,即通過學習這些未標注樣本,得到樣本數據的分布,從而為監督學習提供訓練樣本,輔助其訓練過程。應用四半監督學習方面應用一圖像方面應用二文本方面應用三通信加密方面17.3.3算法的應用(1)用GAN擬合二次函數我們用GAN來擬合二次函數,分別有G網絡和D網絡兩種網絡。17.3.4算法案例—16

運行結果如圖所示,可以看到G網絡生成的分布(綠色)已經慢慢地接近真實分布(藍色),并且D網絡的判別能力也接近50%,G網絡的最優值已到達很好的收斂效果。訓練開始時的數據生成分布訓練結束時的數據生成分布

17.3.4算法案例(2)用GAN生成假圖片

首先需要一個生成小狗圖片的生成器,還要有一個判斷小狗圖片真假的判別器。利用生成器生成一張假圖,同時獲取一張真圖,再用判別器進行判別。把真圖與假圖進行拼接,然后打上標簽,真圖標簽是1,假圖標簽是0,送入訓練的網絡進行訓練。首先將數據傳入生成器中,然后生成器生成圖片之后,就會把圖片傳入判別器中,標簽此刻傳入的是1,為真實的圖片,但實際上是假圖,此刻判別器就會判斷為假圖,然后模型就會不斷調整生成器參數,直到判別器認為這是真圖。此刻判別器與生成器達到了一個平衡。也就是說生成器產生的假圖,判別器已經分辨不出來了。所以繼續迭代,提高判別器精度,如此往復循環,直到生成連人都辨別不了的圖片。

—17

造假過程04算法總結PartFOUR—18

采用的是無監督學習方式訓練方式反向傳播和大部分現有的生成網絡算法結合使用其框架能訓練任何一種生成器網絡算法的優勢—19

模型過于自由不可控解決不收斂問題難以訓練同步問題算法的不足—20

在實際應用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論