SHOUDING 首鼎

学界与工业界的AI研究:有哪些重要不同?

發表時間:2018-08-24 14:24

我之前在學術界,現在在工業界。現在不少學界的科學家都到公司裡面做研發,通常遇到的一個問題是:在工業界從事研發和以前在學界究竟有哪些不同?很多關心研發的人會有這樣的疑問。我想從自己的經歷出發,談一下我的體會,希望能提供一些借鑑。

去年,我們講到人工智能有「三要素」:算法、算力和數據。從今年開始,我們把場景加入進來,開始用「四元分析」的方式來理解人工智能。

為什麼要加入場景?去年大家對人工智能非常熱情,包括學校、企業都在討論。但是,一年過去了,大家在想人工智能到底給我們帶來了什麼實實在在的價值?其實,加入場景非常重要的原因是人工智能終究是一種技術,人工智能必須要落實到精準的場景,才有它實實在在的價值。

我們現在來看一下,在學術界是怎麼做人工智能。因為人工智能的概念實在太大了,現在深度學習熱,那我們就看下在學術界裡研究深度學習,會做一些什麼事情。

一般情況下,學術界是把問題設立好之後,去思考研究一些新的算法,然後在具體的問題上,力圖在精度上達到極限。從深度學習上設計更好的模型結構方面,大家可以看到在過去這些年,像初的Hinton用基本的網絡結構,到谷歌的GoogleNet,微軟的殘差網絡(ResNet),到今年我們參加比賽所設計的模型,可以看到基礎網絡結構是推動學術界往前走的核心。但是除了基本的網絡結構之外,更大的網絡、更深的網絡以及不同的網絡模型的融合,也是大家追逐精度的常用方法。

另一方面,我們要訓練這些網絡,可能需要更多的計算資源,比如像圖形處理器集群(GPU Cluster),比如說我們希望有更便捷的訓練平台,比如說像Caffe、MxNet、Tensorflow等等。當然,更重要的是大家在一點點往前推動的同時,積累了很多小的經驗,這些經驗通過學術報告,通過論文的形式來分享。大家都站在巨人的肩膀上在一步一步往前走。當然,還有怎麼樣用其它的非標注的數據來提升解決問題的能力。所有的一切都合在一起,在解決具體問題的時候,能夠把精度達到極限。

學術界很多時候研究的目的,是要有成果論文發在優質的學術雜誌上,也希望這些算法能夠具有普遍性,除了能解決自己的問題,其他人也能借鑑,較好能開源,所有的人都可以去使用,這樣就能很好的提升自己在這個領域的影響力。

刚刚说的像深度学习去解决图像识别的很多问题,大家可以看到在过去的几年,错误在一点一点的降低,这正是大家在追逐精度的极限。

但是工业界不是这样。工业界要去探索商业,注定要有经济上的考虑,思考盈利模式,那对人工智能的考虑就会不一样。


在工業界裡待過就會明白,人工智能本身並不是一個產品,不是單純靠人工智能就能獲得利益,必須要通過與自己的業務和場景相結合,才能發揮它的價值,核心算法只是其中的一個模塊而已。無論是往前端走,還是往後端走,還是需要很多不同類型的人,才可以做出一個產品。


      重要的是,人工智能並不是一個靜態的東西。比如說訓練出來的模型,要用到某個業務場景裡面,業務場景裡產生新的數據,這些數據進一步提升人工智能模型的能力,再用到場景裡面,這是一個閉環和不斷迭代的過程。


       另一方面,也是很多從學術界到工業界的教授和學者經常很容易犯的一個很嚴重的錯誤。就是認為技術在真正推動產品,但其實,用在具體的場景裡面,技術只是起到一個非常小的作用,如果說它的貢獻大概到30%到40%就不錯了。

       一個成功的產品,還需要產品工程師和非常多的人,大家一起才能做出一個非常完美的使用者體驗的產品出來。一個核心點就是我們做技術的人,做研究的人,要明白永遠沒有完美的算法,算法永遠是有瑕疵存在的,我們一定要和場景工程師在一起,通過好的產品設計,把這些算法上的瑕疵避免掉,產生沒有瑕疵的使用者體驗。

      比如說有一個很現實的場景,人臉的檢測和定位的技術之後,大家都想做一些非常有趣的增強現實的應用。早期的時候,我們特別享受技術有多麼牛,比如早期產品的設計模式,會看一張圖能不能把我的臉換成劉德華的臉,即使在臉動的時候,在張嘴閉嘴的時候,看起來都像劉德華。可是,很多時候如果產品的定位是這樣子,技術永遠都不可能做得非常好,為什麼呢?人臉的場景,光照條件或者是姿態不一樣,就會產生一種燒傷臉的感覺,不會產生很好的效果。但是,像我們,還有國外的一些創業公司,他們的想法就是沒有必要把人臉全都換掉,只要利用人臉定位的技術,可以在臉上加一些花卉,有蝴蝶飛,這樣即使人臉定位的技術還不是很完美,還有一些抖動的情況,產生出來的視覺效果,還是可以接受的。這是一個典型的例子,需要算法和產品相互結合才能產生沒有瑕疵的使用者體驗。

       我佩服的應該是Snapchat,他們的技術是做算法的和做工程設計的人在一起,一個一個的效果不停地打磨。他們用的人臉的技術,像分割的技術,像SLAM(simultaneous localization and mapping, 即時定位與地圖構建)技術,這些技術都不是完美的。在這種情況下,通過工程師的產品設計,把每一個特效都做的非常有意思,非常酷。

       此外,除了考慮使用者體驗,工業界設計一個產品還會考慮其他方面。比如,當前把視覺,語音和相關的技術用在智慧硬體上的時候,可能會想,到底這個產品是不是能滿足某種高頻的剛需?

我原來在新加坡每年寫很多文章,一年寫50、60篇的文章都有可能。那時候有一個很明顯的特點,在寫文章的時候我們會造一個場景,這個場景從用戶需求來說,根本就不存在;從寫文章的角度來說是有價值的,從產品的角度來說,不一定有價值。工業界還會考慮一款產品用到的技術有沒有成熟?比如說家用機器人,可以端茶送水,可以聊天,這是不可能的,技術上還有一個過程。


另外,工業界還會考慮技術成熟了,但有沒有壁壘?假設沒有技術壁壘的話,今天做一個產品出來,比較前沿的大公司,都有專家團隊,你把這個產品做出來立馬又失掉了,技術上的壁壘也一定要有。


另外一方面,就是學術界想得少的:我們做一個場景,一定要有變現的模式。沒有一個變現的模式,我們的產品出來了,但是今後賺不了錢,也不可能讓這個公司維系下去。這些都是工業界和學術界思考的點不一樣的地方。

總的來說,學界進行人工智能,深度學習的研究,一直是在追求精度和極限。用四元分析的方法來說就非常有意思,即我們的場景和數據確定了,然後設定一個問題,設定一個數據集,假設有足夠多的計算機資源,怎麼樣設計新的算法,讓精度能夠達到極限?


我們知道有很多的數據集,比如ImageNet,號稱人工智能的世界杯;人臉研究界有LFW(Labeled Faces in the Wild,人臉圖片的數據庫,用來研究不受限的人臉識別問題);在視頻領域有美國組織的TRECVID;語音的話有Switchboard。它們共同特點就是:問題和數據都是確定的,用盡量多的計算機資源,去設計不同的算法,終是希望達到精度的上限。


但是我們不得不承認,這裡面很多的成果是沒有辦法商業化的。為什麼?在ImageNet上,假設訓練了1000多層的網絡,把9個或更多網絡全部合在一起能達成一個很好的精度,在現實的場景下是不可能用這麼大的模型和這麼多的資源去做一件事情。所以,很多的成果,是假設將來計算能力達到一定的程度,精度能夠達到這個上限。


AI研究的另外一維度是追求用戶體驗的極限。用四元分析的方法,是把場景和算力固定了。這是什麼意思?假設我們要做一個機器人,這個機器人希望它能識別你,這時候場景是確定的。算力確定了是說,這個場景推出的時候,用什麼樣的芯片和什麼樣的硬件,其實已經確定了。我們要做的事情是在這樣一個確定場景和算力的情況下,怎麼樣去提升數據和算法,跟具體的應用場景去形成一個閉環,去不斷地迭代,去提升它的性能。這跟學術界把場景和數據固定是完全不一樣。在這種場景下,可以不停的用收集到的新數據不停提升和優化模型,在數據,算法和場景形成一個閉環。雖然我們能把所有的問題解決,但是在具體的場景下,也有可能逐步地提升它的性能。


這時候做的事情很有意思,要做很多數據的清洗、標註。為了把產品的價格降低,比如用一個很差的CPU就能夠去做計算,肯定要不停地去優化模型的速度。另一方面,很多時候,滿足這種體驗的需求會有一些新的問題出來。


如果我們仔細想一想,學術界多數做的事情是在思考,在想它的極限在哪,主要用腦;工業界並不是強調用腦,而是用心——就是怎麼樣能把這個場景做出來,並不一定要有非常高大上的算法,就是要從用戶使用產品的維度上,讓用戶感覺這個產品非常好。


學術界和工業界又不是完全割裂的:工業界敢去提某一個產品的設想,是看到了在學術界有一些前沿的成果,可以在工業界來用。同時,工業界也在逐步提煉它的問題,丟給學術界,希望他們去做這種前沿的探索。比如說工業界可以想,三年、五年以後會往哪些方向去推動,他就可以把這些任務推給學術界。


現在有很多公司,在中國和在美國紛紛建立AI實驗室,其實有兩種目標。一方面是長期希望能瞄準將來前沿的領域,做技術的積累;另一方面是要追求產品更好的落地,所以現在很多公司就建起了自己人工智能的實驗室。


在人工智慧深度學習的研究中,學術界和工業界的差異仍然很大,同時也相互影響、相互增強。學術界和工業界共同合作,進行研究和產業結合,一定會把人工智慧帶上另一個階段。


分享到:
SHOUDING 首鼎
聯系郵箱
sdsemi@126.com