1
2016年,就我個(gè)人來講,所做出的最重大抉擇,就是在已經(jīng)工作了十三年的微軟研究院(以下簡稱MSR),和一個(gè)成立不過幾年的創(chuàng)業(yè)公司——Face++曠視科技(以下簡稱Face++)之間,選擇了后者,并且以首席科學(xué)家身份加入。 雷鋒網(wǎng)
當(dāng)時(shí)我還住在西雅圖,當(dāng)真是“身未動(dòng),消息已遠(yuǎn)”,各種報(bào)道從國內(nèi)外朋友圈向我強(qiáng)勢襲來,讓我體會(huì)到了媒體的力量。時(shí)至今日,我已搬回北京,在Face++上班近半年了,依然時(shí)常被問及:
“過的怎么樣?”、“Face++和MSR的研究部門一嗎?”、“Face++是如何開展研究工作的?……”等等。
問題或大或小,但大多諸如此類。值此新年之際,我想把自己這半年來的觀察與思考與大家分享一下,權(quán)且當(dāng)作對各位關(guān)心的答謝。
接下來,我將圍繞大家關(guān)注的一些典型問題,逐一說明:
就我的觀察與體驗(yàn),兩家公司研發(fā)部門的本質(zhì)是幾乎沒有差別的。什么叫一個(gè)公司的研發(fā)部門本質(zhì)呢?我認(rèn)為有三個(gè)要素極其關(guān)鍵:使命定位、人員組成和研發(fā)方式。坦白來講,從這三點(diǎn)審視,我在兩邊看到了驚人的一致性,也就是說:
1)他們都同樣有著既基于產(chǎn)品,又探索前沿技術(shù)的使命定位;
2)他們都同樣聚集著一群追求極致,有Geek精神,且高自我驅(qū)動(dòng)的精英;
3)他們都用同樣的套路推進(jìn)研究工作:確定問題-->實(shí)現(xiàn)、研究和理解既有方法-->進(jìn)行持續(xù)改進(jìn)或創(chuàng)新。
在這其中,最令人有現(xiàn)場觸動(dòng)感的還是“人”。舉個(gè)最近讓我感動(dòng)的例子: 下面這張我在2016年最后一天發(fā)的朋友圈最好的詮釋了Face++的核心價(jià)值觀“追求、極致、簡單、可靠”中的前兩點(diǎn)。雷鋒網(wǎng)
當(dāng)然,即便兩邊研究部門的本質(zhì)相同,也必然會(huì)存在著不同之處,畢竟每個(gè)公司都有其特定的文化與管理模式。當(dāng)我身邊的戰(zhàn)友們從平均年齡三十多歲直降十歲的那一天突然來臨時(shí),我一方面感覺自己好像在瞬間邁入中老年的行列中(講個(gè)梗:今天一名同事問我為什么把手機(jī)字體調(diào)的那么大),另一方面覺得自己充滿了干勁,同時(shí)還有一份沉甸甸的責(zé)任感。
在眾多場合下問,這個(gè)問題是被提及次數(shù)最多的。為什么會(huì)有這樣的疑問呢,我想不外乎兩方面的思考,一是想知道公司具體研究哪些領(lǐng)域,長期課題與目標(biāo)是什么,二是想了解一家創(chuàng)業(yè)公司里的研發(fā)部門,到底能不能推進(jìn)真正意義上的研究工作,還是打著研究的旗號做著產(chǎn)品開發(fā)。
這里還隱含著一個(gè)認(rèn)識(shí)上的誤區(qū),就是在我們公司被廣泛稱為Face++之后,越來越多的人誤以為Face++嘛,只是在做人臉技術(shù)。人臉,目前確實(shí)是一個(gè)商業(yè)前景廣闊,玩法花樣不斷翻新的應(yīng)用。但是,F(xiàn)ace++從創(chuàng)立第一天就聚焦在人工智能的三大應(yīng)用領(lǐng)域之——計(jì)算機(jī)視覺,是以一系列視覺識(shí)別(人臉、人、物體、文字、場景、行為等)問題為中心,研發(fā)核心算法,打造能落地的產(chǎn)品。 消除了這樣一個(gè)誤區(qū),你會(huì)比較好理解,為什么Face++要用“Power Human with AI”作為使命,用“人工智能技術(shù)造福大眾”,來發(fā)愿。畢竟公司的全名是叫曠視(英文叫megvii, 取自mega vision),也就是大的視覺。
回到問題本身,目前我們主要在集中研究四個(gè)視覺理解核心問題(見下圖):圖像分類、物體檢測、語義分割、和序列學(xué)習(xí)。研究的技術(shù)路線是徹徹底底的深度學(xué)習(xí):1)使用深度神經(jīng)網(wǎng)絡(luò);2)盡最大可能使用端到端(end-to-end)學(xué)習(xí)。Face++應(yīng)該說是這波兒人工智能創(chuàng)業(yè)公司當(dāng)中最早研究并應(yīng)用深度學(xué)習(xí)的。雷鋒網(wǎng)
圖像分類是最基礎(chǔ)的問題。這個(gè)問題自身就有廣泛的應(yīng)用(例如人臉識(shí)別和場景分類),也是研究其他問題的根基。深度學(xué)習(xí)的出現(xiàn)使得我們從以往的特征設(shè)計(jì)走向了網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),這里包含很多對問題的深刻理解、實(shí)踐中總結(jié)的經(jīng)驗(yàn)和原理、優(yōu)化算法的探索、和對下一步技術(shù)發(fā)展的判斷。
我們的研發(fā)部門里有一個(gè)專門的小組負(fù)責(zé)研究如何訓(xùn)練最好的基礎(chǔ)神經(jīng)網(wǎng)絡(luò),并沿著以下三個(gè)子問題深入:
1)針對不同計(jì)算復(fù)雜度下設(shè)計(jì)最優(yōu)的神經(jīng)網(wǎng)絡(luò);
2)針對不同計(jì)算平臺(tái)的實(shí)際要求,來設(shè)計(jì)最高效的網(wǎng)絡(luò);
3)針對不同問題設(shè)計(jì)最合適的網(wǎng)絡(luò)。
另外對神經(jīng)網(wǎng)絡(luò)模型的壓縮和低比特化表示也是我們研究的重點(diǎn)之一。
物體識(shí)別是解決感知圖像中哪里有什么物體的問題。
典型的應(yīng)用包括手機(jī)上的人臉檢測, 無人車中的車輛/行人/交通標(biāo)志的檢測,視頻分析中的各類物體檢測。這個(gè)問題是圖像理解中研究內(nèi)容最豐富的核心問題,也是一個(gè)非常復(fù)雜的感知智能問題。
我們關(guān)心的若干子問題是:
1)如何有效地解決遮擋問題。這個(gè)問題對人來說好像是很容易的,但其實(shí)涉及到了人腦中對不可見部分自動(dòng)做聯(lián)想和補(bǔ)充的能力,已經(jīng)部分屬于人類的認(rèn)知智能能力范疇;
2)如何有效的利用圖像或視頻的上下文(context)信息或我們的常識(shí)(common sense)。上下文和常識(shí)對我們避免一些明顯錯(cuò)誤和小物體檢測十分重要。目前的物體對小物體檢測的性能非常不理想,和人眼的能力差距還是非常大的。如果我們單獨(dú)把小物體從圖像中裁剪出來,人也很難識(shí)別。但是當(dāng)小物體放回整副圖像中,人卻做得非常出色。我個(gè)人認(rèn)為對這個(gè)兩個(gè)子問題的深入研究真的可以對理解認(rèn)知智能提供有意義指導(dǎo),甚至是突破。
語義分割就是對每個(gè)像素分類,這是一個(gè)更為精細(xì)的分類任務(wù)。
比如說把識(shí)別出來的人體分割成具體部位,把人臉分割成五官,把場景分成藍(lán)天、建筑、道路和物體等。目前在這個(gè)問題上統(tǒng)治性的方法是Berkeley在2014年提出的全卷積網(wǎng)絡(luò)(FCN)。這個(gè)方法使得神經(jīng)網(wǎng)絡(luò)具有了有強(qiáng)大的結(jié)構(gòu)化輸出能力,進(jìn)而將深度學(xué)習(xí)有效地推進(jìn)到很多中期和初期視覺理解(例如立體匹配和光流計(jì)算)問題上。我當(dāng)年博士論文就是在研究初期視覺中的立體匹配問題,十幾年后的方法發(fā)生了根本性的變化,當(dāng)年是想也不敢想的。我們研發(fā)部門的一名實(shí)習(xí)生在最近的CVPR投稿中設(shè)計(jì)了一個(gè)簡單有效的FCN模型,在公開評測集上取得了非常好的效果。
序列學(xué)習(xí)是最有趣的問題,它的形式多樣,可以輸入一個(gè)序列(視頻或音頻)進(jìn)行分類,也可以針對一副圖像輸出一個(gè)描述性的文字序列,或輸入輸出都是序列(例如識(shí)別圖像中的多行文字)。
解決這三類問題的算法在Face++的產(chǎn)品中都有應(yīng)用。目前解決這個(gè)問題的主流方法是遞歸神經(jīng)網(wǎng)絡(luò)(RNN),也是現(xiàn)在在語音識(shí)別和自然語言處理中的大殺器。由于人的智能本質(zhì)是在實(shí)時(shí)的“處理”連續(xù)不斷感知到的信號流,這使得序列學(xué)習(xí)成為當(dāng)下的最熱的研究方向之一。尤其是最近引入外部記憶讀寫機(jī)制和執(zhí)行單元的RNN,讓我看到了解決人工智能不少難題的一絲曙光。Face++的研究員們也正在這方面積極思考,積極實(shí)踐。
推進(jìn)研究部門的工作,核心是培養(yǎng)人做事的能力,并給予最好的研發(fā)環(huán)境。
培養(yǎng)什么人才?人才是研發(fā)的生命線。創(chuàng)造一個(gè)良好的環(huán)境吸引人才,培養(yǎng)人才,留住人才是我們的第一優(yōu)先級。信息學(xué)競賽(NOI/IOI)和大學(xué)生程序設(shè)計(jì)競賽(ACM/ICPC)的選手們構(gòu)成了研究部門的第一批戰(zhàn)士。我們后續(xù)更多的戰(zhàn)士來自五湖四海,擁有相當(dāng)不同的背景:既有以前做視覺的,也有以前做機(jī)器學(xué)習(xí)的,既有研究基本問題的,也有專注特定應(yīng)用的。
一個(gè)多樣性的環(huán)境也使得我們看問題的角度更全面。在這樣的基因下,我們大致將人才向兩個(gè)方向培養(yǎng):研究科學(xué)家,和全棧人工智能工程師。研究科學(xué)家主要聚焦在算法上,尋求對問題的本質(zhì)解,我們的培養(yǎng)目標(biāo)是成為能獨(dú)擋一面領(lǐng)域?qū)<?;全棧人工智能工程師是我們?nèi)部的叫法,目的是培養(yǎng)即能上九天攬?jiān)拢ㄋ惴ㄔO(shè)計(jì)和訓(xùn)練),又能下五洋捉鱉(算法的工程化,研究問題和方式系統(tǒng)化)的全能戰(zhàn)士,他們既能做research,又懂system,能建系統(tǒng)、造輪子。針對目前AI發(fā)展的趨勢,我們需要大量的全能人才來將AI “+” 到不同的行業(yè)上,解決實(shí)際問題。這就對人才提出了更高的要求。我們相信即便沒有AI背景的工程師,在這里工作1-2年后就能成為獨(dú)當(dāng)一面的人才。
怎么做事?有了一幫志同道合的小伙伴們,就要圍繞這上面介紹的四個(gè)視覺理解核心問題開展研究、并將研究成果應(yīng)用在具體的視覺識(shí)別場景中。Face++的研發(fā)團(tuán)隊(duì)扁平化,每個(gè)研究小組由2-4人組成,聚焦一個(gè)課題。課題可以是短期的,例如對已經(jīng)應(yīng)用的某個(gè)產(chǎn)品線上的算法的改進(jìn);課題也可以是長期的,例如持續(xù)提升識(shí)別的精度和性能。 我們的每個(gè)研究員都可以在不同的課題之間自由切換,這樣能最大程度發(fā)揮個(gè)人的長處和積極性,同時(shí)也讓大家有機(jī)會(huì)短時(shí)間了解更多的問題,有更豐富的經(jīng)歷,能更快的成長。套用現(xiàn)在深度學(xué)習(xí)的精髓,每個(gè)人的學(xué)習(xí)也需要輸入大數(shù)據(jù)。
研發(fā)環(huán)境:做深度學(xué)習(xí)研究需要一個(gè)非常高效的訓(xùn)練引擎/平臺(tái)和充沛的計(jì)算資源,F(xiàn)ace++內(nèi)部使用了近兩年的“MegBrain”是一個(gè)全自主研發(fā)的訓(xùn)練引擎,它與目前流行的TensorFlow(Google一年前發(fā)布)設(shè)計(jì)相似,同屬基于Computing Graph的新一代訓(xùn)練引擎。為什么非要自研系統(tǒng)呢?公司研究深度學(xué)習(xí)開展得非常早,當(dāng)時(shí)還沒有很好用的系統(tǒng),并且MegBrain在同時(shí)滿足靈活性及精簡性的基礎(chǔ)上,能最大限度提升工作效率。目前在AI創(chuàng)業(yè)公司中完全使用自研深度學(xué)習(xí)訓(xùn)練引擎的,可能只有Face++。
除了核心引擎,我們的體系結(jié)構(gòu)組還搭建了一個(gè)強(qiáng)大的深度學(xué)習(xí)平臺(tái)Brain++來管理我們龐大的GPU集群,來完成從數(shù)據(jù)標(biāo)注和管理、模型訓(xùn)練、GPU集群中心化管理、到產(chǎn)品化發(fā)布的“一條龍”自動(dòng)化流程,從而使得我們的研發(fā)人員將寶貴的精力集中在問題上。這也使得來Face++的實(shí)習(xí)生非常容易上手,即便對深度學(xué)習(xí)系統(tǒng)零基礎(chǔ),一套簡單的教程讀過后2-3個(gè)星期就可以開始思考問題了。這些系統(tǒng)能夠建立得益于我們團(tuán)隊(duì)內(nèi)部的有不少“全棧人工智能工程師”,他們不僅是深度學(xué)習(xí)方面的專家,更是系統(tǒng)和分布式計(jì)算方面的專家。
最后針對深度學(xué)習(xí)很大程度上得益于大規(guī)模訓(xùn)練數(shù)據(jù),我們還設(shè)有專門的團(tuán)隊(duì)負(fù)責(zé)標(biāo)注工具開發(fā)和完成大量數(shù)據(jù)標(biāo)注任務(wù)。以前讀書時(shí)開玩笑的一個(gè)講法是“沒有不好的算法,只有不好的數(shù)據(jù)”,Datais King。
對于Face++,我分享幾個(gè)數(shù)字:我們的人工智能云開放平臺(tái)的API已經(jīng)服務(wù)了近7萬開發(fā)者,已被調(diào)用 62 億次;身份認(rèn)證平臺(tái)目前已為1.2億人(注意不是1.2億次)提供了刷臉服務(wù),覆蓋了85%的金融市場智能化應(yīng)用;智慧安防和智能商業(yè)產(chǎn)品也覆蓋到25個(gè)省。服務(wù)客戶、追求極致,不斷驅(qū)動(dòng)著我們的前行。對于我自己,現(xiàn)在有著無比的自信能夠和Face++的研發(fā)團(tuán)隊(duì)一起,在這個(gè)最好的時(shí)代,做出更好的成績,追求研究之美!
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。