「雲中觀世界」之二 視覺智慧型生態

2021-08-03 01:51:07 字數 3521 閱讀 2495

摘要: 人工智慧歷史上的三次golden time是什麼?這次有何不同?視覺智慧型應用成功的關鍵因素有哪些?本文通過眾多的成功例項和遍地**的視覺計算應用機會,對這些問題進行**,並試圖討論雲上視覺智慧型的終局。

(本文根據華先勝/方廣2023年5月22在全球人工智慧技術大會上的演講整理)

今天和大家報告的主要是近兩年在阿里雲上做的視覺智慧型方面的工作和一些思考。

首先看一下人工智慧的三次「春天」。第一次是在20世紀50年代,人工智慧的概念首次提出,大家覺得人工智慧在20年之內會改變世界,所有的工作都會被人工智慧顛覆。但是後來很遺憾,10年以後發現不行,大家很失望。第二次是80年代,神經網路的提出,bp演算法的提出,以及專家系統的初步結果,大家又很高興,人工智慧又要改變世界,取代很多人的工作,但是後來證明還是不行,人工智慧又一次進入了低谷。第三次就是今天,這次是不是真的春天呢?昨天有乙個論壇也在**這個問題。這次有一些不一樣,有很多不同的觀點,有人認為深度學習取得了很大的突破,計算能力大大提公升,資料更多,網路頻寬也大大增加。還有乙個很重要的原因,我們已經看到一些結果,雖然這些結果離真正的智慧型還差很遠,但是在一些領域已經取得了非常不錯的結果,不管是只有pr效應的還是真正在產業界的應用,都有一些可喜的結果。

人工智慧技術將會改變哪些行業?我們先從視覺的角度看一看,視覺智慧型可以從雲上做,也可以從端上做,我們今天就從雲上來看。我們看看現在發生了什麼樣的事情,其實有的是發生了很多年的事情。

我們處理這樣的資料,就是乙個視覺大資料的問題。它的特點是顯而易見,第一就是資料量非常大。視覺資料量最大的地方就在城市裡面。有一些電視台有100萬小時的資料,已經很多了,後來想一想,如果乙個城市裡有10萬個攝像頭,跑10個小時就是100萬小時。第二是很多應用有實時性的要求。例如,交通紅綠燈配時的自適應優化,就需要實時進行分析,實時做出決策。第三點就是資料的複雜度非常高,各種情況下的資料都有,各種應用的資料都有,資料的乾淨程度和質量都有很大的不同,需要完成的任務、開發的智慧型也都是不一樣的,這就對演算法的普適性提出了很高的要求。

我們首先回顧一下現在的技術和資料等各方面是不是準備好了。

第一方面,從演算法的角度來看,準確率是我們首先關注的目標。我們經常看到這個公司又重新整理了乙個公測集的記錄,包括我們自己最近也刷了乙個車輛檢測的記錄。這是不是說明視覺智慧型已經很厲害、已經超過人了?在現實的應用當中往往是非常殘酷的,公測集上的結果往往只是乙個開始,在實際應用中還需要很多非常繁重的工作,才能使得我們的演算法在乙個行業裡做到可用。其次,從覆蓋率上來講,這個問題就更大了,在座的各位可能很多都是學生,我們在寫**時很少有人關注覆蓋率這個問題。覆蓋率是什麼意思?如果從識別的角度來講,就是識別的範圍足夠大。這個問題很有意思,例如,imagenet中1000類物體場景的識別,我們拿到真正的應用場景裡去看,是遠遠不夠的;或者說,實際應用場景感興趣的常常不是這些類別,也就是說這些還沒有覆蓋到使用者需要的地方。你要覆蓋全世界是非常難的事情,但是不見得是不能做的事情。幾年前我在微軟還嘗試做過百萬標籤識別的問題,這個準確率當然很難做得高,但是在一些場景下也是可以用的,例如搜尋。覆蓋率在視覺搜尋中的體現,例如,能搜衣服,不能搜鞋子不行,不能搜其他東西也不行。使用者的使用體驗往往與覆蓋率有非常大的關係。

第二方面,計算效率。效率決定了這個事情可不可能發生,比如我們要處理城市幾十萬的攝像頭,需要花幾十億就完蛋了,這不是成本的問題,是這個事情可不可能發生的問題。從計算的角度來講,不僅僅是計算的效率,還有計算的平台,尤其是當你處理大量資料時,不是一兩台機器,而是百台、千台、萬台時,就需要處理系統和流程的問題,比如說容錯、流程的控制等,這就需要乙個大的計算平台來支撐。從計算來講,效率是非常重要的,包括平台的效率、計算節點的效率。例如,一台計算機放多張gpu卡,這些卡如何充分利用起來。還有演算法本身執行效率的問題。剛才我忘了說一句,關於演算法的乙個結論:我們確實有很大的進展,但是還有很長的路要走。對於演算法而言,只有把計算的效率發揮到極致,演算法的優勢才能發揮到極致。

第三方面,資料。這也是爭論最多的問題,昨天也有乙個論壇討論資料的問題。大家經常發現資料的威力有時會超過演算法,當然如果只是學生作為藉口,做不好演算法說是資料的問題,那是另外一回事。在昨天的論壇上也一直討論資料和深度學習演算法的問題,實際上資料的使用有兩個方面的問題,這個還是一直沒有說清楚。資料的作用到底在**?我覺得很多時候大家只是關注了資料對演算法研發的作用,但是這只是其中乙個作用;而資料對智慧型本身是另外一種作用,而且是很重要的作用。沒有資料,就沒有從資料產生的智慧型。至於沒有大量資料是不是就沒有深度學習演算法,這個還可以商量,也許少量的資料也是可以的,但是作為智慧型,尤其是強人工智慧的話,如果沒有大量資料恐怕是不可能的。所以,資料是有兩個維度的作用在裡面,資料本身是演算法研發的原料,同時資料又是產生智慧型的原料,這是資料的兩個作用。資料本身也有很多的困難,資料量大的時候,包括採集、傳輸、接入、融合和儲存等各方面都不是簡單的事情。還有非技術方面的困難,尤其是資料的開放,其實在中國這件事情已經比西方國家好得多了。在中國,大家對資料開放沒有那麼糾結,這也是人工智慧在中國獲得更快發展的乙個很重要的原因。

第四個方面,剛才講了人工智慧風聲水起,視覺計算遍地開花,但是,花開了,能不能得到結果?就是你做的事情是不是個正確的事情,是不是真的事情。有時候看起來是個真事情,其實是個偽課題、偽需求。昨天也有人提到偽需求,我們在實際當中確實是會碰到的。客戶有時提出的需求,仔細想一想可能就是偽需求,也就是說不是乙個能夠帶來真正價值的需求。無論你帶來的價值是節省了人力、降低了成本,還是提高了安全性等等,這些都是要非常明確的。如果這些不明確,你就沒有乙個商業的模型和應用,沒有明確的商業應用,沒有持久的商業應用,這個ai也就不能持久。

總結一下,一共五點(有一點沒有直接講):演算法是安身立命之本;計算平台保證演算法能大規模處理大量資料,也是計算效率的問題;資料,一方面是演算法研發的原料,也是產生智慧型的原料;使用者這個要素剛才沒有單獨分析,但它與商業模式和資料是非常相關的。商業上,有大量的使用者使用,或者說使用者少,使用的頻率比較高也是ok的,而使用者本身也能產生資料。例如,搜尋引擎就是利用了大量使用者的資料,每個人對搜尋引擎都是有貢獻的。商業剛才講了,合適的商業模式,保證你做的是正確的事情,不是虛假需求。

下面講幾個例子,有的是已經做好的,有的是正在做的。

首先看基於影象的商品搜尋。我們今天講的是視覺的搜尋,是通過拍照的方式搜尋商品。**上有乙個功能就是拍照搜尋,叫做「拍立淘」。它要解決的問題就是文字之外的搜尋入口,是無法用簡單文字描述的搜尋需求,是種簡單直接的搜尋方式。如果這個應用每天的使用者和交易量在千萬級別的話,還是很有價值的。這裡關鍵的技術包括商品識別、商品檢測、和商品描述。首先,使用者拍了商品**後,要做出精準的商品型別判斷,不然後面就全錯了;然後要知道這個商品在影象中的位置,再用乙個深度學習網路做特徵提取;後面還有檢索、排序、搜尋質量判斷,以及結果呈現。這裡的幾乎每一步都是用深度學習來完成的。

我們來看幾個例子。這是同乙個包,但其實影象是不一樣;這是乙隻鞋子,雖然我們沒有找到同款,但找到了非常相像的款式;這是一件圓領衫,沒有什麼顯著的特徵,比較難做,但也是找到了很像的衣服;這個杯子是一次開會的時候看到的,你要用文字搜就說不清楚了,但用影象找到同款卻易如反掌。還有個例子,是和朋友喝茶的時候,看到這個泡茶杯太好了,我之前沒有見過;杯子上面有乙個紅色的按鈕,就是水倒下去後,水是在上面泡著茶葉,覺得泡的濃度差不多了,就可以按這個紅色的按鈕,茶水就流下去了。我想買,但不知道這個杯子叫什麼。好在我們有拍立淘,一拍就知道,這種杯子叫做飄逸杯,**上有很多可以選擇。

設計模式之Spring中觀察者模式

定義物件之間存在一對多或者一對一依賴,當乙個物件改變狀態,依賴它的物件會收到通知並自動更新。mq其實就屬於一種觀察者模式,發布者發布資訊,訂閱者獲取資訊,訂閱了就能收到資訊,沒訂閱就收不到資訊。優點1.觀察者和被觀察者是抽象耦合的。2.建立一套觸發機制。缺點1 如果乙個被觀察者物件有很多的直接和間接...

攻防世界之Web python template

之前做過一次python沙盒逃逸的題,但是當時只是看wp沒有仔細地深入,這次仔細的 一下這個漏洞的原理和防禦。在這裡只是寫一點開端,後續再深入,因為我看資料發現這個漏洞牽扯到的東西挺多的。web python template injection python模組注入 python沙河逃逸 fire...

攻防世界之warmup

題目 只有一張沒顯示好的,右鍵檢視源 提示source.php,訪問該頁面 接下來進行 審計 highlight file file class emmm page一定不能為空,且為字串if in array page whitelist 此處若在白名單內,則直接返回true page mb sub...