雲計算

火了這麼久的 AI,現在怎麼樣了?

本文將主要圍繞以下四個方面展開:

  • AI 技術背景
  • 自然語言處理
  • 語音技術
  • 機器視覺

一、AI 技術背景介紹

目前的 AI 技術都是以深度學習為基礎,而深度學習完成如此複雜的學習過程需要兩個條件,首先需要大量的數據,深度學習非常依賴數據挖掘技術,用於產生大量有效的訓練數據。此外,深度學習還需要優化算法,因為深度學習要在非常複雜的網絡中找到最好的模型,用於匹配數據。在最基礎的深度學習模型上,有三個主要的領域,既圖像視覺、語音交互和自然語言處理。其中,圖像視覺是由圖像處理和理解、自然人識別、視頻編解碼和內容分析、三維視覺等技術組成。語音交互是由語音識別、語音合成、語音硬件技術等組成。自然語言處理包括自然語言應用技術、語義理解計算、翻譯基礎計算等技術。所有這些技術組成了人工智能技術。綜上而言,人工智能是由深度學習和機器學習組成的。

image.png

1 機器學習

機器學習的目標是利用有限的樣本對未知的目標函數求近似。任何機器學習模型都有三個 component 組成,首先確定要學習的函數空間、然後確定使用的數據,用哪些訓練數據擬合機器學習模型,最後是找到優化算法,讓機器從函數空間中學習到最好的模型,即最佳匹配數據的模型。

image.png

2 深度學習

機器學習是考慮所有可能的函數,而深度學習只考慮一個特殊類的函數,神經網絡。在數據方面,深度學習的數據要求比普通模型的要求要高很多。在大數據支持的前提下,才能夠真正發揮深度學習的作用。傳統的優化只是做凸優化,而在深度學習場景中要處理非凸優化。因此,深度學習在三個 component 中都會遇到非常大的挑戰。首先,神經網絡構成的函數空間非常不清楚。其次,由於大數據的複雜性,訓練數據的難度比傳統機器學習的難度要大。最後,非凸優化無論在理論或實踐層面都沒有很成型的模版。所以業界為了找到最佳的實踐也在做很多的實驗研究。

image.png

3 人工智能發展的關鍵

人工智能發展主要包含兩個關鍵點。首先可以利用大量豐富的“活”數據。利用“活”數據的應用有很多,如 2016 年穀歌的 AlphaGo 戰勝了圍棋世界冠軍。另外,AI 技術具備強大的計算能力,如目前非常火的自動駕駛技術,Google 的 Waymo 可以在非常長的距離下無需人為干預的進行自動駕駛。但是這些技術早在 20 多年以前都有所實踐,在 1995 年,Backgammon 通過和自己下 1.5 萬盤棋,成為了世界冠軍。在 1994 年,Alvin 以每小時 70 英里的速度從美國的東海岸開到了西海岸。相比這 20 多年的發展,本質上的不同點是數據的數量級和計算能力的提升。如人臉識別技術現在都需要上億級別的訓練數據,而以前只有幾百萬張的數據。傳統的 AI 技術要依靠很多的 GPU 才能得到比較好的模型效果。

自然語言處理

1 自然語言處理模型

自然語言處理也有著很長的歷史,以前叫計算語言學。傳統的計算語言學方法使用統計學的語言概率模型構建自然語言模型。如下圖中的“中國鼓勵民營企業家投資國家基礎建設”,這一句話可以被解析為一個語言樹,分為主語、謂語、賓語、動詞和名詞等內容。也就是利用語言樹表達這句話的語法結構。另外,傳統的自然語言中常用的技術叫統計語言模型。如下圖中的拼音串 “ta shi yan jiu sheng wu de” 可以有多種可能的漢子串表達,人為判斷的話應該是最後一條“他是研究生物的”。實際上,人類大腦中通過大量閱讀會形成一個概念圖表,知道哪些表達是可能發生的,形成了一種統計語言模型。最典型的統計語言模型是 Bi-gram 模型,計算一個詞之後可能出現的詞的概率。但傳統的計算語言學方法存在模型欠精準,文本處理效果一般等弊端。

image.png

鑑於傳統方法的侷限,深度學習可以用於自然語言處理中,其中最成功的的模型叫深度語言模型。與傳統方法的區別在於它將所有詞的上下文信息用張量表示,還可以雙向表示,即對未來和過去都做預測。此外,深度語言模型利用了 Transformer 結構,可以更好的捕捉詞和詞之間的關係。

image.png

  • 自然語言模型 - 問題應用

問答應用傳統的方式是常見問答對(FAQ)和知識圖譜(KBQA)。如下圖中的例子,問答對是一個數據庫,包含問題和回答。這種方式相對保守,且編輯問答對要求人對相應的 domain 有比較深的理解,很難擴大領域,且冷啟動慢。為了解決此問題,隨之出現了機器閱讀理解的技術,它可以直接自動從文檔中找到匹配問題的答案,通過深度語言模型將問題和文檔轉化為語義向量,從而找到最後的匹配答案。

目前問答應用廣泛應用於各大企業,如阿里小蜜,閒魚賣家助理,每天幫助百萬級的買家自動獲取商品和活動信息。

image.png

2 自然語言處理 - 機器翻譯

另外一個比較成熟的 AI 技術的應用是機器翻譯。傳統的翻譯模型叫統計機器翻譯模型(SMT),如下圖左側,從翻譯結果來看,統計機器翻譯模型容易產生錯譯,整體流暢度差,包含語法錯誤。引入深度學習的神經網絡機器學習模型(NMT)的結果錯譯少,流暢度也比較高,符合英文的語法規則。

image.png

下圖中可以看到,Google Brain 對神經網絡做了一個評估報告,其中 phrase based 翻譯模型達到的效果有限,而基於神經網絡的翻譯模型有了明顯的提升。同時,在阿里巴巴業務中機器翻譯也得到了廣泛應用,如電商場景中對商品信息的翻譯,釘釘 AI 翻譯等。但是因為釘釘的信息都是比較隨意的表達,所以釘釘 AI 翻譯在未來還有很大的進步空間。

image.png

三、語音技術

語音技術在很長一段時間內都被想象成是編碼的技術,將文字編譯成語音信號。而語音識別的過程是屬於解碼的過程。

image.png

通常語音識別有兩種模型,語言模型(Language Model)和聲學模型(Acoustic Model)。語言模型主要的場景是預測某詞或詞序列的概率。聲學模型預測通過詞 W 的發音生成特徵 X 的概率。

image.png

1 語音識別

  • 混合語音識別系統

傳統的混合語音識別系統叫 GMM-HMM,GMM 用於聲學模型, HMM 用於語言模型。即使在語音識別領域大家做了很長一段時間的努力,但還是無法達到人類語音識別水平。到了 2009 年之後,基於深度學習的語音識別系統開始發展, 2017 年微軟聲稱它們的語音識別系統比傳統的語音識別系統有了明顯的提升,甚至比人類的語音識別水平更好。

傳統的混合語音識別系統包含獨立優化的聲學模型,語言模型和語言學家設計的發音詞典。不難發現,傳統的語音識別系統的構建流程非常繁瑣,它需要多個 component 並行開發,各個模型都是獨立優化的,導致最終的優化效果不盡人意。

image.png

  • 端到端的語音識別系統

基於傳統的語音識別系統遇到的問題,端到端的語音識別系統中將聲學模型、解碼器、語言模型、發音詞典都結合在一起,統一進行開發和優化,使得效果達到最優。實際的實驗結果明端到端語音識別系統可以進一步降低識別 20+% 的錯誤率。此外,模型的達到會大大縮小,可以達到傳統語音識別模型的幾十分之一。而且端到端的語音識別系統還可以在雲上發揮作用。

image.png

2 語音合成

語音合成大概分為幾個 component。首先是前端的文本分析,進行詞的拆分,識別 break,這些會構成語言信息。之後,傳到後端通過聲學模型產生聲波。

image.png

  • 語音合成歷史

語音合成技術從最早的 GMM,到 2000 年的 HMM,再到 2013 年,基於深度學習的模型。而到了 2016 年,WaveNet 相較於之前的模型,在語音質量上有了質的飛躍。2017 年出現了端到端的語音合成模型。2018 年阿里巴巴的 Knowledge-aware Neural 模型不僅能夠產生很好的音質,還實現了大規模的模型壓縮和計算效率的提升,可以實時產生有效的合成語音。

image.png

語音合成一直存在一個較大的 borderline,即定製化成本非常高。通常傳統的語音定製則需要專業的發言人,還要在錄音棚中錄製,人工精準的標註,而且需要大量的數據,一般大於 1 個小時。而如今,語音合成需要在個性化聲音定製方面做一些嘗試,任何的普通人只要通過手機進行錄製,即便在噪聲環境下,也可以完成個性化的聲音定製。如可以將車內導航系統的語音換成家人的聲音。

image.png

3 多模態語音交互方案

當人和人對話時,不只是在聽聲音,而是通過視覺和聽覺結合起來理解對方表達的意思。未來的語音交互系統中,還需要將多模態交互方案引入進來。目前的語音識別系統在嘈雜環境下的效果還是不盡人意的,在地鐵等嘈雜的公共環境中還是會遇到較大的挑戰。阿里達摩院希望將語音識別和機器視覺進行結合,採用多模態的人機交互技術將語音識別與計算機視覺結合的方式,讓機器人看著對方,聽對方說話,就可以在嘈雜的環境中精準識別用戶發出的聲音。

image.png

舉一個例子,假如在地鐵站買票,和賣票機器進行對話,同時因為後面也排著很多人,他們也會說話。這時通過視覺的方式,可以判斷哪一個人臉更大,從而識別買票的人說的話。下圖展示了基於人臉特徵監督信息的目標說話人語音分離主要算法處理流程。最後是提出的音視覺特徵輸入和基於音視覺融和的信源掩碼估計模型。

  • 音視覺融合技術應用

音視覺融合技術已經在很多生活場景中得到廣泛應用。覆蓋了上海的主要交通樞紐,如地鐵站,虹橋火車站、上海火車站、上海南站、虹橋機場和浦東機場等。從 2018 年 3 月至今累計服務旅客超百萬人。此外,2018 年 9 月杭州雲棲大會上達摩院和肯德基合作的基於多模態技術的智能點餐機在 3 天內完成了4500 單。2019 年 8 月釘釘推出了搭載多模態交互技術的智能辦公硬件新品 M 25,可以在嘈雜的聲音環境下使得交互更加有效。

四、視覺技術

1 圖像搜索

視覺技術中最核心的就是圖像搜索的識別,同樣也經歷了很長的發展過程。在早期的 90 年代初期是基於全局信息的底層特徵進行搜索,如將圖像顏色的信息做分佈,但這種方法的精度非常糟糕,如 ImageNet Top 5 只達到了 30%。到 2000 年初,大家開始基於局部的特徵編碼特徵做圖像的搜索和識別,精度達到了 70%。但是其中局部信息都是由人工確定,如果出現人沒有見過的特徵,則無法有效提取。到了 2010 年左右,大家開始使用深度學習的技術,自動的提取局部信息特徵,從而精度達到了 92%,使得圖像搜索技術完全可以應用於商業場景。

image.png

圖像搜索和識別發展歷程

目前,圖像搜索面臨的挑戰主要有三點,首先數據越來越多,10 億級別的訓練數據。同時還要處理上億級別的分類。而且模型的複雜度也越來越高。

image.png

為了解決以上挑戰,阿里推出了九鼎,一種大規模 AI 訓練引擎。九鼎是大規模訓練載體和專家系統,涵蓋了視覺、NLP 等領域。九鼎由兩部分組成,首先是通訊,因為所有大規模訓練都需要多級多卡,如何有效的通過多級多卡提升模型的訓練,減少通訊的代價是較為重要的問題。另外一部分是優化算法部分,如何做好分佈式的優化問題同樣也是目前遇到的較大的挑戰。這種大規模訓練引擎可以處理大規模數據的分類並達到很好的訓練效果。ImageNet ResNet50 可以在 2.8 分鐘內就可以訓練完成。若處理 1 億級的 ID,10 億級別的圖片分類可以在 7 天內訓練完成。

image.png

  • 圖像搜索應用

圖像搜索在實際生活場景中被廣泛應用。目前,拍立淘可以處理超大規模的圖像識別和搜索任務,其中有 4 億+ 的商品,30 億+ 的圖片,和 2000 萬+ 的活躍用戶。可以識別 3000 萬+ 的實體,覆蓋了 SKU 商品,動物,植物,車輛等。

image.png

天巡是用於遙感圖像識別分析的應用,可以進行大規模的遙感影像訓練,拖動遙感圖像的路網提取,地物分類,新增建築物識別,違章建築識別等任務。

image.png

2 圖像分割

圖像分割指的是從一張圖中將 object 分割出來。傳統的圖像分割方法是如下圖左側,分割成很多像素,看每個像素之間的相似度,相似的像素聚合起來一些區域,再輸出。但傳統的圖像分割技術無法學習到語義的信息,只能知道圖中的 object,但不知道 object 是什麼物體。另外,因為採用了無監督的學習,在分割邊角時精度不高。

image.png

而基於深度學習的分割技術基於監督學習,將很多訓練樣本接入技術中。同時還可以得到分割的結果和分類的結果,理解每個像素的實例歸屬。而且在大規模的數據前提下,編碼器和解碼器模型可以精細的分割 object 的邊緣。

image.png

image.png

  • 圖像分割應用

阿里將圖像分割技術應用於淘系的全類目商品中,可以自動生成商品白底圖,提速商品發佈。

image.png

另外,還可以用於服飾的素材拼圖場景中,商家會提供模特素材,利用分割技術,將模特身上的服飾進行分割,自由組合搭配。

image.png

3 模型壓縮

目前,深度學習技術已經廣泛應用於多種行業中,同時也遇到了很多挑戰。首先,深度學習模型越來越複雜,其中計算量在不斷增長,達到了 20G FLOPS+,還有不斷增加的連接。模型變大那就需要較大的 memory 進行存儲,找到合適的 Device 將是非常困難的事情。即使有了 Device,模型也需要跑很長的時間。此時,模型的壓縮技術就顯得非常重要,它可以將幾十 G 的模型壓縮到幾十 M,用戶可以在任何的 Device 上運行模型,無需等待很長時間。

模型壓縮已經發展了很長時間。如下圖中的模型,可以將模型中不重要的邊去掉,進行稀疏化。然後對模型的邊進行量化,給不同的權重。最後對模型進行分支,改變結構。FPGA 的加速方案可以在相同 QPS 條件下,相對 GPU 提速 170 倍(RESNet-18 僅需 174us)。

image.png

模型壓縮本質上是改變模型的結構。模型結構的選擇是比較難的問題,它不是一個普通的優化問題,不同結構之間是一個離散的空間。阿里提出出的 cargotainer 方法,可以更快速的獲取準確的 pseudo gradient,在 2019 年 ICCV 大會舉辦的低功能耗圖像識別挑戰(Low-Power Image Recognition)中獲得了冠軍。

image.png

  • 模型壓縮技術的應用

基於 FPGA 的解決方案在盒馬自助收銀機得到了應用,利用機器視覺方法識別是否漏掃商品,GPU 成本縮小到 1/2。同時自研的高效檢測算法,可以在 1 秒內完成多種行為分析任務,掃碼動作分類準確度達 90% 以上。場景分類準確度達 95% 以上。

image.png

4 目標檢測

另外,機器視覺技術可以應用與視頻信息的結構化任務中,檢測目標物體,跟蹤識別。目標檢測和跟蹤識別任務主要的處理流程如下圖,對視頻進行解碼,目標檢測,目標跟蹤,高維特徵提取,屬性提取,存儲為結構化數據。

image.png

目標檢測技術也出現了很長一段時間,傳統的檢測方法是 HoG,DPM 等,依靠 Handcrafted 特徵,即人工選擇特徵。這種方法的問題在於魯棒性差,無法泛化,計算量冗餘度高。而現在也出現了很多基於深度學習的目標檢測方法,如 Faster RCNN、SSD、RetinaNet、FCOS 等。它們的優點是機器可以替代人工識別的特徵,可以對物體的尺寸,外觀的變化更加魯棒,泛化性能好。如下圖中的折線圖,可以發現從 2008 年到 2019 年,從較低的準確度(大約 20%)提升到了 83% 左右。

5 目標跟蹤

目標識別出來後還要進行跟蹤。在目標跟蹤中遇到的挑戰是人是動態的,在行動的過程中會被其它物體或人遮擋,這檔過程中會丟失目標,如下圖中的紅色衣服的人會被紫色衣服的人遮擋。傳統的方法是根據 position 進行匹配,但在上述擁擠場景中,預測位置難以精確,匹配很容易出現錯誤。而基於深度學習的方法是抽取 appearance feature 進行匹配,預測結果更加魯棒。

image.png

image.png

  • 目標檢測和跟蹤應用

目標跟蹤的應用場景一般在新零售場景中。購物中心和品牌門店需要對客流及場內行為進行深入洞察,構建線下人、貨和場地的數據關聯。提升線下運營的管理效率,提升消費者體驗,最終促進業務的增長。

image.png

另外,目標跟蹤技術用於案發場景下。但因為案發場景中視頻都是非常長時間的內容,難以人為檢查識別。那麼能否將整個 24 小時的信息濃縮後在幾分鐘內看完。其中需要利用目標檢測和目標跟蹤的技術,識別人和物,跟蹤軌跡。將不同時間的軌跡一起播放,如果對某一個或某一類軌跡感興趣可以點擊進去,看到這類的視頻內容,大大減少了觀看視頻的時間。

image.png

總結

可以發現 AI 技術的發展離不開大量數據的支持,因此目前的人工智能技術還是以數據為驅動。如機器翻譯和專業的翻譯人員相比,人在翻譯的時候並不是完全以數據為驅動,不需要閱讀上億的數據,更多是基於 Knowledge 的方法,高效的處理已有的信息。所以在未來,如何讓機器從 Data Driven Approach 走向 Knowledge Based Approach 還需要進行不斷的探索和努力。

Leave a Reply

Your email address will not be published. Required fields are marked *