曉查 發自 凹非寺 量子位 報導 | 公眾號 QbitAI
編程不是人人都會,但Excel電子表格就是當代白領的必備技能啊!如果用Excel實現圖像生成,那豈不是。。。
最近還真有人發明了一種SpaceSheet工具,它就是簡單的電子表格界面,即使你完全不會編寫代碼,也能藉助它理解生成對抗網絡(GAN)是如何製造圖像的。
作者把它設計成了一個網頁Demo,供用戶直接訪問:
https://vusd.github.io/spacesheet/
到底怎麼玩?
SpaceSheet應用程式由兩部分組成:
左側是數據選擇器,右側是電子表格界面。
以生成面部圖像為例。在右側的表格個中選中某個位置,再點擊點擊左側的元素來選擇人臉。
通過電子表格頂的按鈕,可以對填入的人臉進行以下一系列操作。
面部特徵的連續變化
通過線性插值(Linear interpolation,LERP),可以按一個值到另一個值的的「距離」,等間距地插入一些圖片。
頂部操作欄中的LERP按鈕使可以在電子表格中的選定單元格之間進行線性插值。
通過線性插值的方法,產生兩張人臉之間的平滑過渡圖像,可以幫助我們理解面部特徵的連續過程:
它不僅支持一維插值,還只支持二維插值。指定四個頂點,可以形成一個插值的「矩陣」,展示4張面部圖片之間的連續變化:
另外,除了在兩個面部圖像的「中點」插值,還能通過滑動條(SLIDER)調節偏移的量。
如果說前面的線性插值是離散的,那麼滑動條就給我們提供了一種連續變化的圖像。它與兩張已知圖像之間「差異」是人為可控的。
提取「金髮」屬性
這套應用程式還可以分離出人臉中的「屬性向量」(Attribute Vectors),
何謂屬性向量?以人的面部特徵為例。
首先,選擇一個黑髮的人臉,再選擇一個金髮的人臉。對二者求差(MINUS),這個差值就是「金髮」特徵,於是我們獲得了一個金髮的屬性向量。
獲得了這個屬性向量後,我們就可以通過求和操作(SUM)給任何人加上金髮了:
同樣的,我們也可以給人減去(MINUS)屬性向量,獲得一個黑髮的面部圖像:
其他基本操作
除了以上幾項操作外,我們還能對面部圖像求「距離」、求「乘積」等。
面部圖像明明是一張圖片,為何能做加減法、求距離呢?
這就不得不提潛在空間,每張面部圖像都是在這個空間中的一個個向量,我們當然可以對這些向量做四則運算。運算的結果是這個空間中的另一個向量,我們可以把它解碼成一張圖片。
用表格理解網絡模型空間
潛在變量
面部圖像組成的潛在空間是由生成神經網絡生成的。
生成神經網絡是一類機器學習算法,從一組訓練數據中學習,並構建廣義模型。 然後我們可以對這些模型進行採樣,以生成新數據樣本,其結果則是基於我們的訓練數據。
這是通過在比原始數據本身參數更少的參數集上訓練神經網絡來實現的。 這樣做,模型學習到了更緊湊的訓練數據表徵。這些表徵被稱為潛在變量。
從潛在空間採樣的潛在變量可以被解碼成可觀察的數據樣本。
舉個例子,如果我們要設計一個紅酒杯,由兩個維度可以進行放大操作,讓它變得更寬,或者更高。變大就可以理解為一個潛在變量。
我們可以在這個空間中探索,但是遇到更複雜的圖像,比如人臉怎麼辦呢?SpaceSheet能直觀地幫助我們理解變量在潛在空間中的連續變化。
屬性向量
通過減法,可以從潛在變量中分離出特定屬性。 通過減法求得的差被稱為屬性向量,並且可以應用於其他潛在變量,轉移它的屬性。
例如,通過計算笑臉圖像的平均矢量並減去沒有笑容的臉部圖像的平均矢量,在臉部的潛在空間中構建「微笑矢量」。
然後可以將該向量添加到潛在變量中或從潛在變量中減去該向量以使它們或多或少地「笑臉」。
儘管提取屬性向量被證明是有效的,但是它還會受到其他「相關屬性」的影響,說明屬性之間存在著強相關性。
例如,從上圖中我們可以發現,「微笑矢量」的應用導致為人臉添加更多女性屬性(女性更愛微笑?)。
SpaceSheet就是讓用戶在這個空間中執行計算,在電子表格裡實時顯示,使用戶能夠立即觀察到操作結果並採取相應措施。
利用這套功能強大的電子表格界面,能夠幫助設計者在潛在空間內進行設計實驗。即使非專業人士也能簡單上手。
對於面部圖像這樣更複雜的空間,SpaceSheet還有一些「高級玩法」更有助於我們理解生成網絡的工作過程。
推理
在線性插值是在兩個變量之間插入一個變量。如果在兩個變量之外,按照線性的方式外推,我們就能夠推理出面部圖片演化的方向。
以上表格圖像中,左上、右上、左下三張人臉圖像都是從左側資料庫中選取,在選中它們後選擇「LERP」,就可以得出右下角人臉圖像。這張圖是根據前3張圖推理得出的。
創建可調節人臉
用戶還能根據已有圖像,創建一個可調節圖像,它與已知圖像的「差異」是認為可控的。
如上圖,MOD單元格中有一個「控制杆」,使用戶能夠圍繞給定的潛在變量進行調整,以獲得類似的潛在變量。
二者的差異程度可以通過控制杆與單元格中心的角度和距離來控制,想怎麼變就怎麼變。
更多數據集
除了字體和人臉之外,網站上還提供顏色、Word2Vec、MNIST手寫數據集供選擇。
研究生導師網絡
SpaceSheet的實現離不開作者自創的「神經網絡」——研究生導師網絡。
△ 作者的神經網絡——「研究生導師網絡」
Tom White紐西蘭惠靈頓大學設計學院的一名高級講師, 他目前的研究重點是神經網絡與設計師合作的創造潛力。
這套工具是由他和他的研究生Bryan Loh組成的「神經網絡」共同完成的:
把隨機idea輸入給「生成器」研究生,然後把研究生的idea結果輸入給「判別器」導師,再確定研究成果是否可以發表。
傳送門
項目地址:https://vusd.github.io/spacesheet/
GitLab地址:https://gitlab.com/bryanlohjy/spacesheets-mdi-eval