AlphaGoZero下棋贏了它“哥”,AI自主學(xué)習的時代到了嗎?
以往,我們提起AI,有一個共識,即它在某些方面已經(jīng)碾壓人類,比如下圍棋;它在另一些方面遠不及人類,比如認識一只動物、認識很多只動物。原因之一是AI自主學(xué)習能力遠不及人。
前幾天,AlphaGoZero橫空出世,從零開始,閉關(guān)72小時自我對弈圍棋,即100:0完勝之前用了幾個月時間成長、勝了李世乭的AlphaGo。這似乎表明,開發(fā)某個專項智能時,AI算法不再像過去那樣動輒需要百萬、千萬量級的有監(jiān)督大數(shù)據(jù),算法甚至可以從0數(shù)據(jù)開始自主學(xué)習,頂多只需大規(guī)模無監(jiān)督數(shù)據(jù)。
于是,很多人驚呼AI自主學(xué)習的時代到來了。似乎很快就會有一個叫做AIZero的學(xué)神小寶貝橫空出世,自主狂學(xué)一個月,馬上長大成人,變成一個智商、情商超越人類的AI100。
但事實恐怕并非如此。
我本人是做計算機視覺研究工作的,尤以人臉識別方面的研究比較多。便借AlphaGoZero之東風,我也做了個FaceZero的夢,想了想人臉識別從0自主學(xué)習的可能性。
AlphaGoZero自造數(shù)據(jù)的思想很難擴展到FaceZero
先看看AlphaGoZero學(xué)神怎么做的:從0開始自造數(shù)據(jù)。對人臉來說,這個第一步就有點懸了,如何造人臉呢?圍棋有明確的落子規(guī)則和輸贏判斷準則,按規(guī)則模擬對弈即可造出大量有監(jiān)督的數(shù)據(jù)?扇四樔绾螐0造?如果沒有任何的人臉樣例或知識,除非上帝他老人家在,否則怕只能造一堆鬼臉出來反正誰也沒見過鬼,怎么造都行。
如果這樣,www.whsntf.cn,怕是這夢只能醒了。
那,至少給一張人臉,讓算法自己舉一反三,創(chuàng)造千千萬萬張人臉可行嗎?比如給算法一張大奧黛麗赫本的人臉圖像,讓算法把赫本這張人臉照片變啊變,變出1000幅赫本女神的人臉圖出來,再變出成千上萬不是赫本女神、但長相合理的人臉。
且不說怎么變形的難題,這里面有兩個問題需要解決:如何保證算法舉一反三變出來的人臉還是女神的臉而不是孫悟空、豬八戒的臉部照?以及,如何保證算法可以舉一反三變出奧巴馬、貓王等各種人的臉部照?要解決這兩個問題,我們需要大量人臉的樣例或其他知識,比如人臉的3D結(jié)構(gòu)、成像的物理模型、老化模型、表情模型、眼鏡模型等等。
這就和最初給一張人臉的假設(shè)矛盾了,這夢便只能是南柯夢了。
再退一步,即使我們有赫本女神人臉的3D結(jié)構(gòu)和成像模型等,這兩個問題仍然需要解決:什么幅度的3D形變,比如變胖或變瘦或變老,可以確保還是赫本本人而不會變成其他人?什么樣的形變可以確保變出一個合理的人臉,而不會變出一個史瑞克或豬八戒?
人臉識別在這里體現(xiàn)出一個和圍棋對弈的較大差別:圍棋有明確的勝負判定規(guī)則,而人臉識別并沒有一個這樣的判定規(guī)則。所以,人臉識別算法如果也使用對AlphaGo至關(guān)重要的增強學(xué)習方法,借試錯實現(xiàn)自主學(xué)習,不太現(xiàn)實。這就像學(xué)生做模擬題,如果做完題不給他答案,不給他講錯在哪,什么是對。他恐怕難以進步。
使用大量無監(jiān)督數(shù)據(jù)的思路也很難擴展到FaceZero
退一步,看看AlphaGoZero其他地方有沒有值得借鑒的。據(jù)AlphaGoZero的論文所說,其核心之處是用增強學(xué)習來自動學(xué)習用于啟發(fā)式搜索的評分函數(shù)(價值網(wǎng)絡(luò))。對人臉識別來說,其核心實際上也是學(xué)習一種評分函數(shù),即計算兩張人臉照片的相似程度:同一人圖像相似度盡量高,不同人相似度盡量低。
看起來有點機會。既然從0或從1開始不行,那么,是否可以給算法1億張無監(jiān)督(即沒有標簽)的人臉照片數(shù)據(jù),然后讓FaceZero借鑒AlphaGoZero的思路學(xué)習評分函數(shù)呢?
遺憾的是這也不行。因為我們使用的是無監(jiān)督人臉圖像,我們不知道這1億幅人臉圖像是多少人的圖像,其中哪些是同一人的,人臉識別算法又不能像圍棋算法一樣自己判斷對錯和好壞,當然就沒辦法自我增強起來。
所以學(xué)習這個相似度評分函數(shù)失去了依據(jù)。
又是南柯一夢。
看到這里,懂生成式對抗網(wǎng)絡(luò)(GAN)的讀者可能會反駁:有了大量人臉圖像,即使是無監(jiān)督的,我們也可以用GAN這樣的類增強學(xué)習策略來生成各種看起來符合真實人臉分布的人臉圖像。
這樣一來,給定一張赫本女神的人臉圖像,F(xiàn)aceZero就可以生成她的各種美圖了嗎?可是,問題在于,沒有了那些重要的監(jiān)督信息,只能保證GAN生成的人臉圖像看起來是張臉,但沒法保證她不會變貓王或奧巴馬。
這舉一反三的想法,恐怕還是不行。
AlphaGoZero的思想對減少人臉識別有監(jiān)督數(shù)據(jù)需求量的價值較小
再退一步,AlphaGoZero的思想是否可用于減少有監(jiān)督數(shù)據(jù)的需求量呢?例如,按照目前的方法論,用深度學(xué)習做人臉識別,首先需要收集整理盡量多的人臉圖像,比如100萬人的1億張有標注的照片,庫卡機器人驅(qū)動器維修,然后讓深度學(xué)習算法用這些圖像學(xué)習如何提取可以區(qū)分不同人臉的好特征或者如何計算相似度評分函數(shù)。
比如,先給人臉識別算法提供1萬人的有標注人臉圖像,讓它學(xué)會區(qū)分1萬人的人臉,然后讓它舉一反百、舉一反千、舉一反萬,即從這1萬人造出100萬人、1000萬人、1億人,甚至全球所有人的圖像。
這個想法如果可行,那我們對數(shù)據(jù)的需求量就減少了100倍,這意味著在收集和標注數(shù)據(jù)方面,大幅降低了成本,從而使得深度學(xué)習算法的易用度蹭蹭的提高。
為此,一種可能的辦法是用GAN這樣的類增強對抗算法創(chuàng)造不同的人臉。在創(chuàng)造第10001個人的面部圖像時,要求其既與之前的10000人都不同,又要確保第10001個人的面部圖像看起來是真實的照片,而不是卡通人像或鬼臉。
遺憾的是,按照目前GAN的思想,是有局限的。GAN可以內(nèi)插式創(chuàng)造,要外延式創(chuàng)造是有極大風險的,設(shè)想:如果算法能從10000個白人自動外延出從沒見過的某個黃種人,怎么保證不外延出綠巨人?如果算法能從10000個鵝蛋臉自動外延創(chuàng)造出從沒見過的國字臉,庫卡機器人,怎么保證不創(chuàng)造出被壓扁的長條臉?
那么,我們把GAN的能力限定在內(nèi)插式創(chuàng)造。這要求我們在上面提到的10000個人具有足夠的代表性。代表人經(jīng)過精心挑選,均勻覆蓋各種面部屬性,如膚色、男女、臉型、眉形、眼型、嘴型、高低鼻梁、高低顴骨、粗細肌膚這樣一來,就可以內(nèi)插創(chuàng)造出各種可能的人臉了。
但是,10000人是否足夠代表整個人類的特征?這里涉及幾十甚至上百種面部屬性的組合。每多一個面部屬性,組合結(jié)果的數(shù)量便多幾倍,呈指數(shù)爆炸式增長。就算每個屬性只有2個可能的取值,比如男女,即使只有14種面部屬性就有超過10000種組合。更何況,很多屬性有很多取值,比如臉型、膚色、眼型,組合數(shù)就更多了。
如果每種組合我們需要至少一個代表人(實際可能有些組合1個代表還不夠,也有可能某種組合并不存在),這意味著我們需要的代表人數(shù)恐怕遠遠不止10000人
FaceZero的夢真要醒了嗎?
減少有監(jiān)督數(shù)據(jù)需求量的其他可能