0
雷鋒網 AI 科技評論按:蘋果一出手就要解決人工智能的瓶頸問題,野心不可謂不大,但是效果也不可謂不好,最近的一篇機器學習方面的論文就巧妙地解決了訓練數據收集方面的大問題,不僅已經被CVPR2017收錄,剛剛上線的Apple Machine Learning Journal(機器學習日記)網站上的第一篇博文也就是這篇論文的介紹。

7月19日剛剛上線的“蘋果機器學習日記”網站,相比其它硅谷IT公司的 AI 研究院 Blog 可謂是姍姍來遲,大家等待蘋果正式加入知識開放、動作迅速的 AI 研究大家庭已經很久了。不過讓人欣喜的是,第一篇博文就能幫苦于沒有大量訓練數據的研究者們解決不小的麻煩。雷鋒網 AI 科技評論對論文的主要內容介紹如下。
對于現階段的各種人工智能來說,用數據對它們進行訓練是一個必不可少的環節,而且數據的質量會極大地影響人工智能的表現。比如以4:1擊敗李世石的 AlphaGo 是用海量的人類棋譜訓練的,李世石當時也評價 AlphaGo 的棋風有一些人類的影子;而接近兩個月前以 3:0 戰勝柯潔的 AlphaGo Master 版就是用海量的 AlphaGo 高質量自我對局訓練的,去年拋出“狂言”的柯潔今年只能甘拜下風。

圍棋之外還有一個典型的人工智能應用是圖像識別,人工智能要先學習過成千上萬張人類分好的、已經標注過“貓”的貓咪照片,才能學會識別其它圖片里的貓。業內訓練圖像識別系統一般用的都是一百萬張級別的帶標注圖像,而財大氣粗的谷歌上周剛剛雄辯地證明了如果用別人的300倍那么多的圖像(3億張),可以讓識別正確率進一步上升。只是如此數量的圖像已經沒辦法讓人類親自標注了,谷歌也是用了各種手段才湊出了這么多的圖像。
“湊更多的圖像”,或者說數據增補,有一種常見的方法是設計一個圖像模擬器,讓它仿照手里已有的、分好類的真實圖像,生成同類的圖像,新生成的圖像就還是帶有標注的,可以用于人工智能模型的訓練。這種方法的成本就比人低多了,但是用圖像模擬器生成的圖像往往不如原有的圖像真實,訓練出的模型效果就不理想。
所以蘋果的機器學習研發團隊就琢磨了,既然我能輕松地生成帶有標注的圖像,然后它們的真實性不夠好,那我直接在這些圖像的基礎上提高真實性行不行呢?整篇論文要解決的就是這個問題。
基于提高真實性的思路,他們仿照GANs(對抗性生成式網絡)的模式,設計了一種提高圖像真實性的美化網絡。這種美化網絡里包含一個“美化器” R 和一個“鑒別器” D,美化器要想辦法把現有的生成的圖像變得更真實,然后把經過這種美化以后的圖像拿給鑒別器看;鑒別器則掌握著一批真實圖像,參考真實圖像鑒別美化以后的圖像是不是真的。
美化器的目的是輸出更真實的圖像來騙過鑒別器,讓它分不出來真偽;鑒別器則要不斷提高自己的姿勢水平,不能被美化器騙過了。這兩個角色會交替更新,美化器輸出的圖像越來越逼真,鑒別器的鑒別能力也水漲船高。最終等到鑒別器怎么都區分不出來真實的圖像和美化后的圖像了,這個美化網絡就學習完成了。

如圖是美化網絡的示意圖,圖像模擬器生成的圖像經過美化器 R 的處理以后變得更真實了,鑒別器 D 起到促進美化器 R 進化的作用。
蘋果論文中的美化網絡范式與 GANs 有類似之處,都是利用鑒別器 D 的對抗性促進網絡輸出圖像質量的提升;不過 GANs 是使用一個生成器 G 從輸入向量完全生成一張新圖像,蘋果論文的美化網絡中把生成器 G 換成了美化器 R,只是對已有圖像做一些美化調整。
另一方面,蘋果的機器學習研發團隊提出這種美化網絡的目的既然是為了降低“湊圖像”的成本,他們可沒有忘了把降低成本的目的執行到底。還記得剛才我們說鑒別者網絡要手握一批真實圖像做參考嗎,假如這批用作參考的真實圖像也全都是有標注的,這部分人工費就還是要出。能不能把這筆錢也省了呢?蘋果的研究員們告訴你,能!鑒別器參考用的圖像可以是沒有標注的!
提高真實性的想法很好,要怎么引導美化網絡的學習從而得到理想的效果呢?蘋果的研究員們動了這些小心思
關鍵點1:用新設計的鑒別器避免圖像出現瑕疵
以往基于 GANs 的研究中,由于生成器 G 和鑒別器 D 之間是一面對抗一面交替迭代更新的,這就會導致生成器 G 傾向于過分強化圖像中的某一些特征,鑒別器 D 也跟著去重點關注這些特征,結果就會造成像素的漂移、在圖像中形成瑕疵。這些瑕疵最終會成為網絡學習結果的一部分,就降低了輸出圖像的真實性。
由于蘋果論文的美化網絡同樣具有“邊對抗邊交替迭代更新”的特點,GANs 上出現的這個問題也很容易出現在美化網絡里。蘋果的研究員們仔細研究以后對傳統的鑒別器 D 做了一些調整,它不再像以往的方法那樣對圖像進行整體鑒別,而是把整幅圖像看作許多小塊,然后分別對所有小塊的像素特征進行分類,然后統計每個塊的對抗失真損失;圖像偏離真實圖像越遠,損失就越大。這種圖像分割的做法雖然限制了鑒別器的感受野和識別容量,但是對圖像細節的關注更多、更平均,對它對抗的美化器從每幅美化后的圖像接收到的對抗失真損失反饋也是多個局部值的總和,從而能夠獲得更大的提升,訓練后生成圖像的效果更好。

關鍵點2:要保持圖像的標注
美化網絡美化之后的圖像是要作為別的模型的訓練數據的,那么如何保證美化前后的圖像對應的標注保持不變呢?以這篇論文中所使用的數據庫為例,圖像中眼睛注視的角度在美化前后不能有明顯變化,不然就前功盡棄了。
為了保持圖像標注,蘋果的研究員們讓網絡把美化前后的圖像進行對比,根據兩幅圖像間的區別設立一個“自我正則L1損失”(self-regularization L1 loss)項;圖像間區別越大,損失項就越大。
這樣,上文提到的“局部對抗性失真損失”、與這項“自我正則L1損失”組合起來,構成了學習過程的優化目標:讓這兩項損失的組合最小。這樣網絡輸出的圖像就又有高真實度,又能夠保持標注不變。
關鍵點3:給鑒別器加上記憶功能
抽象一點講,模擬器生成+美化器美化后的圖像并不是真正的真實圖像,但是只要這樣的圖像的特征分布與真實圖像的特征分布相同,鑒別器就區分不出來,就達到了引導美化網絡學習的目的了。
理論上,以往 GANs 模型中的鑒別器手握著真實圖像,它就知道真實圖像的特征分布(目標分布),只要生成器拿給鑒別器的圖像不符合真實圖像的分布,它就能夠辨認出來。但是目前的水平上實際很容易發生的一件事是,生成器生成的圖像符合的是另一個完全不同的新分布,然后與之對抗的鑒別器不得不學到一個與之臨近的分布才能進行鑒別,這樣的后果就是鑒別器不能保證總是讓生成器生成的分布更靠近目標分布。兩者邊對抗邊進化的效果很差,就像如下左圖那樣。

利用歷史圖像幫助鑒別器提高的想法的示意圖,生成器和鑒別器的分布分別用橙色和淺藍色表示。圖示是簡化版本,實際分布可能是復雜的、很少連成一片的
為了改善這個問題,蘋果的研究人員們在鑒別器中加入了一個歷史記憶的功能,讓它可以存儲生成器在以前的迭代過程中生成的圖片,這樣鑒別器就更不容易忘記圖像空間中它曾經學過的區域。那么更強的鑒別器就可以幫助生成器更快地向著目標分布前進,如上圖的右圖。
把這個想法再說明白一點,就是直到網絡的訓練結束前,任意時刻、任意一張美化器美化出的圖像對鑒別器來說其實都是“假圖像”,那么如果鑒別器從來都不會忘記自己曾經認出來過的假圖像,美化器也就“不得不”生成越來越真實的圖像。
這種想法在網絡中的實現也很簡單,蘋果的研究人員們在鑒別器中設置了一個隨機替換緩沖區,其中存儲了更早的假圖像。鑒別器迭代時所用的 mini-batch 中有一半的圖像會來自這個緩沖區,另一半來自生成器或者美化器當前生成的圖像。這樣相每個 mini-batch 中都包含一定數量的歷史圖像,經過測試表明這樣的做法對訓練過程有明顯的提升。

訓練鑒別器 D 所用的每個mini-batch都同時含有當前迭代的生成器生成的圖像和來自緩沖區的更早的假圖像
蘋果的研究人員們一并介紹了訓練過程和其中的一些小技巧供其它的研究人員們參考
只用正則化損失項進行初始化
上文提到,網絡的學習優化目標是“局部對抗性失真損失”與“自我正則L1損失”組合起來最小,不過初始化的階段只使用了“自我正則L1損失”以生成與輸入的生成圖像盡可能接近的圖像,美化器會逐漸生成輸入圖像的模糊版本。根據論文介紹,經他們實驗一般的美化器G需要迭代500到2000輪,然后再加入“局部對抗性失真損失”。(這時候鑒別器D還沒有參與訓練)
每輪迭代中步驟數目不同
在每輪訓練迭代中,蘋果的研究人員們對生成器和鑒別器使用的迭代步驟數目是不同的。對于需要用到深度數據的手部姿態估計,生成器 G 每迭代2次,鑒別器 D 只迭代一次;在眼部注視方向預測的實驗中,嘗試調優的最終結果是,生成器 G 每迭代50次,鑒別器 D 才需要迭代一次。他們發現鑒別器的收斂速度比生成器更快,有部分原因來自鑒別器的訓練批量大小。所以他們的調優辦法是先把鑒別器的迭代次數鎖定為一次,然后從較小的數字開始嘗試不同的生成器的迭代次數,根據鑒別器的損失函數逐漸增加,調整至損失函數平衡。

這是訓練中不同階段的鑒別器和生成器/美化器損失的圖示。可以看到,鑒別器的損失一開始很小,說明它可以輕易地分辨美化后的圖像和真實的圖像。然后隨著訓練進行,鑒別者的損失逐漸上升,生成器的損失逐漸減小,輸出的圖像越來越真實。

隨著訓練進行,美化器的輸出不斷變化。一開始是模糊的圖像,然后網絡逐漸學會了重現真實圖像中的細節
低學習速率;目視作為停止條件
蘋果的研究人員們發現,用很小的學習速率(0.0001左右)學習很長時間可以得到比較好的效果。他們猜想這種方法之所以效果不錯可能是因為生成器和鑒別器中的任意一個一旦有大的變化都會直接甩開對方,學習就難以收斂。對于停止條件,他們則表示很難通過訓練損失的值做判定,所以轉而選擇了保存訓練過程中的所有圖片,然后在網絡輸出的圖片肉眼看起來與真實圖像非常相近的時候手工停止訓練。
說了這么多,網絡的效果到底怎么樣呢?當然是很好啦。
首先是一個驗證實驗,驗證美化后的圖像能夠保留原有的標注
蘋果的研究人員們在美化前后的圖像中逐個用橢圓把虹膜圈了出來,然后計算出兩個橢圓的中心距。美化前后中心距的區別如下圖圖示。在對應的生成圖像和美化后圖像間,用橢圓估計出的瞳孔位置變化相當小,只有1.1+/-0.8像素而已,相對于55像素的眼寬是很小的距離。

然后是定性實驗,驗證人類肉眼能否區分美化后的圖像和真實圖像
為了評價美化后圖像的視覺質量,蘋果的研究人員們設計了一個簡單的用戶研究,他們讓一組被試者分辨圖像是真實的還是生成+美化后的。被試者們表示很難從真實圖像和美化后的圖像中找到區別。根據他們的綜合分析結果,10個被試者看了1000組測試圖像,其中只有517組正確地分辨出了真實圖像,這就表明被試者們不能可靠地分辨真實圖像和美化后的圖像。作為對比,當每個被試者看10張美化前的生成圖像和10張真實圖像的時候,200組測試中有162組都能夠正確分辨出真實圖像。

最后是定量實驗,用不同的圖像訓練一個機器學習模型,測試訓練后模型的表現

用美化前后的生成圖片訓練的模型做目視方向預測的結果對比。測試是用真實圖像進行的。圖中曲線越高越好。
相比與用原始的生成圖像訓練,用美化后的生成圖像訓練的模型表現得到了提高。圖中有2點值得注意:1,用美化后的圖像訓練比用原始的生成圖像訓練的效果更好;2,如果用更多的生成數據,模型的表現還可以得到進一步提高。(比如同樣是用經過美化的生成數據,用4倍的數據訓練,模型的表現又得到了大幅提高)
蘋果的研究人員們還拿出了另一項對比結果:基于同樣的數據集,借助生成圖像+美化進行數據增補的方法,他們創下了識別錯誤率的新記錄。

基于MPIIGaze數據集的目視方向預測,不同方法的測試結果對比。[2]和[3]分別為來自CVPR2015的「 Appearance-based Gaze Estimation in the Wild」和來自ACM眼動跟蹤研究與應用2016的「 Learning an Appearance-based Gaze Estimator from One Million Synthesised Images」
這篇來自蘋果機器學習研發團隊的論文已經被頂級學術會議CVPR 2017(IEEE國際計算機視覺與模式識別會議)收錄,論文原文地址為 https://arxiv.org/abs/1612.07828 ,歡迎感興趣的讀者詳細查閱。CVPR2017即將于7月21到26日在夏威夷舉行,雷鋒網 AI 科技評論也會派出記者親赴會議現場帶來全方位的報道。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。