苹果机器学习期刊首文:提升合成图像的真实性
本章編譯自蘋果機(jī)器學(xué)習(xí)期刊,原文地址:https://machinelearning.apple.com/
編者按:從 CoreML 到自動駕駛汽車,蘋果的新技術(shù)探索在形成產(chǎn)品之前通常都會處于接近保密的狀態(tài),直到去年 12 月底,他們才以公司的名義發(fā)表了第一篇機(jī)器學(xué)習(xí)領(lǐng)域里的學(xué)術(shù)論文,介紹了自己在改善合成圖像質(zhì)量方面的研究。最近,這家以封閉而聞名的科技巨頭突然宣布將以在線期刊的形式定期發(fā)表自己在機(jī)器學(xué)習(xí)方面的研究,而這份期刊的第一篇文章主要探討的依然是合成圖像的真實性,讓我們先睹為快。
現(xiàn)在,神經(jīng)網(wǎng)絡(luò)的絕大多數(shù)成功實例來自監(jiān)督學(xué)習(xí)。然而,為了達(dá)到高精度,數(shù)據(jù)訓(xùn)練集需要大且多元,并經(jīng)過精確標(biāo)注,這意味著高昂的成本。標(biāo)注海量數(shù)據(jù)的一個替代方案是使用來自模擬器的合成圖像;這很廉價,并且沒有標(biāo)注成本,但是合成圖像缺乏逼真度,導(dǎo)致泛化到實際測試圖像時效果欠佳。為了彌補(bǔ)這一性能差距,我們提出了一種新方法,可以改進(jìn)合成圖像使其看起來更逼真,并在不同的機(jī)器學(xué)習(xí)任務(wù)中取得了顯著的精度提升。
概覽
通過標(biāo)準(zhǔn)合成圖像訓(xùn)練機(jī)器學(xué)習(xí)模型存在一定的問題,因為圖像逼真度不夠,導(dǎo)致模型只學(xué)習(xí)到了合成圖像的細(xì)節(jié),卻無法很好地泛化到真實圖像上。縮小合成與真實圖像之間差距的一個方法是改善模擬器,這通常很昂貴和困難;即使最佳的渲染算法仍然無法對真實圖像中存在的所有細(xì)節(jié)進(jìn)行建模。真實度的缺乏導(dǎo)致模型對合成圖像中的非真實細(xì)節(jié)產(chǎn)生了過擬合。我們可否不建模模擬器中的所有細(xì)節(jié),而是直接從數(shù)據(jù)中學(xué)習(xí)呢?為此,我們提出了一種改善合成圖像以使其看起來更逼真的方法。
圖 1. 該任務(wù)是借助非標(biāo)注的真實數(shù)據(jù)學(xué)習(xí)一個模型,從而提高來自模擬器的合成圖像的真實度,同時保留其注解信息。
提高真實度的目標(biāo)是使圖像看起來盡可能地逼真從而提高測試的精度。這意味著我們要為機(jī)器學(xué)習(xí)模型的訓(xùn)練保留注解信息。例如,圖 1 中的注視方向應(yīng)該被保留,同時不生成任何偽影,因為機(jī)器學(xué)習(xí)模型可能對它們產(chǎn)生過擬合。我們訓(xùn)練了一個深度神經(jīng)網(wǎng)絡(luò)——「改善器網(wǎng)絡(luò)(refiner network)」,用來提高合成圖像的真實度。
為了訓(xùn)練改善器網(wǎng)絡(luò),我們需要一些真實圖像。一個選擇是需要若干對真實與合成圖像,且二者之間的像素相對應(yīng),或者帶有注解的真實圖像,如上圖中的注視信息。這無疑降低了問題的難度,但是這樣的數(shù)據(jù)對很難收集。為了實現(xiàn)像素的對應(yīng),我們要么渲染一張合成圖像以對應(yīng)于一張給定的真實圖像,要么反之。我們可以無需像素的對應(yīng)或者不對真實圖像做任何標(biāo)注而習(xí)得兩者之間的映射,從而降低成本使其易于推廣嗎?
為了以無監(jiān)督的方式訓(xùn)練改善器網(wǎng)絡(luò),我們借助鑒別器網(wǎng)絡(luò)(discriminator network)來分類真實與改善的(假的)圖像。改善器網(wǎng)絡(luò)試圖愚弄鑒別器網(wǎng)絡(luò),使其相信改善的圖像是真實的。兩個網(wǎng)絡(luò)交替訓(xùn)練,當(dāng)鑒別器網(wǎng)絡(luò)無法區(qū)分真實與虛假圖像時,則訓(xùn)練停止。鑒別器網(wǎng)絡(luò)的對抗式使用和生成對抗網(wǎng)絡(luò)(GAN)原理相類似。我們的目標(biāo)是訓(xùn)練一個改善器網(wǎng)絡(luò)——一個生成器——從而把合成圖像映射到逼真圖像。圖 2 給出了該方法的概述。
圖 2. 我們的改善器神經(jīng)網(wǎng),R,最大限度地減少了局部對抗性損失函數(shù)與一個「自正則化」項(『self-regularization』 term)的結(jié)合。對抗性損失函數(shù)「愚弄」鑒別器網(wǎng)絡(luò),D,后者負(fù)責(zé)區(qū)分一張圖片的真假。自正則化項最小化了合成與改善圖像之間的差別。改善器網(wǎng)絡(luò)和鑒別器網(wǎng)絡(luò)交替更新。
我們?nèi)绾伪A糇⒔?#xff1f;
除了生成逼真圖像,改善器網(wǎng)絡(luò)還保留模擬器的注解信息。比如,對于注視的評估,習(xí)得的變換不應(yīng)該改變注視的方向。這一限制很關(guān)鍵,使得可以使用帶有模擬器注解的改善圖像訓(xùn)練機(jī)器學(xué)習(xí)模型。為了保留合成圖像的注解,我們使用自正則化 L1 損失函數(shù)補(bǔ)充了對抗性損失函數(shù),從而懲罰了合成圖像與改善圖像之間的大變化。
我們?nèi)绾伪苊鈧斡?#xff1f;
制造局部變化
改善器網(wǎng)絡(luò)的另一個關(guān)鍵需求是它可以引入任何偽影而學(xué)習(xí)建模真實圖像的特征。當(dāng)我們訓(xùn)練一個單一的強(qiáng)鑒別器網(wǎng)絡(luò)時,改善器網(wǎng)絡(luò)傾向于過度強(qiáng)調(diào)若干個圖像特征以愚弄當(dāng)前的鑒別器,導(dǎo)致了偽影的飄移和產(chǎn)生。一個關(guān)鍵的觀察是,從改善圖像采樣的任何局部圖像塊應(yīng)該具有與真實圖像圖像塊相似的統(tǒng)計。因此,我們沒有定義一個整體的鑒別器網(wǎng)絡(luò),而是定義了 一個獨(dú)自分類所有局部圖像塊的鑒別器網(wǎng)絡(luò)(圖 3)。該劃分不僅限制了接收域(進(jìn)而限制了鑒別器的能力),還為每張圖像提供了很多樣本以學(xué)習(xí)鑒別器網(wǎng)絡(luò)。改善器網(wǎng)絡(luò)也通過擁有每張圖像的多個真實損失函數(shù)值而獲得了提升。
圖 3. 局部對抗性損失函數(shù)的圖式。鑒別器網(wǎng)絡(luò)輸出了一個 w × h 概率圖。對抗性損失函數(shù)是局部圖像塊之間的交叉熵?fù)p失之和。
使用生成器的歷史信息來改善鑒別器
生成器可以用一個新型分布或目標(biāo)(真實數(shù)據(jù))分布的樣本來「愚弄」生成器。直到鑒別器學(xué)會那個新分布以前,新分布的生成結(jié)果都會對鑒別器進(jìn)行「欺騙」。生成器愚弄鑒別器的更有效的方式則是通過目標(biāo)分布(target distribution)來生成結(jié)果。
要想使這兩種方式進(jìn)化,通常最簡單的方法就是生成一個全新的輸出,也就是當(dāng)我們用相互對抗的方式來訓(xùn)練當(dāng)前生成器和鑒別器的時候所觀察到的結(jié)果。這種無效序列的簡單情況如圖 4 左手邊所示。生成器和鑒別器分布分別以×××和藍(lán)色區(qū)域來表示。
通過引入歷史信息,即從先前生成結(jié)果中存儲的生成器樣本(圖 4 右手邊),鑒別器就不太可能會忘記它已經(jīng)學(xué)習(xí)過的部分信息了。更強(qiáng)大的鑒別器幫助生成器更快地靠近目標(biāo)分布。然而實際上,一個簡單且隨機(jī)的替換緩沖器(replacement buffer)可以從先前生成器的分布中采集足夠的多樣性。我們的觀念是,在整個訓(xùn)練過程當(dāng)中的任意時間,通過改善器網(wǎng)絡(luò)生成的任何改善的圖像實際上對鑒別器來說都是一個「假」的圖像。我們發(fā)現(xiàn),使用從歷史信息緩沖器采集到的樣本作為一半,以及把當(dāng)前生成器的輸出作為另一半,來給 D 建造一個 mini-batch,我們就可以實現(xiàn)對訓(xùn)練的改進(jìn)。
圖 4. 使用圖像歷史信息提升鑒別器的直覺例證。
圖 5. 帶有 D 的歷史信息的 mini-batch 例證。每個 mini-batch 包括來自生成器當(dāng)前迭代的圖像以及先前假圖像的緩沖器。
訓(xùn)練過程如何展開?
我們首先訓(xùn)練改善器網(wǎng)絡(luò)的自正則化損失函數(shù),在改善器網(wǎng)絡(luò)開始輸出輸入合成圖像的模糊版本后引入對抗性損失函數(shù)。圖 6 是改善器網(wǎng)絡(luò)在每個訓(xùn)練步驟的輸出結(jié)果。隨著訓(xùn)練過程的進(jìn)行,改善器網(wǎng)絡(luò)輸出的模糊圖像越來越真實。圖 7 是鑒別器損失函數(shù)生成器損失函數(shù)在不同訓(xùn)練迭代階段的變化趨勢。需要注意的是,一開始鑒別器損失較低,這說明該網(wǎng)絡(luò)可以輕松區(qū)分真實圖像和改善圖像。隨著訓(xùn)練過程的進(jìn)行,鑒別器損失逐漸上升,生成器損失逐漸下降,改善器網(wǎng)絡(luò)生成的圖像也更加真實。
圖 6. 改善器網(wǎng)絡(luò)在訓(xùn)練過程中的輸出結(jié)果。最初輸出的圖像比較模糊,隨后改善器網(wǎng)絡(luò)學(xué)習(xí)對真實圖像中的細(xì)節(jié)進(jìn)行建模。
圖 7. 訓(xùn)練過程中的鑒別器損失和生成器損失
自正則化 L1 損失有限制性嗎?
如果合成圖像和真實圖像在分布中存在顯著差別,那么即使是像素級 L1 的不同也會帶來限制。在這種情況下,我們可以在特征空間上使用自正則項,用替代性特征變換(alternative feature transform)來替代標(biāo)識映射。這些是手動調(diào)整的特征,或者習(xí)得的特征,如 VGGnet 的中層。如圖 8 所示,RGB 通道可以生成真實的圖像顏色。
圖 8. 在特征空間中使用自正則化損失的實例。
生成器會改變標(biāo)簽嗎?
為了保證標(biāo)簽不被大量改變,我們在合成圖像和改善圖像上手動畫橢圓,并計算中心之間的距離。圖 9 是 50 個此類中心區(qū)距離的散點圖。合成圖像和對應(yīng)改善圖像的瞳孔中心的絕對距離非常小:1.1 +/- 0.8px(眼睛寬度 = 55px)。
圖 9. 合成圖像和真實圖像瞳孔中心距離的散點圖。
如何調(diào)整超參數(shù)
G 的初始化
首先我們只在自正則損失中初始化 G,這樣它就可以生成模擬版本的合成輸入。通常 G 需要 500-2000 步(在沒有訓(xùn)練 D 的情況下)。
在每個訓(xùn)練迭代中 G 和 D 的不同步驟
我們在生成器和鑒別器每一個訓(xùn)練迭代中使用了不同的訓(xùn)練步數(shù)。對于手勢估算使用深度,我們在每個 D 的步數(shù)中使用 2 個 G 步數(shù);而對于目視估計任務(wù),我們最終找到在每個 D 步數(shù)中使用 50 個 G 步數(shù)能達(dá)到最佳性能。我們發(fā)現(xiàn)鑒別器與生成器相比,前者能更快地收斂,部分原因是鑒別器中有 batch-norm。所以我們將 #D 的步數(shù)修改為 1,并從小數(shù)字開始變化 #G 的步數(shù),根據(jù)鑒別器損失值緩慢增加。
學(xué)習(xí)速率和 stopping 標(biāo)準(zhǔn)
我們發(fā)現(xiàn)讓學(xué)習(xí)速率保持在非常小的數(shù)值上(約 0.0001)并訓(xùn)練很長時間能達(dá)到最好的效果。該方法有意義的原因可能是這樣可以讓生成器和鑒別器不會發(fā)生突變,讓其中一個甩開另一個。我們發(fā)現(xiàn)很難通過可視化訓(xùn)練損失來停止訓(xùn)練。取而代之的是,我們保存訓(xùn)練圖像作為訓(xùn)練進(jìn)度,并在改善化圖像看起來與真實圖像相近時停止訓(xùn)練。
定性結(jié)果
為評估改善圖像的視覺質(zhì)量,我們設(shè)計了一個簡單的用戶調(diào)查,請參與者將圖像按真實圖像和改善合成圖像進(jìn)行分類。調(diào)查發(fā)現(xiàn)參與者很難區(qū)分真實圖像和改善圖像。經(jīng)過綜合分析,10 名參與者在 1000 次試驗中選對標(biāo)簽的次數(shù)是 517 次,即他們不能確切地辨認(rèn)出真實圖像和改善合成圖像的區(qū)別。但是,在對原始合成圖像和真實圖像進(jìn)行測試的時候,我們向每位參與者展示真實圖像和合成圖像各 10 張。在 200 次試驗中,參與者一共選對了 162 次。圖 10 展示了一部分合成圖像和對應(yīng)的改善圖像實例。
圖 10. 使用上文所述方法改善后的眼睛圖像實例。
定量結(jié)果
圖 11 展示了使用改善數(shù)據(jù)的性能提升,與使用原始合成數(shù)據(jù)的訓(xùn)練效果相比。在下圖中有兩個重點:(1)使用精細(xì)圖像進(jìn)行訓(xùn)練優(yōu)于使用原始合成圖像的訓(xùn)練;(2)使用更多合成數(shù)據(jù)可進(jìn)一步提高性能。在圖 12 中,我們將目視估計誤差與其他目前最好的方式進(jìn)行了比較,展示了提升測試數(shù)據(jù)的真實性可以顯著提高模型生成質(zhì)量。
圖 11. 使用合成和改善化圖像進(jìn)行注視估計的性能對比。評估使用了真實圖片。
圖 12. 在 MPIIGaze 數(shù)據(jù)集中不同方法之間的注視估計性能對比。
相關(guān)工作
近年來,使用對抗性訓(xùn)練方式的研究正在變得越來越流行。Isola 等人的圖像到圖像(p_w_picpath-to-p_w_picpath)轉(zhuǎn)換論文 [4] 解釋了一種將圖像從一種形式轉(zhuǎn)換為另一種的方法,但它需要像素級的對應(yīng)。隨后,該研究組又提出了非配對的圖像到圖像轉(zhuǎn)換方法 [5],討論了放寬對像素關(guān)聯(lián)的限制,并根據(jù)我們的策略使用了生成器歷史來提升鑒別器的能力。英偉達(dá) 5 月份提出的無監(jiān)督圖像到圖像轉(zhuǎn)換網(wǎng)絡(luò) [6] 使用 GAN 和變分自動編碼器的組合來學(xué)習(xí)源域和目標(biāo)域之間的映射。Costa 等人隨后受我們的啟發(fā)展示了生成眼底圖像的研究 [7]。而 Sela 等人也使用了類似的自正則化方法來進(jìn)行面部幾何重建 [8]。Lee 等人從局部關(guān)鍵圖像塊上使用鑒別器來學(xué)習(xí)合成新的圖片 [9]。若想獲知有關(guān)本研究的更多細(xì)節(jié),請查閱蘋果的 CVPR 論文《Learning from Simulated and Unsupervised Images through Adversarial Training》[10]。
論文:通過對抗性訓(xùn)練從模擬和無監(jiān)督圖像中學(xué)習(xí)(Learning from Simulated and Unsupervised Images through Adversarial Training)
論文地址:https://arxiv.org/abs/1612.07828
隨著圖像技術(shù)的最新進(jìn)步,在合成圖像上對模型進(jìn)行訓(xùn)練也變得更加易于處理,一定程度上避免了對昂貴標(biāo)注的需求。然而,由于合成圖像分布和真實圖像分布之間存在差距,從合成圖像中進(jìn)行學(xué)習(xí)往往可能不會達(dá)到所期望的性能表現(xiàn)。為了減小這一差距,我們提出了模擬+非監(jiān)督學(xué)習(xí)方法(Simulated+Unsupervised learning,S+U),任務(wù)就是通過使用非標(biāo)注的真實數(shù)據(jù)來學(xué)習(xí)一個模型,從而增強(qiáng)模擬器輸出的真實性,同時保留模擬器中的標(biāo)注信息。我們開發(fā)出了一種 S+U 學(xué)習(xí)方法,使用類似于生成對抗網(wǎng)絡(luò)的對抗型網(wǎng)絡(luò),用合成圖像作為輸入(而不是隨機(jī)向量)。我們對標(biāo)準(zhǔn) GAN 算法進(jìn)行了幾處關(guān)鍵性的修改,從而來保存標(biāo)注,避免失真以及使訓(xùn)練穩(wěn)定化:(i)一個「自正則化」項,(ii)一個局部對抗損失(local adversarial loss),以及(iii)使用改善圖像的歷史信息來對鑒別器進(jìn)行更新。我們通過定性說明和用戶研究,展示出了此結(jié)構(gòu)能夠生成高真實度的圖像。我們通過訓(xùn)練視線估計(gaze estimation)和手勢估計(hand pose estimation)的模型對生成圖像進(jìn)行了定量評估。我們在使用合成圖像方面展現(xiàn)出了顯著的提升效果,并且在沒有任何已標(biāo)注的真實數(shù)據(jù)的情況下,在 MPIIGaze dataset 數(shù)據(jù)集上實現(xiàn)了一流的結(jié)果。
文章首發(fā)于微信公眾號:機(jī)器之心(almosthuman2014)
參考內(nèi)容:
[1] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio, Generative Adversarial Nets. Proceedings Neural Information Processing Systems Conference, 2014.two thousand fourteen
[2] X. Zhang, Y. Sugano, M. Fritz, and A. Bulling, Appearance-based Gaze Estimation in the Wild. Proceedings Computer Vision Pattern Recognition Conference, 2015.two thousand fifteen
[3] E. Wood, T. Baltruaitis, L.-P. Morency, P. Robinson, and A. Bulling, Learning an Appearance-based Gaze Estimator from One Million Synthesised Images. Proceedings ACM Symposium on Eye Tracking Research & Applications, 2016.two thousand sixteen
[4] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros, Image-to-Image Translation with Conditional Adversarial Networks. ArXiv, 2016.two thousand sixteen
[5] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. ArXiv, 2017.two thousand seventeen
[6] M.-Y. Liu, T. Breuel, and J. Kautz, Unsupervised Image-to-Image Translation Networks. ArXiv, 2017.two thousand seventeen
[7] P. Costa, A. Galdran, M. I. Meyer, M. D. Abràmoff, M. Niemeijer, A. M.Mendona, and A. Campilho, Towards Adversarial Retinal Image Synthesis. ArXiv, 2017.two thousand seventeen
[8] M. Sela, E. Richardson, and R. Kimmel, Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation. ArXiv, 2017.two thousand seventeen
[9] D. Lee, S.Yun, S. Choi, H. Yoo, M.-H. Yang, and S. Oh, Unsupervised Holistic Image Generation from Key Local Patches. ArXiv, 2017.two thousand seventeen
[10] A. Shrivastava, T. Pfister, O. Tuzel, J. Susskind, W. Wang, R. Webb, Learning from Simulated and Unsupervised Images through Adversarial Training. CVPR, 2017.
轉(zhuǎn)載于:https://blog.51cto.com/jiqizhixin/1949402
總結(jié)
以上是生活随笔為你收集整理的苹果机器学习期刊首文:提升合成图像的真实性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: puppet基础篇(练习篇)
- 下一篇: ES6入门概览二--数组