人工智慧非技術從業者必知的十件事

本文及其它機器學習、深度學習演算法的全面系統講解可以閱讀《機器學習與應用》,清華大學出版社,雷明著,由SIGAI公眾號作者傾力打造,自2019年1月出版以來已重印3次。

  • 書的購買鏈接
  • 書的勘誤,優化,源代碼資源

AI大潮洶湧,吸引了越來越多的人才進入來添磚加瓦。而其中,除去核心的演算法工程師、科學家外,催生了大量相關的從業人員。而無論你是銷售,產品,設計,甚至是協作的APP開發或投資人,無論你之前是否是理工背景,從事其中自然需要了解一些基本的技術相關知識。這樣,無論你是判斷一家合作、投資公司的技術實力,更好的配合演算法團隊,乃至在「高深」的演算法人員前快速建立交流自信,本文都會快速帶來幫助。

1. 人工智慧AI範圍定義

簡單的說,人工智慧>機器學習>深度學習。計算機視覺,語音語義分析等問題大量應用但又不限於機器學習。目前人工智慧爆發的背後核心因子是深度學習的突破及其應用紅利。目前的人工智慧,無論是已經很普遍的人臉識別,還是比較高深的AlphaGo,本質都還限定在特定任務,特定規則的環境下執行。因此也被很多業內人員稱為「弱人工智慧」,距離真正類人的,可同時自主學習多問題的「泛人工智慧」或「強人工智慧」還有非常巨大的差距。

當然,業內對於智能未來的發展是否一定會類人,或者說需要類人還有很多討論和爭議,這裡就不展開討論了。但總之,在目前政治正確的「人工智慧」討論背後,這個詞本身的範圍界定和其是否有過於誇大的泡沫成分,都還沒有明確的業界共識。

想要更多了解人工智慧與機器學習的歷史和關係,推薦Sigai另一篇優秀的原創文章,「機器學習——波瀾壯闊四十年」

深度學習,機器學習與人工智慧

2. AI演算法問題的定義

核心來說,機器學習類演算法本質都最終可以歸納到「回歸」,「分類」和「聚類」三大問題。深度學習演算法本質是複合函數的擬合,所以也都可以匯總到「回歸」問題。但演算法籠統的概括起來容易,具體到各個問題的抽象設計就複雜了。比如AlphaGo圍棋,本身除了算力、數據設計外,如何把圍棋輸贏提煉成計算機演算法可表徵的問題(圍棋核心走的是轉化為圖像問題),也是非常大的挑戰。

「AlphaGo演算法解析示例」

關於這一方面,SIGAI的另一篇文章中也有詳細的介紹:「從根號2到AlphaGo——第一季 從根號2談起」,感興趣的同學可以參考閱讀。

3. 不同問題的模型關聯性與通用性

當然,隨著AI行業的快速發展,很多以前很難被定義的問題,都快速找到了解決路徑。比如情緒識別,很大程度上轉化為了人臉的多分類問題。同時,很多問題由於深度學習建立的「黑箱」體系,或者說「鍊金術」體系,原有各個問題獨立的特徵工程體系被打破。

以圖像領域為例,很典型的有,分割>檢測>識別,即分割問題覆蓋檢測問題,而檢測又覆蓋識別,裡面的特徵信息大量共享。基於分割問題訓練出來的模型,其表現往往優於獨立的檢測模型。同時,一個用在物體識別的模型,更換一批訓練數據後,放在比如場景識別往往也可以跑出很好效果。正是受益於深度學習的這種通用性,很多新的問題可以快速被解決,也促進了這一輪AI的繁榮。當然,在實際應用中,還有大量的問題沒有被清晰定義,這也是非常考驗各個演算法團隊和從業人員的難點。

「情緒識別與人臉關鍵點」樣例

4. 模型的評判標準

如前文所述,目前很多經典問題都已經被清晰定義了。定義之後,就可以量化的去比較了。這裡,ROC(receiver operating characteristic curve)曲線在演算法比較中被大量應用,但對非演算法人員來說理解準確率和召回率這兩個常用指標也就夠了。目前,行業各家公司在宣傳自己的技術時,也都會對自己模型的準確度進行大力鼓吹。而很明顯的,精準度的高低與評判標準緊密掛鉤。比如都是人臉識別,一個測試數據為清晰的證件照,一個為日常的生活照,顯然即使同一個模型的指標會因為測試標準的不同而大相徑庭。為了統一標準,就需要權威的演算法競賽和對應資料庫。

「ROC」曲線樣例

5. 演算法競賽

如前文所述,最初科研導向為主的標準資料庫,在統一測試和技術標準起到了巨大作用,從圖像類的Imagenet爆發開始,業界對其愈發重視,各類初創AI相關公司或演算法從業人員都會大力宣傳自己在演算法競賽的名次。作為非演算法技術人員,只需要了解演算法大賽的含金量和他的成熟程度,會查看目前競賽各項目的名次,了解各個細分領域大致的一個學術成熟度即可。

尤其近些年競賽由於被過度的重視,測試集被刷爆,也可以理解為考題已經公開,自然他的價值也就大幅縮水,所以國內企業很多吸引眼球的宣傳實質缺乏含金量。同時,還需要再提醒一次的是,演算法大賽採用的數據集規模,以及這些數據集和實際使用場景的類同性,往往和實際落地場景還是有很大差距。有些時候換一批訓練數據這種問題可以彌合這種差距,但更多時候這種距離不是單純的數據問題,而這就會導致演算法理論精度與實際表現的巨大差距。比如人臉識別問題中,比較標準的資料庫LFW業界基本都可以刷到接近100%的準確率,但實際問題中,因為光照,人臉拍攝角度不同,導致模型和演算法邏輯的改變,進而產生與理想情況嚴重的誤差。

「Coco 2018關鍵點檢測競賽排名」

6. 數據規模與數據質量

和演算法競賽類似,數據也是評估一個公司技術能力或技術潛力的重要指標。演算法技術水平通常對外行很難了解和評估,而大量標準化問題又都有通用解決方案,這樣能否有個性化的數據讓演算法發揮威力就成為少數可量化的重要標準。這樣,BAT等大公司顯然有巨大的優勢。但需要注意,數據規模並不意味著數據質量,尤其在目前定向的「弱人工智慧」階段,數據與需要解決問題的緊密關聯程度、數據是否有稀缺性,這些才意味著數據的實際價值。

而且,現在也有大量專門的演算法去解決數據稀缺的問題,比如專門生成有效數據的 GAN,以及各種減少數據依賴的策略。 所以數據與演算法能力,某種意義也是一種制衡。

「GAN樣例,利用原有數據生成新的可用數據」

7. 模型訓練(學習)V.S模型檢測(實踐)

另外對於初次接觸這個領域,沒有機器學習知識的人,需要理解的一個重要概念就是模型訓練與模型檢測。這個過程其實是仿照人類的學習過程。小時候我們被幼教展示各種識圖卡進而學會認識各種事物;長大我們做作業練習進而可以參加考試,這都是學習與實踐的兩步過程。

而在傳統機器訓練過程中,演算法人員需要大量的參與其中,調整其學習特徵,以識別寵物貓的圖片為例,演算法人員幾乎需要設計每一步識別的特徵,比如這裡識別貓耳朵的某個邊角,那裡識別一個光照特性。而與之相對的,採用深度學習的演算法人員在設定好學習數據與模型解構後,並不需要詳細的設定各個學習特徵,這也就是深度學習的黑箱特性。

但作為代價,就是相比於傳統的特徵工程,深度學習中模型訓練與檢測這兩個過程的割裂更加明顯。一個模型的訓練周期往往以數小時起步,而實際調用模型做檢測過程卻只有幾秒(某種意義上這更加接近於我們自身寒窗苦讀10年,高考一星期的體驗J)。而且,模型訓練過程中演算法工程師能夠參與調整的空間小了很多。而為了更快改進問題,更快的完成訓練過程,巨大的計算能力就尤為重要。

「簡易機器學習流程」

8. GPU /FPGA/ASIC

之前已經提到了計算能力。而不可忽視的是,這一波深度學習發展促進的AI浪潮最大的成就者和受益者之一就是硬體的提供商,尤其是顯卡的製造商英偉達Nvidia。Nvidia對於很多遊戲玩家都不陌生,但對於其制霸AI硬體領域,簡單來說,是英偉達顯卡所採用的GPU計算單元,在處理並行計算中,有著優於傳統Intel體系的CPU單元更高的效率;而不同串列的運算邏輯,並行的矩陣計算又恰恰是深度神經網路運算的根本。所以現在,高性能的英偉達顯卡對於AI工程師有著比遊戲骨灰玩家更大的吸引力。

當然,英偉達的GPU體系也面臨非常多挑戰。比如FPGA和ASIC,他們都強調通過對演算法更加定製化的設計,更接近IO,來達到比GPU更高的效率和更低的能耗。他們的主要區別在於FPGA,或者翻譯為可編程邏輯門陣列,他仍然有可以編輯的配置文件去修改;而ASIC,或者說定製晶元,在物理燒制完成後,無法再去修改。除此之外,還有谷歌的TPU體系等等。當然硬體是一個很大的話題,尤其是晶元,裡面涉及到非常多知識,所以我們這裡只是給出一個概括性的描述。

9. 端部署V.S雲部署

說過了模型訓練與模型檢測,以及支持的伺服器硬體甚至晶元,一個很自然的問題就是深度學習模型的部署。和所有的數據密集的應用或服務一樣,都有部署的「雲端化」和「本地化」平衡。

在模型訓練方面,由於耗時較長且需要大量計算資源,所以這塊主流方案都是部署在雲端或者服務商自己的伺服器。一方面這樣對於AI能力提供方更加方便管理計算資源,另一方面也更便於他們獲取和利用客戶的數據。自然,也有很多大型的客戶因為數據安全和沒有掌握模型改進的核心能力(畢竟模型交付之後還是有修改的需求)而不滿足於此,但在客戶本地部署訓練用的伺服器硬體成本,對於中小型客戶還是比較大的。雖然業界也有很多輕量級的訓練方案,甚至有隻利用手機自身的計算資源就完成模型訓練的框架,不過這個目前都還不太主流。

而在模型的檢測,即單純的前向運算方面,本地化部署和雲端部署的方案在業內都存在。部署在本地,比如集成在手機或手機APP包中的一些相機AI美顏功能,難點在於端的優化,包括佔用更小的存儲獲得更快的處理速度,而好處在於這樣一些需要實時處理的功能模型響應更快,避免了API傳輸中的時間損耗。尤其是自動駕駛和安防攝像頭這種對於實時性有極高要求的服務,對於本地端的計算能力和響應時間要求極高,傳輸的時間損耗很難忽略,這也促進了很多向端提供晶元的企業的市場。而另一方面,很多大型企業在其雲平台都會對已經比較標準化的AI技術,比如語音識別、人臉識別等提供可供小型企業、甚至個人直接調用的API,這個和很多雲端服務是類似的。這種服務對於客戶的好處在於他調用和付費的便捷性。但如果是對於大型企業,或這個AI模塊承擔了比較大的作用,這種服務就不太充分了。

近期躥紅的「尬舞機」功能就需要在端快速的前向處理速度

10. 模型部署與工程化能力

正如10所述,除了模型本身的性能,工程化的能力和流程對於使用時,客戶感受到的實際效果決不可忽視,這就不單是一個優秀的演算法工程師能夠解決的,而需要一個完整的團隊來配合。不論是前期對於客戶的需求把握和預期控制、結構化的數據獲取和調用系統、模型快速的部署、準確合理的模型測試方法,都是除了演算法競賽以外對於一個團隊和企業能力的重要考核因素。所以,回歸技術服務商的本質,強化系統性的能力,對於很多AI企業和團隊都是必修課。

推薦閱讀

[1]機器學習-波瀾壯闊40年【獲取碼】SIGAI0413.

[2]學好機器學習需要哪些數學知識?【獲取碼】SIGAI0417.

[3] 人臉識別演算法演化史【獲取碼】SIGAI0420.

[4]基於深度學習的目標檢測演算法綜述 【獲取碼】SIGAI0424.

[5]卷積神經網路為什麼能夠稱霸計算機視覺領域?【獲取碼】SIGAI0426.

[6] 用一張圖理解SVM的脈絡【獲取碼】SIGAI0428.

[7] 人臉檢測演算法綜述【獲取碼】SIGAI0503.

[8] 理解神經網路的激活函數 【獲取碼】SIGAI2018.5.5.

[9] 深度卷積神經網路演化歷史及結構改進脈絡-40頁長文全面解讀【獲取碼】SIGAI0508.

[10] 理解梯度下降法【獲取碼】SIGAI0511.

[11] 循環神經網路綜述—語音識別與自然語言處理的利器【獲取碼】SIGAI0515

[12] 理解凸優化 【獲取碼】 SIGAI0518

[13] 【實驗】理解SVM的核函數和參數 【獲取碼】SIGAI0522

[14]【SIGAI綜述】行人檢測演算法 【獲取碼】SIGAI0525

[15] 機器學習在自動駕駛中的應用—以百度阿波羅平台為例(上)【獲取碼】SIGAI0529

[16]理解牛頓法【獲取碼】SIGAI0531

[17] 【群話題精華】5月集錦—機器學習和深度學習中一些值得思考的問題【獲取碼】SIGAI 0601

[18] 大話Adaboost演算法 【獲取碼】SIGAI0602

[19] FlowNet到FlowNet2.0:基於卷積神經網路的光流預測演算法【獲取碼】SIGAI0604

[20] 理解主成分分析(PCA)【獲取碼】SIGAI0606

[21] 人體骨骼關鍵點檢測綜述 【獲取碼】SIGAI0608

[22]理解決策樹 【獲取碼】SIGAI0611

[23] 用一句話總結常用的機器學習演算法【獲取碼】SIGAI0611

[24] 目標檢測演算法之YOLO 【獲取碼】SIGAI0615

[25] 理解過擬合 【獲取碼】SIGAI0618

[26]理解計算:從√2到AlphaGo ——第1季 從√2談起 【獲取碼】SIGAI0620

[27] 場景文本檢測——CTPN演算法介紹 【獲取碼】SIGAI0622

[28] 卷積神經網路的壓縮和加速 【獲取碼】SIGAI0625

[29] k近鄰演算法 【獲取碼】SIGAI0627

[30]自然場景文本檢測識別技術綜述 【獲取碼】SIGAI0627

[31] 理解計算:從√2到AlphaGo ——第2季 神經計算的歷史背景 【獲取碼】SIGAI0704

[32] 機器學習演算法地圖【獲取碼】SIGAI0706

[33] 反向傳播演算法推導-全連接神經網路【獲取碼】SIGAI0709

[34] 生成式對抗網路模型綜述【獲取碼】SIGAI0709.

[35]怎樣成為一名優秀的演算法工程師【獲取碼】SIGAI0711.

[36] 理解計算:從根號2到AlphaGo——第三季 神經網路的數學模型【獲取碼】SIGAI0716

[37]【技術短文】人臉檢測演算法之S3FD 【獲取碼】SIGAI0716

[38] 基於深度負相關學習的人群計數方法【獲取碼】SIGAI0718

[39] 流形學習概述【獲取碼】SIGAI0723

[40] 關於感受野的總結 【獲取碼】SIGAI0723

[41] 隨機森林概述 【獲取碼】SIGAI0725

[42] 基於內容的圖像檢索技術綜述——傳統經典方法【獲取碼】SIGAI0727

[43] 神經網路的激活函數總結【獲取碼】SIGAI0730

[44] 機器學習和深度學習中值得弄清楚的一些問題【獲取碼】SIGAI0802

[45] 基於深度神經網路的自動問答系統概述【獲取碼】SIGAI0803

[46] 反向傳播演算法推導——卷積神經網路 【獲取碼】SIGAI0806

[47] 機器學習與深度學習核心知識點總結 寫在校園招聘即將開始時 【獲取 碼】SIGAI0808

[48] 理解Spatial Transformer Networks【獲取碼】SIGAI0810

[49]AI時代大點兵-國內外知名AI公司2018年最新盤點【獲取碼】SIGAI0813

[50] 理解計算:從√2到AlphaGo ——第2季 神經計算的歷史背景 【獲取碼】SIGAI0815

[51] 基於內容的圖像檢索技術綜述--CNN方法 【獲取碼】SIGAI0817

[52]文本表示簡介 【獲取碼】SIGAI0820

[53]機器學習中的最優化演算法總結【獲取碼】SIGAI0822

[54]【AI就業面面觀】如何選擇適合自己的舞台?【獲取碼】SIGAI0823

[55]濃縮就是精華-SIGAI機器學習藍寶書【獲取碼】SIGAI0824

[56]DenseNet詳解【獲取碼】SIGAI0827

[57]AI時代大點兵國內外知名AI公司2018年最新盤點【完整版】【獲取碼】SIGAI0829

[58]理解Adaboost演算法【獲取碼】SIGAI0831

[59]深入淺出聚類演算法 【獲取碼】SIGAI0903

[60]機器學習發展歷史回顧【獲取碼】SIGAI0905

[61] 網路表徵學習綜述【獲取碼】SIGAI0907

[62] 視覺多目標跟蹤演算法綜述(上) 【獲取碼】SIGAI0910

[63] 計算機視覺技術self-attention最新進展 【獲取碼】SIGAI0912

[64] 理解Logistic回歸 【獲取碼】SIGAI0914

[65] 機器學習中的目標函數總結 【獲取碼】SIGAI0917

[66] 人臉識別中的活體檢測演算法綜述【獲取碼】SIGAI0919

[67] 機器學習與深度學習常見面試題(上)【獲取碼】SIGAI0921

[68] 淺談動作識別TSN,TRN,ECO 【獲取碼】SIGAI0924

[69] OCR技術簡介【獲取碼】SIGAI0926

[70] 輕量化神經網路綜述【獲取碼】SIGAI1001

[71] 行人重識別PCB-RPP,SGGNN 【獲取碼】SIGAI1001

原創聲明:本文為 SIGAI 原創文章,僅供個人學習使用,未經允許,不能用於商業目的


推薦閱讀:

TAG:人工智慧 | 技術 | 科技 |