《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 資源 | Distill詳述「可微圖像參數(shù)化」:神經(jīng)網(wǎng)絡(luò)可視化和風格遷移利器!

資源 | Distill詳述「可微圖像參數(shù)化」:神經(jīng)網(wǎng)絡(luò)可視化和風格遷移利器,!

2018-08-22

近日,,期刊平臺 Distill 發(fā)布了谷歌研究人員的一篇文章,,介紹一個適用于神經(jīng)網(wǎng)絡(luò)可視化風格遷移的強大工具:可微圖像參數(shù)化,。這篇文章從多個方面介紹了該工具,,機器之心選取部分內(nèi)容進行了編譯介紹,。

微信圖片_20180822141406.jpg



圖像分類神經(jīng)網(wǎng)絡(luò)擁有卓越的圖像生成能力,。DeepDream [1],、風格遷移 [2] 和特征可視化 [3] 等技術(shù)利用這種能力作為探索神經(jīng)網(wǎng)絡(luò)內(nèi)部原理的強大工具,并基于神經(jīng)網(wǎng)絡(luò)把藝術(shù)創(chuàng)作推進了一小步,。


所有這些技術(shù)基本上以相同的方式工作,。計算機視覺領(lǐng)域使用的神經(jīng)網(wǎng)絡(luò)擁有圖像的豐富內(nèi)部表征。我們可以使用該表征描述我們希望圖像具備的特性(如風格),,然后優(yōu)化圖像使其具備這些特性,。這種優(yōu)化是可能的,因為網(wǎng)絡(luò)對于輸入是可微的:我們可以輕微調(diào)整圖像以更好地擬合期望特性,,然后迭代地在梯度下降中應(yīng)用這種微調(diào),。


通常,我們將輸入圖像參數(shù)化為每個像素的 RGB 值,,但這不是唯一的方式,。由于從參數(shù)到圖像的映射是可微的,我們?nèi)匀豢梢杂锰荻认陆祦韮?yōu)化可替代的參數(shù)設(shè)定,。

微信圖片_20180822141424.jpg


圖 1:當圖像參數(shù)化可微的時候,,我們就可以對其使用反向傳播(橙色箭頭)來優(yōu)化。


為什么參數(shù)化很重要,?


這可能令人驚訝,,即改變優(yōu)化問題的參數(shù)設(shè)定可以如此顯著地改變結(jié)果,盡管實際被優(yōu)化的目標函數(shù)仍然是相同的形式,。為什么參數(shù)設(shè)定的選擇有如此顯著的效果,?原因如下:


(1)改善優(yōu)化:轉(zhuǎn)換輸入使優(yōu)化問題更簡單,這是一種被稱為「預(yù)處理」的技術(shù),,是優(yōu)化過程的重要部分,。我們發(fā)現(xiàn)參數(shù)設(shè)定的簡單變化就可以使圖像優(yōu)化變得更加簡單。


(2)引力盆地:當我們優(yōu)化神經(jīng)網(wǎng)絡(luò)的輸入時,,通常有很多不同的解,,對應(yīng)不同的局部極小值。優(yōu)化過程落入某個局部極小值是由其引力盆地(即在極小值影響下的優(yōu)化曲面區(qū)域)控制的,。改變優(yōu)化問題的參數(shù)設(shè)定可以改變不同引力盆地的大小,,影響可能的結(jié)果。


(3)附加約束:某些參數(shù)設(shè)定僅覆蓋可能輸入的子集,,而不是整個空間,。在這種參數(shù)設(shè)定下的優(yōu)化器仍然尋找最小化或最大化目標函數(shù)的解,但它們需要服從參數(shù)設(shè)定的約束。通過選擇正確的約束集,,我們可以施加多種約束,,從簡單的約束(例如,圖像邊界必須是黑色的)到復(fù)雜而精細的約束,。


(4)暗含地優(yōu)化其它目標函數(shù):參數(shù)化可能內(nèi)在地使用一種和輸出不同的目標函數(shù),,并對其進行優(yōu)化。例如,,當視覺網(wǎng)絡(luò)的輸入是一張 RGB 圖像時,,我們可以參數(shù)化那張圖像為一個 3D 物體渲染圖,并在渲染過程中使用反向傳播以進行優(yōu)化,。由于 3D 物體比圖像具有更多的自由度,,我們通常使用隨機參數(shù)化,它能生成從不同視角渲染的圖像,。


在文章接下來的部分中,,我們將給出幾個示例,證明使用上述方法的有效性,,它們帶來了令人驚訝和有趣的視覺結(jié)果,。


對齊特征可視化解釋


相關(guān) colab 頁面:https://colab.research.google.com/github/tensorflow/lucid/blob/master/notebooks/differentiable-parameterizations/aligned_interpolation.ipynb


特征可視化最常用于可視化單個神經(jīng)元,但它也可用來可視化神經(jīng)元組合,,以研究它們?nèi)绾蜗嗷プ饔?[3],。這時不是優(yōu)化一張圖像來激活單個神經(jīng)元,而是優(yōu)化它來激活多個神經(jīng)元,。


當我們希望真正地理解兩個神經(jīng)元之間的相互作用時,,我們可以更進一步并創(chuàng)建多個可視化,逐漸把目標函數(shù)從優(yōu)化一個神經(jīng)元轉(zhuǎn)移到給另一個激活神經(jīng)元賦予更多的權(quán)重,。這在某種程度上和生成模型(如 GAN)的潛在空間插值相似,。


盡管如此,仍然存在一些小問題:特征可視化是隨機的,。即使你優(yōu)化的是同一個物體,,其每一次的可視化圖也是不同的。一般而言,,這不是什么問題,,但它確實阻礙了插值可視化。如果就這樣處理,,得到的可視化將是非對齊的:視覺關(guān)鍵點(例如眼睛)將出現(xiàn)在每張圖像的不同位置,。在稍微不同的物體中,缺乏對齊將更難識別差異,,因為差異被更明顯的圖式差異掩蓋了,。


如果我們觀察插值幀的動畫演示,,就可以看到獨立優(yōu)化存在的問題:

微信圖片_20180822141447.jpg



微信圖片_20180822141516.jpg

圖 2:(1、3 行)非對齊插值:視覺關(guān)鍵點(例如眼睛)從一幀到下一幀的位置會改變,。(2,、4 行)不同的幀更容易比較,因為視覺關(guān)鍵點在相同位置,。

微信圖片_20180822141541.jpg


圖 3:(頂行)從獨立參數(shù)化的幀開始,;(中行)然后每個幀結(jié)合單個共享參數(shù)設(shè)定,;(底行)創(chuàng)建一個視覺對齊的神經(jīng)元插值,。


通過在幀之間部分共享一個參數(shù)設(shè)定,我們促進可視化結(jié)果自然地對齊,。直覺上,,共享參數(shù)設(shè)定提供了視覺關(guān)鍵點位移的一個共同參照,但是單獨的參數(shù)設(shè)定基于插值權(quán)重賦予每個幀自己的視覺效果,。這種參數(shù)設(shè)定并沒有改變目標函數(shù),,但確實放大了引力盆地(其中可視化是對齊的)。


這是可微參數(shù)化在可視化神經(jīng)網(wǎng)絡(luò)中作為有用輔助工具的第一個示例,。


通過 3D 渲染進行紋理風格遷移


相關(guān) colab 頁面:https://colab.research.google.com/github/tensorflow/lucid/blob/master/notebooks/differentiable-parameterizations/style_transfer_3d.ipynb


現(xiàn)在我們已經(jīng)構(gòu)造了一個高效反向傳播到 UV 映射紋理的框架,,該框架可用于調(diào)整現(xiàn)有風格遷移技術(shù)來適應(yīng) 3D 物體。與 2D 情況類似,,我們的目標是用用戶提供圖像的風格進行原始物體紋理的再繪制,。下圖是該方法的概述:

微信圖片_20180822141604.jpg



該算法開始于隨機初始化紋理。在每次迭代中,,我們采樣出一個指向物體邊界框中心的隨機視點,,并渲染它的兩個圖像:一個是有原始紋理的內(nèi)容圖像(content image),另一個是有當前優(yōu)化紋理的學習圖像(learned image),。


在對內(nèi)容圖像和學習圖像進行渲染后,,我們對 Gatys 等人 [2] 的風格遷移目標函數(shù)進行了優(yōu)化,并將參數(shù)化映射回 UV 映射紋理中,。重復(fù)該過程,,直到在目標紋理中實現(xiàn)期望的內(nèi)容與風格融合。


微信圖片_20180822141637.jpg

微信圖片_20180822141700.jpg

圖 17:各類 3D 模型的風格遷移,。注意:內(nèi)容紋理中的視覺關(guān)鍵點(如眼睛)在生成紋理中正確地顯示出來,。


因為每個視圖都是獨立優(yōu)化的,所以在每次迭代中優(yōu)化都要把該風格的所有元素融合進去,。例如,,如果選擇梵高的《星夜》作為風格圖像,那每個單視圖都會加上星星,。我們發(fā)現(xiàn),,引入先前視圖風格的「記憶」會獲得更好的結(jié)果,,如上圖所示。為此,,我們在近期采樣視點上維持表征風格的 Gram 矩陣的滑動平均不變,。在每次優(yōu)化迭代時,我們根據(jù)平均矩陣來計算風格損失,,而不是基于特定視圖計算,。


最終紋理結(jié)合了期望風格的元素,同時保持了原始紋理的特征,。譬如將梵高的《星夜》作為風格圖像的模型,,其最終紋理就包含了梵高作品中輕快有力的筆觸風格。然而,,盡管風格圖像是冷色調(diào)的,,最終照片里的皮毛還是保持了原始紋理的暖橙色調(diào)。更有趣的是風格遷移時兔子眼睛的處理方式,。例如,,當風格來自梵高的畫作,那兔子的眼睛會像星星一樣旋轉(zhuǎn),,而如果是康定斯基的作品,,兔子眼睛就會變成抽象圖案,但仍然類似原始眼睛,。

微信圖片_20180822141724.jpg


圖 18:將立體派畫家費爾南·萊熱的畫作 The large one parades on red bottom (Fernand Leger, 1953) 的風格遷移到 Stanford Bunny(Greg Turk & Marc Levoy)上的 3D 打印結(jié)果,。


結(jié)論


對于充滿創(chuàng)造力的藝術(shù)家或研究者來說,對參數(shù)化圖像進行優(yōu)化還有很大的空間,。這不僅生成了截然不同的圖像結(jié)果,,還可以生成動畫和 3D 圖像。我們認為本文探討的可能性只觸及了皮毛,。例如,,你可以將對 3D 物體紋理進行優(yōu)化擴展到對材料或反射率的優(yōu)化,甚至可以沿著 Kato 等人 [15] 的方向,,繼續(xù)優(yōu)化 mesh 頂點位置,。


本文主要討論了可微圖像參數(shù)化,因為它們易于優(yōu)化且涵蓋了大多應(yīng)用程序,。當然,,通過強化學習或進化策略 [17, 18] 來優(yōu)化不可微或部分可微的圖像參數(shù)化也是能夠?qū)崿F(xiàn)的。使用不可微參數(shù)化實現(xiàn)圖像或場景生成也很令人期待,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。