當前位置:
首頁 > 新聞 > 斯坦福兔子 3D 模型被玩壞了,可微圖像參數化放飛你的無限想像力

斯坦福兔子 3D 模型被玩壞了,可微圖像參數化放飛你的無限想像力

雷鋒網按:本文為AI研習社編譯的技術博客,原標題 Differentiable Image Parameterizations,作者為  SHIVAM BANSAL 。

翻譯 | 王飛   陳澤斌  Monica  陳臘梅        校對 | 餘杭     整理 | MY

受過訓練以對圖像進行分類的神經網路具有非凡的意義和驚人的生成圖像的能力。諸如 DeepDream,風格遷移和特徵可視化等技術利用這種能力作為探索神經網路內部工作的強大工具,並為基於神經藝術的小型藝術運動提供動力。

所有這些技術的工作方式大致相同。計算機視覺中使用的神經網路具有它們所看到的圖像的豐富內部表示。我們可以使用此表示來描述我們希望圖像具有的屬性(例如樣式),然後優化輸入圖像以具有這些屬性。這種優化是可能的,因為網路在輸入方面是可區分的:我們可以稍微調整圖像以更好地適應所需的屬性,然後在梯度下降中迭代地應用這種調整。

通常,我們將輸入圖像參數化為每個像素的 RGB 值,但這不是唯一的方法。只要從參數到圖像的映射是可區分的,我們仍然可以使用梯度下降來優化可選的參數化方式。

1:只要圖像參數化是可區分的,那我們就可以對其進行反向傳播。

可區分的圖像參數化不禁讓我們想問:我們可以反向傳播什麼樣的圖像生成過程?答案很多,甚至有一些可以產生各種有趣的效果,包括 3D 神經藝術,具有透明度的圖像以及對齊插值。之前使用特定異常圖像參數化的工作已經顯示出令人興奮的結果,我們認為縮小並整體觀察這個區域表明,其中還存在著更多的潛力尚待挖掘。

為什麼參數化很重要?

儘管實際優化後目標函數保持不變,但改變優化問題的參數化可能會顯著改變結果,這似乎令人驚訝。以下是參數化的選擇可能產生重大影響的四個原因:

改進後的優化:轉換輸入以使優化問題更容易,即被稱為「預處理」的技術,是優化的主要內容。預處理通常表現為梯度的變換(通常將其乘以正定的「預處理器」矩陣)。但是,這相當於優化輸入的備用參數化。我們發現參數化的簡單變化使得神經藝術的圖像優化和圖像優化變得更加容易。

吸引盆:當我們優化對神經網路的輸入時,通常存在許多不同的解決方案,分別對應於不同的局部最小值。訓練以複雜優化場景圖(landscapes)為特徵的深度神經網路,其對於給定目標可具有許多同樣良好的局部最小值。(請注意,找到全局最小值並不總是可取的,因為它可能會導致模型過擬合。)因此,優化神經網路的輸入也會產生許多局部最小值,這並不奇怪。我們的優化過程落入任何特定局部最小值的概率由其吸引力盆地(即,在最小值的影響下的優化場景圖的區域)控制。已知改變優化問題的參數化會改變不同吸引盆的大小,從而影響可能的結果。

附加約束:一些參數化僅涵蓋可能輸入的子集,而不是整個空間。在這樣的參數化中工作的優化器仍將找到最小化或最大化目標函數的解決方案,但它們將受到參數化的約束。通過選擇正確的約束集,可以施加各種約束,範圍從簡單約束(例如,圖像的邊界必須是黑色)到豐富的細微約束。

隱式優化其他對象:參數化可以在內部使用與其輸出的對象以及我們所要優化的對象不同的對象。例如,雖然視覺網路的自然輸入是 RGB 圖像,但我們可以將該圖像參數化為 3D 對象的渲染,並且通過在渲染過程中反向傳播來優化該圖像。因為 3D 對象具有比圖像更多的自由度,所以我們通常使用隨機參數化來生成從不同視角渲染的圖像。

在本文的其餘部分,我們給出了具體的例子,這些方法都很有用,都能產生令人驚訝和有趣的視覺效果。

第一部分:對齊特徵可視化插值

特徵可視化最常用於可視化單個神經元,但它也可用於可視化神經元的組合,以研究它們如何相互作用。目的不是優化圖像以激活單個神經元,而是優化它來激活多個神經元。

當我們想要真正理解兩個神經元之間的相互作用時,我們可以更進一步,創建多個可視化,逐漸將目標從優化一個神經元轉移到對其他神經元激活的加權。這在某些方面類似於像 GAN 這樣的生成模型的潛在空間中的插值。

儘管如此,還是存在一個小挑戰:特徵可視化是隨機的。即使你針對完全相同的目標進行優化,每次都會以不同的方式呈現出可視化結果。通常,這不是問題,但它確實減損了插值可視化。如果我們不加思索地進行處理,所得到的可視化將是不對齊的:諸如眼睛的視覺位置出現在每個圖像中的不同位置。這種缺乏對齊可能會因為目標略有不同而難以看出差異,因為它們被布局中更大的差異所淹沒。

如果我們將插值幀看作動畫,我們可以看到獨立優化的問題:

2

我們如何實現這種對齊插值,其中視覺位置不在幀之間移動?可以嘗試許多可能的方法。例如,可以明確地懲罰相鄰幀之間的差異。我們的最終結果和我們的 colab notbook 將此技術與共享參數化結合使用。其中一個是使用共享參數化:每個幀被參數化為其自己的唯一參數化和單個共享參數化的組合。

3

通過在框架之間部分共享參數化,我們儘可能使生成的可視化自然對齊。直觀上感覺,共享參數化為視覺標誌的位移提供了公共參考,而獨特的參數化基於其插值權重給予每個幀其自身的視覺吸引力。此參數化不會更改目標,但它會擴大可視化對齊的吸引力盆地。

這是一個初始的例子,說明了可區分參數化通常是如何成為可視化神經網路的有用的附加工具的。

第二部分:非 VVG 架構下的風格遷移

神經風格遷移一直以來都有一個未解之謎:儘管它已經取得顯著的成功,但幾乎所有的風格遷移都是依賴於 VGG 架構完成的。這並不是因為沒有人對基於其他體系結構的風格轉移感興趣,而是因為不斷的嘗試過後發現效果都很差。在 Medium、 Reddit 和 Twitter 上都可以找到用不同架構進行實驗的例子。

如今已經提出了幾個假設來解釋為什麼在 VGG 架構上工作會比在其他模型上效果好得多。一種解釋是由於 VGG 架構有比較大的規模去獲取其他模型丟失的信息,這些信息即使說對分類沒什麼幫助,但是它確實能夠使得該模型更好的完成風格遷移。另一種解釋是其他模型相比於 VGG 模型更具有攻擊性,這也導致其失去空間信息。我們認為可能還有另外一個因素:大多數現代視覺模型在梯度上都有棋盤狀偽影,這可能使程式化圖像在進行優化時變得更加困難。

在之前的工作中,我們發現解相關的參數化可以明顯提高優化效果,同時這種方法也可以改善風格遷移。在這裡請允許我們使用一個沒有產生視覺吸引力的風格遷移模型:

4:移動最終優化圖像下的滑塊,將像素空間中的優化效果與非相關空間中進行比較。這兩張圖像是在同一個目標下創建的,它們的區別僅在於參數化的不同。

讓我們更全面地去思考這個改變。風格遷移涉及三種圖像:內容圖像、風格圖像以及我們優化後的圖像。這三種圖像都要放入卷積神經網路中,風格遷移物體與其他的不同之處是在於激活卷積運算的的方式不同。我們唯一的改變是如何將優化後的圖像參數化。相對於用像素級別的參數化(這種方法易受鄰近像素點的影響),我們採用縮放的傅里葉變換進行參數化。

5: 在去相關領域中的圖像使得風格遷移對模型的選擇更加穩定。內容目標旨在讓神經元與內容圖像在同樣的位置上做出標記。風格目標緻力於創建類似於風格圖像中的神經元激活模式(不考慮位置關係)。這與二維傅里葉變換相反。

我們精確的實行方法可在附錄中查看。注意該方法也使用了遷移穩定性,這種穩定性並不適用於所有的風格遷移。

第三部分:複合模式生成網路

至今為止,我們已經研究了使用像素或傅里葉方法進行參數化,這些參數化程度與我們通常對圖像的認知比較接近。在該節中我們探討了通過使用不同的參數化將額外約束添加到優化過程的可能性。更確切的說,我們將圖像當成神經網路一樣進行參數化,特別是複合模式生成網路。

複合模式生成網路是將(x,y)位置映射到圖像顏色中的神經網路。

將複合模式生成網路應用到位置網路中,可以做出任意解析度的圖像。CPPN 網路的參數-權重與偏差決定產生什麼樣的圖像。根據 CPPN 所選擇的架構,所得到的圖像中的像素與鄰近像素共享顏色在一定程度上受限制。

隨機參數可以產生審美直觀上感興趣的圖像,但是我們可以通過學習 CPPN 上的參數生產更多有趣的圖像,通常這是由進化所完成的。這裡,我們研究了反向傳播某些目標函數的可能性,例如特徵可視化目標。這是很容易就可以做到的,因為 CPPN 網路跟卷積神經網路一樣是可微的,並且目標函數同樣也可以通過 CPPN 傳播從而更新其參數。也就是說,CPPNs 是一種可微化的圖像參數化--一種在任何神經藝術或可視化任務中參數化圖像的通用工具

6 : CPPNs 是一個可微的圖像參數化,我們可以通過反向傳播傳遞圖像將其應用於神經網路藝術或可視化任務,通過 CPPNs 得到其參數。

使用 CPPNs 作為圖像參數化能夠為神經網路藝術增添一種有趣的藝術品質,讓我們朦朧的聯想到光繪。(注意,這裡光繪的隱喻是比較模糊的:例如光的合成是一個加法過程,而 CPPNs 可以在層與層之間由負的權重連接。更理論層面說,它們可以被視為約束你圖像合成複雜度的因素。當用於優化特徵可視化目標時,它們生成了不同的圖像。)光繪是一種通過稜鏡和鏡子控制彩色光束從而產生圖像的藝術媒介。這種技術典型的應用就是 Stephen Knapp 的作品。

7:CPPN 作為一種可微的圖像參數化用於不同層之間的特徵可視化。

所生成的圖片的視覺質量受到所選擇的 CPPN 的架構的影響,不僅是網路的形狀(即層和濾波器的數目起到了作用),而且還跟所選擇的激活函數與歸一化有關。例如,較深的網路比較淺的網路產生更多細微的成分。我們鼓勵讀者通過改變 CPPN 的架構來生成不同的圖像,如果想嘗試的話可以通過修改附錄中的代碼就能輕易地完成。

CPPN 所產生的模式演變就是藝術的產物。為了保持光繪的寓意,優化過程應該考慮光束方向和形狀迭代的調整。例如,因為迭代變化相比於像素參數化更有全局影響。在優化開始時,只有主要模式是可見的,通過迭代調整權重,我們想像的光束就會以更完整的細節出現在相應的位置上。

8:訓練期間 CPPNS 的輸出。在移動設備上你可以通過盤旋或者輕拍的方式來控制每一個視頻。

通過這些隱喻,我們可以創造一種能夠從上述圖片中的任意一張變換成不同圖片的新類型動畫。直觀地說,我們通過 移除光影雕塑上的光束來創造新的圖像。事實上,這個結果是通過內插兩種不同模式的 CPPN 權重表達式來實現的。然後在給定內插 CPPN 表示法的情況下生成圖像從而得到多個中間框架。和之前一樣,參數的變化具有全局性,並創造視覺上令人滿意的中間框架。

9:在兩個已知點中間插入 CPPN 權重

在本小節中,我們提出了一種超標準圖像表示的參數化。針對給定目標函數優化的圖像,神經網路(在這種情況下為 CPPN)可用於參數化。更確切地說,我們將特徵可視化目標函數與 CPPN 參數化相結合,來創造具有獨特視覺風格的無限解析度圖像。

第四部分:生成半透明圖案

本篇文章中使用的神經網路被訓練用來接收 2D RGB 圖像作為輸入。是否可以用類似的網路來合成超出這種模式的工件呢?事實證明利用可微分參數化定義一系列圖像而不是單一圖像,然後在每一個優化步驟從系列中取一個或者若干圖片作為樣本可以實現。這非常重要,因為我們接下來探索優化的許多對象,在進入網路時比圖片有著更多的層級和自由度。

......


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

普渡大學教授Richard Voyles談精準交互無人機技術
金融科技2.0時代,我們為什麼看好這三家公司的未來?

TAG:雷鋒網 |