一文理解Deep Dream

Introduce

2015年Google發(fā)布了一個(gè)很有意思的東西,叫做Deep Dream,網(wǎng)上瞬間掀起了Deep Dream的熱潮,各種各樣有著Deep Dream效果的圖片漫天飛,就算你不知道Deep Dream這個(gè)名詞,但是你有可能已經(jīng)看過(guò)下面的圖片了。

deepdream0.png

這些圖片充滿著幻覺(jué)和夢(mèng)境,所以這個(gè)算法被稱為Deep Dream。這個(gè)算法的由來(lái)非常有意思,因?yàn)樗且馔獾玫降男Ч?/p>

我們知道神經(jīng)網(wǎng)絡(luò)在圖像分類上取得了顯著的進(jìn)展,但是由于深度學(xué)習(xí)網(wǎng)絡(luò)中參數(shù)太多了,導(dǎo)致這個(gè)算法是一個(gè)黑盒子,雖然能夠達(dá)到良好的效果,但是人們?nèi)匀粚?duì)其內(nèi)部知之甚少,所以人們希望能夠窺探一下網(wǎng)絡(luò)里面的內(nèi)部。

Reverse Neural Network

我們知道一個(gè)神經(jīng)網(wǎng)絡(luò)讀入一張圖片,通過(guò)多層網(wǎng)絡(luò),最后輸出一個(gè)分類的結(jié)果,但是我們僅僅知道一個(gè)結(jié)果并不夠,神經(jīng)網(wǎng)絡(luò)的一個(gè)挑戰(zhàn)是要理解在沒(méi)一層到底都發(fā)生了什么事。我們知道經(jīng)過(guò)訓(xùn)練之后,每一層網(wǎng)絡(luò)逐步提取越來(lái)越高級(jí)的圖像特征,直到最后一層將這些特征比較做出分類的結(jié)果。比如前面幾層也許在尋找邊緣和拐角的特征,中間幾層分析整體的輪廓特征,這樣不斷的增加層數(shù)就可以發(fā)展出越來(lái)越多的復(fù)雜特征,最后幾層將這些特征要素組合起來(lái)形成完整的解釋,這樣到最后網(wǎng)絡(luò)就會(huì)對(duì)非常復(fù)雜的東西,比如樹(shù)葉,小貓等圖片有了反應(yīng)。

為了理解神經(jīng)網(wǎng)絡(luò)是如何學(xué)習(xí)的,我們必須要理解特征是如何被提取和識(shí)別的,如何我們分析一些特定層的輸出,我們可以發(fā)現(xiàn)當(dāng)它識(shí)別到了一些特定的模式,它就會(huì)將這些特征顯著地增強(qiáng),而且層數(shù)越高,識(shí)別的模式就越復(fù)雜。當(dāng)我們分析這些神經(jīng)元的時(shí)候,我們輸入很多圖片,然后去理解這些神經(jīng)元到底檢測(cè)出了什么特征是不現(xiàn)實(shí)的,因?yàn)楹芏嗵卣魅搜凼呛茈y識(shí)別的。一個(gè)更好的辦法是將神經(jīng)網(wǎng)絡(luò)顛倒一下,不是輸入一些圖片去測(cè)試神經(jīng)元提取的特征,而是我們選出一些神經(jīng)元,看它能夠模擬出最可能的圖片是什么,將這些信息反向傳回網(wǎng)絡(luò),每個(gè)神經(jīng)元將會(huì)顯示出它想增強(qiáng)的模式或者特征。

比如上面這些圖片我們能夠看出不同的神經(jīng)元模擬出了不同的增強(qiáng)特征和模式,有一些是狗,有一些是蝸牛,還有一些是魚(yú)。

Deep Dream

通過(guò)上面的過(guò)程我們會(huì)迫使神經(jīng)網(wǎng)絡(luò)在圖片中產(chǎn)生一些本來(lái)不存在的東西,這也就產(chǎn)生了類似夢(mèng)境和幻覺(jué),其實(shí)上這些夢(mèng)境強(qiáng)調(diào)了網(wǎng)絡(luò)到底學(xué)習(xí)到了什么,這種技術(shù)給我們提供了一種對(duì)抽象層次的定性感受,雖然這和現(xiàn)實(shí)中的夢(mèng)境沒(méi)有太大的關(guān)系,這也就是Deep Dream的最早提出的靈感。

實(shí)際上Deep Dream在上面的基礎(chǔ)上使用了更多的技術(shù),如果我們將此算法反復(fù)地應(yīng)用在自身的輸出上,也就是不斷地迭代,并在每次迭代后應(yīng)用一些縮放,這樣我們就能夠不斷地激活特征,得到無(wú)盡的新效果,比如最開(kāi)始網(wǎng)絡(luò)的一些神經(jīng)元模擬出來(lái)了一張圖中狗的輪廓,通過(guò)不斷的迭代,網(wǎng)絡(luò)就會(huì)越來(lái)越相信這是一只狗,圖片中狗的樣子也就會(huì)越來(lái)越明顯。

上面我們簡(jiǎn)要的介紹了Deep Dream的理論基礎(chǔ),下一篇文章我們將介紹如何Deep Dream的實(shí)現(xiàn)技巧。

參考內(nèi)容:

alanzucconi blog

google blog


歡迎訪問(wèn)我的博客

歡迎查看我的知乎專欄,深度煉丹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容