日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

近十年以来机器学习中最优秀的想法之一~领略GANs核心

發布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 近十年以来机器学习中最优秀的想法之一~领略GANs核心 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

這篇文章中,作者通過將生成對抗網絡(GANs,以下均簡稱GANs)運用到圖片生成任務中向我們解釋了其的原理。GANs是無監督學習中少有的成功的技術,一經提出,將生成任務推動到了新的高度上。在多樣的圖片生成任務中,GANs獨領風騷。Yann LeCun(深度學習的先驅)將GANs稱作“近十年以來機器學習中最優秀的想法”。最重要的是,在顯著的性能的同時,GANs的核心思想又是那么地淺顯易懂。本文在圖片生成的任務重向讀者們揭開了GANs的神秘面紗,以下是本文的主要內容:

?

目錄

1,深度學習的簡要回顧

2,圖片生成

3,生成任務的關鍵問題

4,生成對抗網絡

5,挑戰

6,深入的學習

7,總結

?

圖1神經網絡,棕色的是輸入,黃色的是中間層,紅色的是輸出

1.? 深度學習的簡要回顧

?

首先讓我們回顧一下深度學習的發展。如圖1所示,這是一個神經網絡的簡圖。神經網絡是由相互連接的神經元所組成。神經元們被組織分層,因此,我們將他們分為在中間的隱層,輸入(最左)以及輸出層(最右)。每一條邊,都是有權重的;每一個神經元,都是與之相連的上一層的神經元,通過權重,加和其值,再通過一個非線性的激活函數(比如:sigmoid 或ReLu)得到的。正如圖1所示,第一隱層的神經元是通過對輸入層的神經元權重求和后,使用ReLU函數得到的。在這里,激活函數可以引入非線性。這樣可以使神經網絡對更復雜的情況建模(單個線性層可以達到多個線性層組合的效果)。

?

對于一個給定的輸入,我們一個個地計算每一個神經元的輸出。而我們的計算是一層層(圖中的一列神經元為一層)地,從左到右利用上一層的的結果,計算下一層的輸出。依據輸出層的結果和我們希望得到的輸出(目標值),我們定義一個代價,用來衡量神經網絡的性能。比如,均方差代價函數:

其中x是輸入,h(x)是輸出,y是我們的目標值。整個函數是對我們數據集中所有的數據求和。

?

訓練的每一步,我們的目的都是為了將邊(圖1中連接神經元的部分)的權重調整到合適的值,以盡可能地減小代價函數。在這個過程中,我們會計算梯度,它會告訴該如何調整權重。一旦我們計算好了代價,我們便可以使用反向傳播法來計算梯度。利用微分的鏈式法則和反向傳播法,我們可以得到每一層的權重的梯度。簡單來說,我們從輸出層到輸入層,反向地計算梯度。最后,我們按照對應梯度的一定比例,更新每一個權重(即,梯度下降)。

?

2.? 圖片生成

?

所謂的圖片生成,即利用機器學習模型去生成圖片。通常,我們會有一個圖片的數據集用來訓練。在測試階段,模型能夠生成和訓練集相似的圖片,但并不是完全和數據集一樣(具有一定的泛化)。即,我們生成的圖片是新的,并不是簡單地從數據集中來的,我們所做的是從訓練集中學習到一定的模式,生成這類模式的圖片。

圖2圖片生成:沒有輸入,輸出時想要的圖片

?

需要注意的是:在測試(或預測)階段,并沒有輸入。每一次我們運行模型的時候,我們是想要它能生成一個新的圖片。為了達到這個目的,我們的輸入都是從一個分布中隨機地采樣(通常是正態分布)。

?

3. 生成任務的關鍵問題

?

生成任務中的關鍵問題是:如何定義一個好的代價函數?當你有兩張輸出的圖片時,你要如何決定哪一個更好?有多好?

?

在之前的方法中,最常見的解決方案是定義輸出和它在訓練集中最近鄰的距離(distance)。比如,在語言翻譯中,我們有原句子和一個小集合(假設5個)的目標句子(不同的人提供的譯本)。當一個模型生成一句翻譯的時候,比較譯文和每一個目標句子,并以與之最接近的目標為基礎進行打分(比如使用在n-grams匹配中的BLEU分數)。這對單個句子的翻譯適用,但當文本內容增長時,代價函數的質量明顯下降。比如,當我們的任務時要生成給定文章的比較長的概要(通過是好幾個句子)時,少量的樣本并不能代表多變的所有可能的答案時,代價函數并不能起到很好的作用。

?

4. 生成對抗網絡(GANs)

?

GANs的提出,使用另外一個神經網絡,解決了3中提到的問題。我們利用一個打分神經網絡(被稱作鑒別器)來對生成網絡的輸出進行打分,判斷其以假亂真的程度。這樣兩個神經網絡有著相反的目標(“對抗”)。生成網絡的目標是生成以假亂真的圖片,鑒別器的目標是分辨圖片的真偽。

?

在GANs中,生成任務就像是在有兩個玩家的強化學習當中(比如圍棋)。我們的機器學習模型通過和自己博弈來提升自己。不同在于,在類似于圍棋一樣的游戲中,兩位玩家的角色是對稱相似的(雖然不總是這樣)。在GANs中,兩個網絡的目標和角色是不同的,一個生成以假亂真的樣本,一個分辨樣本的真偽。

圖3對抗生成網絡,生成網絡標注為G,鑒別網絡標注為D

?

生成網絡G和鑒別網絡D之間,進行著二元的極小極大博弈。首先,從圖中可以看到D的輸入是從訓練數據或生成網絡的輸出進行采樣:一半是訓練集,一半是生成網絡的輸出。G為了生成樣本,潛在向量從高斯分布采樣作為G的輸入。如果我們要生成一個200x200的灰度圖,那么G的輸出就是一個200x200的矩陣。目標函數如下,是一個標準的對數似然函數:

生成網絡G將會最小化目標函數(即,變化網絡參數使得對數似然值變小,或者說,更好地迷惑D)。換句話說,希望D可以將G的輸出認為是真實數據。鑒別網絡D將會最大化目標函數(即,變化網絡參數使得對數似然值變大,或者說,更好地分辨真偽)。當G起到效果時,它將會通過增大第二項中的來減小目標函數;當D起作用的時候,它將會通過增大第一項中的,減小第二項中的來增大目標函數。

?

訓練的過程,使用隨機初始化和向后傳遞算法。除此之外,我們還要交替地更新鑒別網絡和生成網絡(更新一個時,保持另一個參數不變)。使用GANs來解決一個特定的問題時,大致的步驟如下:

  • 決定GANs的結構:G的結構如何?D的結構如何?

  • 訓練:交替更新D和G(更新一個時,固定另一個的參數)。?更新D(固定G):一半從真實數據采樣,一般從生成數據;??更新G(固定D):均從生成數據采樣(注意,即使D是固定的,但是梯度也是從D傳遞過來的)。

  • 人為地觀察以假亂真的樣本。如果質量足夠高(或者質量不再提高)停止訓練。否則,重復步驟2。

G和D都是前饋神經網絡,下圖為在MNIST數據集上訓練得到的結果:

圖4引自Goodfellow等人,最右列(黃色方框內)是與其左方最接近的真實數據。其他所有圖片均是生成的。

?

將G和D的網絡構造得更為復雜(使用帶步幅得卷積和adam優化器而不是用隨機梯度下降……)我們可以得到這樣的效果:

圖5引自Alec Radford等人,臥室的圖片

?

5. 挑戰

?

訓練GANs的最大挑戰是:可能不收斂。這個問題也被稱為mode collapse。讓我們用一個例子來簡單地解釋這個問題。假設,我們有個在MNIST數據上生成數字圖片的任務。一種可能會發生的情況是,G也許會只生成6這個數字。一旦D適應了G這種行為,為了去最大化分類的準確性,它將會認為所有的6都是假的,所有的其他數字都是真的。那么,當G適應了D的這種行為,它會開始只生成數字8……我們會發現,G只生成一個真實數據的子集,而當D將這個子集全部否定的時候,G又會去生成另外一個子集。它們一直在搖擺。

?

盡管現在這個問題依舊沒有完全解決,但目前已經有很多研究嘗試對此進行優化。有一些方法是使用minibatch特征,或通過多次更新D來向后傳遞。在這里,我們不再深入討論細節。

?

6. 深入的學習

?

如果你想要深入的學習GANs,強烈推薦ICCV2017 tutorials on GANs(google sites)。這里有針對不同方面的介紹。在這里,作者想要特別提的是帶條件的GANs。帶條件的GANs:GANs的輸入作為輸出的條件,對輸出進行約束。比如,要生成一張匹配輸入文字的圖片。如果,輸入的是“狗”,那么輸出的圖片也是狗。

接下來是最近一些關于GANs的研究:

圖6根據文字生成圖片,引自Reed等人

圖7圖片超分辨率,引自Ledig等人

圖8從圖片到圖片的轉化,引自Isola等人

圖9生成高分辨率的名流照片,Karras等人

?

總結

?

希望這篇文章幫助你了解到了一個新的深度學習的技術(對抗生成網絡)。這是在無監督機器學習當中少有的非常成功的技術,并且革命性地改變了我們解決生成任務的能力。在最近幾年來,取得了讓人印象深刻的成就。GANs也被應用到了語言任務等其他領域當中。

?

轉載自:https://blog.csdn.net/Sophia_11/article/details/88083693

總結

以上是生活随笔為你收集整理的近十年以来机器学习中最优秀的想法之一~领略GANs核心的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。