“雲中觀世界”之二:視覺智能生態
(本文根據華先勝/方廣2017年5月22在全球人工智能技術大會上的演講整理)今天和大家報告的主要是近兩年在阿裏雲上做的視覺智能方麵的工作和一些思考。
首先看一下人工智能的三次“春天”。第一次是在20世紀50年代,人工智能的概念首次提出,大家覺得人工智能在20年之內會改變世界,所有的工作都會被人工智能顛覆。但是後來很遺憾,10年以後發現不行,大家很失望。第二次是80年代,神經網絡的提出,BP算法的提出,以及專家係統的初步結果,大家又很高興,人工智能又要改變世界,取代很多人的工作,但是後來證明還是不行,人工智能又一次進入了低穀。第三次就是今天,這次是不是真的春天呢?昨天有一個論壇也在探討這個問題。這次有一些不一樣,有很多不同的觀點,有人認為深度學習取得了很大的突破,計算能力大大提升,數據更多,網絡帶寬也大大增加。還有一個很重要的原因,我們已經看到一些結果,雖然這些結果離真正的智能還差很遠,但是在一些領域已經取得了非常不錯的結果,不管是隻有PR效應的還是真正在產業界的應用,都有一些可喜的結果。

雲上的大數據視覺智能
人工智能技術將會改變哪些行業?我們先從視覺的角度看一看,視覺智能可以從雲上做,也可以從端上做,我們今天就從雲上來看。我們看看現在發生了什麼樣的事情,其實有的是發生了很多年的事情。
大家看這些圖,左上角是交通的監控場景,右邊和左下是治安和教育的場景,最後一個是直播。直播是主動的,前麵三個是被動的。這些大量的數據,其價值有沒有被充分發掘出來,這是一個很大的問題。例如,在全世界有數以億計的攝像頭,中國占了一多半,每年有幾千萬的攝像頭被采購,中國一個一級城市裏就有幾十萬的攝像頭。大家可能也注意到一些,這些攝像頭的數據到底是怎麼被利用的,大家開車可能被處罰過,還有交警的控製中心經常要巡檢查看,公安局裏出了什麼案件也需要調錄像查看。僅有這些嗎?投入了這麼多,這些視頻的價值怎麼才能充分被挖掘出來,這是一個很大的問題。

再看個人的圖像和視頻數據,這個量也挺大,和我們每個人切身相關。我們每到一個好的地方、有好的風景,自己看沒看沒有關係,一定要讓相機“看”一下。另外還有各行各業的數據,比如無人機的數據、工業的數據、醫療的數據,以及體育、娛樂、新聞等等。這些大量的數據,在技術往前發展了一大步的今天,它們的價值能不能充分挖掘出來?
我們處理這樣的數據,就是一個視覺大數據的問題。它的特點是顯而易見,第一就是數據量非常大。視覺數據量最大的地方就在城市裏麵。有一些電視台有100萬小時的數據,已經很多了,後來想一想,如果一個城市裏有10萬個攝像頭,跑10個小時就是100萬小時。第二是很多應用有實時性的要求。例如,交通紅綠燈配時的自適應優化,就需要實時進行分析,實時做出決策。第三點就是數據的複雜度非常高,各種情況下的數據都有,各種應用的數據都有,數據的幹淨程度和質量都有很大的不同,需要完成的任務、開發的智能也都是不一樣的,這就對算法的普適性提出了很高的要求。
視覺智能的五要素和現狀
我們首先回顧一下現在的技術和數據等各方麵是不是準備好了。第一方麵,從算法的角度來看,準確率是我們首先關注的目標。我們經常看到這個公司又刷新了一個公測集的記錄,包括我們自己最近也刷了一個車輛檢測的記錄。這是不是說明視覺智能已經很厲害、已經超過人了?在現實的應用當中往往是非常殘酷的,公測集上的結果往往隻是一個開始,在實際應用中還需要很多非常繁重的工作,才能使得我們的算法在一個行業裏做到可用。其次,從覆蓋率上來講,這個問題就更大了,在座的各位可能很多都是學生,我們在寫論文時很少有人關注覆蓋率這個問題。覆蓋率是什麼意思?如果從識別的角度來講,就是識別的範圍足夠大。這個問題很有意思,例如,ImageNet中1000類物體場景的識別,我們拿到真正的應用場景裏去看,是遠遠不夠的;或者說,實際應用場景感興趣的常常不是這些類別,也就是說這些還沒有覆蓋到用戶需要的地方。你要覆蓋全世界是非常難的事情,但是不見得是不能做的事情。幾年前我在微軟還嚐試做過百萬標簽識別的問題,這個準確率當然很難做得高,但是在一些場景下也是可以用的,例如搜索。覆蓋率在視覺搜索中的體現,例如,能搜衣服,不能搜鞋子不行,不能搜其他東西也不行。用戶的使用體驗往往與覆蓋率有非常大的關係。
第二方麵,計算效率。效率決定了這個事情可不可能發生,比如我們要處理城市幾十萬的攝像頭,需要花幾十億就完蛋了,這不是成本的問題,是這個事情可不可能發生的問題。從計算的角度來講,不僅僅是計算的效率,還有計算的平台,尤其是當你處理大量數據時,不是一兩台機器,而是百台、千台、萬台時,就需要處理係統和流程的問題,比如說容錯、流程的控製等,這就需要一個大的計算平台來支撐。從計算來講,效率是非常重要的,包括平台的效率、計算節點的效率。例如,一台計算機放多張GPU卡,這些卡如何充分利用起來。還有算法本身運行效率的問題。剛才我忘了說一句,關於算法的一個結論:我們確實有很大的進展,但是還有很長的路要走。對於算法而言,隻有把計算的效率發揮到極致,算法的優勢才能發揮到極致。
第三方麵,數據。這也是爭論最多的問題,昨天也有一個論壇討論數據的問題。大家經常發現數據的威力有時會超過算法,當然如果隻是學生作為借口,做不好算法說是數據的問題,那是另外一回事。在昨天的論壇上也一直討論數據和深度學習算法的問題,實際上數據的使用有兩個方麵的問題,這個還是一直沒有說清楚。數據的作用到底在哪裏?我覺得很多時候大家隻是關注了數據對算法研發的作用,但是這隻是其中一個作用;而數據對智能本身是另外一種作用,而且是很重要的作用。沒有數據,就沒有從數據產生的智能。至於沒有大量數據是不是就沒有深度學習算法,這個還可以商量,也許少量的數據也是可以的,但是作為智能,尤其是強人工智能的話,如果沒有大量數據恐怕是不可能的。所以,數據是有兩個維度的作用在裏麵,數據本身是算法研發的原料,同時數據又是產生智能的原料,這是數據的兩個作用。數據本身也有很多的困難,數據量大的時候,包括采集、傳輸、接入、融合和存儲等各方麵都不是簡單的事情。還有非技術方麵的困難,尤其是數據的開放,其實在中國這件事情已經比西方國家好得多了。在中國,大家對數據開放沒有那麼糾結,這也是人工智能在中國獲得更快發展的一個很重要的原因。
第四個方麵,剛才講了人工智能風聲水起,視覺計算遍地開花,但是,花開了,能不能得到結果?就是你做的事情是不是個正確的事情,是不是真的事情。有時候看起來是個真事情,其實是個偽課題、偽需求。昨天也有人提到偽需求,我們在實際當中確實是會碰到的。客戶有時提出的需求,仔細想一想可能就是偽需求,也就是說不是一個能夠帶來真正價值的需求。無論你帶來的價值是節省了人力、降低了成本,還是提高了安全性等等,這些都是要非常明確的。如果這些不明確,你就沒有一個商業的模型和應用,沒有明確的商業應用,沒有持久的商業應用,這個AI也就不能持久。
總結一下,一共五點(有一點沒有直接講):算法是安身立命之本;計算平台保證算法能大規模處理大量數據,也是計算效率的問題;數據,一方麵是算法研發的原料,也是產生智能的原料;用戶這個要素剛才沒有單獨分析,但它與商業模式和數據是非常相關的。商業上,有大量的用戶使用,或者說用戶少,使用的頻率比較高也是OK的,而用戶本身也能產生數據。例如,搜索引擎就是利用了大量用戶的數據,每個人對搜索引擎都是有貢獻的。商業剛才講了,合適的商業模式,保證你做的是正確的事情,不是虛假需求。
視覺智能實例:拍立淘
下麵講幾個例子,有的是已經做好的,有的是正在做的。首先看基於圖像的商品搜索。我們今天講的是視覺的搜索,是通過拍照的方式搜索商品。淘寶上有一個功能就是拍照搜索,叫做“拍立淘”。它要解決的問題就是文字之外的搜索入口,是無法用簡單文字描述的搜索需求,是種簡單直接的搜索方式。如果這個應用每天的用戶和交易量在千萬級別的話,還是很有價值的。這裏關鍵的技術包括商品識別、商品檢測、和商品描述。首先,用戶拍了商品照片後,要做出精準的商品類型判斷,不然後麵就全錯了;然後要知道這個商品在圖像中的位置,再用一個深度學習網絡做特征提取;後麵還有檢索、排序、搜索質量判斷,以及結果呈現。這裏的幾乎每一步都是用深度學習來完成的。
我們來看幾個例子。這是同一個包,但其實圖像是不一樣;這是一隻鞋子,雖然我們沒有找到同款,但找到了非常相像的款式;這是一件圓領衫,沒有什麼顯著的特征,比較難做,但也是找到了很像的衣服;這個杯子是一次開會的時候看到的,你要用文字搜就說不清楚了,但用圖像找到同款卻易如反掌。還有個例子,是和朋友喝茶的時候,看到這個泡茶杯太好了,我之前沒有見過;杯子上麵有一個紅色的按鈕,就是水倒下去後,水是在上麵泡著茶葉,覺得泡的濃度差不多了,就可以按這個紅色的按鈕,茶水就流下去了。我想買,但不知道這個杯子叫什麼。好在我們有拍立淘,一拍就知道,這種杯子叫做飄逸杯,淘寶上有很多可以選擇。

視覺智能實例:城市之眼
視覺之眼,是城市的眼睛。我們要處理的是城市的攝像頭,不管是交通、安防、城管,還是個人的,這些攝像頭的數據,我們思考怎樣把它的價值挖掘出來。裏麵涉及到的技術仍然是視覺數據的檢測、識別、係統、搜索、挖掘等。這個例子是交通視頻的分析,對車輛的檢測、車輛的跟蹤、車輛的屬性,就是將路麵上發生的事情了解個底朝天。過去做交通優化的時候有兩個信息源,第一個是地感線圈;但線圈數據不知道這個車的屬性、車類型、車多長,這個車到哪裏去了,這個信息不全。第二個數據,是GPS的數據;但一般隻有少數人開啟GPS,所以是采樣數據。視頻數據不同,是“眼見為實”,攝像頭見到的才是真實完整的數據,所以這個數據是不可替代的。
這個例子是另外一種攝像頭,高點的攝像頭,雖然細節看不清楚,但是數數可以數得出來,而且,你任意畫一個區域就知道關於這個區域物體的移動情況。比如說經過多少輛車、大概的類型是什麼;有的地方不讓停車,你可以畫個區域不讓停,一旦有車停了就報警。
這些技術也沒有什麼特別的地方,也有很多人做類似的工作。但是有一件事情不同,就是如果處理大量這樣的數據,幾萬、幾十萬這樣的數據,你需要在一個平台上進行實時處理,這就不是一個簡單的事情,而且處理的效率要足夠高,這是很關鍵的事情。我們有離線和實時兩套處理係統,大規模離線視覺分析,這個是阿裏的一套係統,對實時性要求不高的大量視頻數據,離線比較容易處理。實時的原理也差不多,隻不過有延時方麵的要求。係統實現上,還有時間上的和空間上的實時協同。比如說,對一個路口的交通燈進行管控,你要看這四個路口,還要看旁邊幾個路口,你在實時分析的時候還需要把空間多路信息進行融合。時間和空間的協同問題,是由平台來支撐,而不是算法,這樣我們做算法的人員就可以集中在算法的設計和優化上。
還有搜索的功能,剛才講了電商的搜索,這個量級不小,但是還有一個量更大的就是城市的數據。城市的數據量太大了,裏麵有車、有人。人是非常難的事情,人臉相對容易,而看不清人臉的人就非常難;車相對容易一點,我們要學習它的結構化特征和它的非結構化特征,也就是用一個向量表示的視覺特征。
這裏我稍微岔開來講兩個關於視覺數據的特別的例子,其實也是城市視覺識別技術的例子,但又是在數據的量上和我們直觀的感受並不太一致的例子。第一個是車牌。數據這件事情是非常有意思的,剛才講了大數據,但是剛才講的數據一個是研發算法的原料,第二個是人工智能的原料。對於算法研發而言,往往需要大量的標注數據,但有時這樣的數據並不容易獲取,或者獲取的成本比較高。例如車牌的識別,車牌看起來數據量很大,但雙層黃車牌的量就要小很多。有一種思路就是自動生成一些車牌作為車牌識別的訓練數據,這兩幅圖就是例子,是算法生成的以假亂真的車牌。這個車牌產生以後,對識別的準確率有顯著性的提升。還有些場景,數據的獲取更可憐,比如事故,但是你有大量正常的樣本,一樣可以用來作數據的模型,把它作為異常檢測的問題來做就可以了。這上麵是公開測試級上的結果,視頻中間有人撒了一點紙,這個異常的檢測響應是非常明顯的;下麵的這個例子是車輛的刮蹭,是個真實場景,難度就大多了。


從搜索的角度來講,我們把整個城市的數據如果都收集起來,放到一個大數據裏,建好索引,大家腦補一下,將會對城市的交通優化等應用產生什麼樣的影響。如果我們再進一步挖掘數據的價值,有很多應用場景可以考慮 ……
視覺智能實例:視覺診斷
第三個是視覺診斷,包括診斷人和診斷機器。診斷人比較好說,就是醫療圖像分析,現在也是很熱的題目。當然它比其他的方向慢了半拍,一方麵由於數據收集的困難;另一方麵是需要很強的專業知識。機器診斷是還沒有開發的方向,它的問題有點像前麵提到的異常檢測的問題,有發生概率很低、正例樣本很少,以及正例樣本差異性大三個特點。舉個例子,1萬個樣本,隻有10個有問題是你要找出來的。但是你找不準那10個,隻能說找出100個,那10個就在100個裏麵。這時你的召回率是100%,而準確率很低,隻有10%。但是,這有沒有用?我們算算省了多少人力,省了99%,因為你隻需要看100個就行了。哪怕隻有1%的準確率,隻要召回率足夠,也省了90%的人力。所以這類問題的目標不一樣,衡量的標準也是不一樣的,省人力是非常重要的指標。其實這裏麵涉及到各行各業的視覺問題,凡是過去需要人眼來看的,是不是都可以用視覺的方法來解決。從這個角度來講,就是遍地黃金,很多地方都可以挖到黃金,不見得出來一個視覺創業公司就一定要去做人臉識別。視覺智能實例:視覺廣告
前麵三個是偏分析、搜索的,第四個方向——視覺廣告,是合成的方向。視覺廣告是將視覺數據變現的最直接方法,特別是對於娛樂的數據、個人的數據、新聞、電視電影等這些數據。這些數據怎麼發揮更多價值,除了人看以外,廣告是很重要的方法。但是增加廣告後用戶的觀看體驗就很差,大家如果看過網上的視頻,應該有深切的體會。那廣告是不是可以做的更好一點?我們看幾個例子。例如,可不可以把廣告放在場景裏,作為場景的一部分?當然,這個已經有人工在做這樣的事情,但是人工做不了大量的內容。如果可以自動化,就可以用到大量的視頻中。像下麵這個例子,把視頻中電視機的屏幕部分換成廣告視頻。這樣的廣告既不耽誤觀看者欣賞視頻的內容,也不占用觀看者的時間,但實際上它已經潛移默化地影響了你。
雲上視覺智能生態
阿裏雲上的視覺技術有一個統一的名字——阿裏雲眼,是阿裏雲大數據平台的智能視覺中心,這是它的總圖。回到一開始提出的問題,人工智能將會改變什麼行業,答案就是智能將進入各行各業,Intelligence Everywhere勢不可擋。但是,人工智能的從業者也是很容易翻船的,因為你需要這五個要素齊備。還有一種選擇,就是你可以加入到一個生態裏。終於回到今天講的主題上來了——打造雲上視覺計算的生態。不僅僅是視覺,其他智能也是一樣。在雲上可以搭一個舞台,這個舞台不僅僅是大公司在玩,小公司也可以玩,個人也可以玩。不管是哪個層次的智能,基礎API、功能模塊和解決方案都可以。這個舞台上還有一些基本的道具可以使用,例如搜索引擎、機器學習平台、大規模視覺計算等,還有最基本的計算和存儲,這些東西都可以利用起來,大家都可以在這個平台上玩。其實,整個雲上的智能也不是一兩個公司可以完成的,各行各業的需求量非常大,需要很多人一起努力,把這個生態一起繁榮起來。
謝謝大家。
下期預告:3~5年後的視覺計算
“雲中觀世界”之三:3~5年後的視覺計算
最後更新:2017-06-23 23:36:58