- 突圍算法:機器學習算法應用
- 劉凡平
- 2641字
- 2020-09-05 00:31:26
1.2 人工智能與傳統機器學習
1.2.1 人工神經網絡與生物神經網絡
機器學習是人工智能的重要組成部分,而深度學習是機器學習深度智能化的技術方向之一。人工神經網絡(簡稱神經網絡)是深度學習的發展基礎,它模擬了生物神經網絡的信號傳輸原理,是人工智能技術中的基礎算法之一。神經網絡模擬了生物神經網絡中的神經元,在人腦中,神經元(神經元)的數量大約有860億個,神經元能夠感知環境的變化,同時將信息傳遞給其他的神經元,并根據傳遞的信息指令集體做出反應。
神經元由樹突、細胞體、軸突突觸等基本結構組成。信號在傳遞過程中形成電流,在其尾端為受體,借由化學物質(化學遞質)傳導(多巴胺、乙酰膽堿),在傳遞適當的量后會在兩個突觸間形成傳導電流,一個典型的神經元結構如圖1-2所示。

圖1-2
神經元中的樹突、細胞體、軸突、突觸是神經網絡的神經元模擬的重要對象,神經網絡在功能和結構上都一定程度參照了神經元。樹突、細胞體、軸突、突觸的介紹如表1-2所示。
表1-2

續表

而神經網絡的神經元基于樹突、細胞體、軸突、突觸的功能,定義了輸入層、加權求和、激活函數、輸出層,分別模擬了樹突的信號輸入、細胞體的加工和信號處理、軸突的控制輸出、突觸的結果輸出,一個神經網絡的神經元結構如圖1-3所示。

圖1-3
神經網絡中的神經元有多種數學模型,其中最經典、最簡單的是感知器。感知器通過對輸入數據加權求和并經過激活函數,從而輸出最終的結果。
例如,評價某個地方是否符合居住環境,y作為輸出,y=0表示不符合居住環境,y=1表示符合居住環境。影響它的因素有綠化面積、超市商業街、出行公交線路等,這些影響因素則是xi,每一個因素對是否符合居住環境都有權重wi,因此通過對因素的加權求和并通過激活函數計算是否符合居住環境,最終的輸出與圖1-3類似。
一個復雜的神經網絡是由眾多這樣的神經元組成的,神經元之間相互傳遞,上一層的神經元的輸出作為下一層神經元的輸入,這樣不斷傳遞就形成了神經網絡的基本結構。隨著深度的加深,以及對神經元激活函數的改進等,逐步形成了深度神經網絡的基礎結構。
1.2.2 落地的關鍵因素
人工智能技術的落地一方面受限于處理問題的復雜度,另一方面受限于落地環境。人工智能落地的關鍵因素大致可以分為計算力、算法模型、數據和業務場景。
1.計算力
計算力是模型訓練的運算基礎,尤其在深度神經網絡中,不僅需要訓練的數據量非常大,而且算法模型本身的網絡深度和模型復雜度都非常高,因此需要足夠的計算力對模型的參數進行訓練。可以說,計算力就是人工智能技術的生產力。
對于傳統的機器學習模型,CPU型計算服務器或許能夠應對,但對于一個復雜的深度模型,它的神經元的數量數以萬計,參數量也在百萬級或千萬級,無論在訓練階段,還是推斷階段,涉及的參數計算量都非常大。而GPU可以幫助提升計算力,分布式并行的GPU集群是提升效率的重要方式之一。擁有強大計算力是企業發展智能化的基礎,傳統的計算集群(如Spark)便是其中一種方式。
從算法模型訓練的角度來看,一個簡單的模型在GPU集群中可以在數小時內產生結果,但是在低效率的計算方式中,可能需要數周才能看到結果。若將算法模型的在線推斷放到CPU型計算服務器中,可能需要10余秒才能完成推斷,而放在GPU集群中,則可以做到秒級響應。這對在線業務的影響非常大,甚至影響用戶的體驗、產品系統設計、運算效率等。
因此,計算力是人工智能落地的關鍵技術之一,沒有強大的計算力則意味著沒有強大的數據處理能力、模型生產能力和在線服務能力。隨著當前云計算已經越來越成熟,計算力也越來越容易獲得,成本也在不斷降低。
2.算法模型
算法模型是解決問題的策略,隨著算法模型復雜度的不斷加深,解決問題的能力也會不斷增強。理論上,算法模型的結構深度越深,對數據的理解能力(擬合)越強。
算法模型是人工智能落地的承載體。例如,在人臉識別中,通過人臉識別的算法模型對不同人的人臉進行認證,通過認證的結果實現對業務的承接。算法模型本身是不具備價值的,但是算法模型和業務關聯起來就會產生效益。例如,在量化交易中,量化交易的策略模型對交易進行分析控制,從而實現收益。
算法模型的設計需要專業度和深度,設計符合業務需求的算法模型是人工智能落地的關鍵,脫離業務需求的算法模型,不僅不能解決實際問題,還會造成計算資源和數據資源的浪費。
算法模型雖然是理解業務的關鍵一環,但并不是設計得越深越好,而是要恰到好處。一個簡單的解方程的模型,不需要復雜的網絡模型結構,更不需要高性能GPU的支持。對算法模型的掌握和應用是人工智能技術人員的關鍵技能之一。
3.數據
數據的重要性在人工智能落地中毋庸置疑,但是對于數據則有一定的要求,主要體現在兩個方面。一方面,數據代表的特征要足夠全面;另一方面,數據的量要足夠多,并非簡單的數據量大,而是數據要在更大的數據量級上覆蓋數據本身的特征。
一般來說,只需選擇合適業務場景的算法模型即可,但是若數據不足或質量不高,那么即使再優秀的算法模型也無法解決問題。數據的質量是解決問題的關鍵因素,因此針對不同的業務場景,一定要有與其場景匹配的數據。
通過算法模型,不同的數據帶來的效果可能有天壤之別。例如,在人臉識別中,人臉識別的算法模型保持不變,但是基于兒童的人臉數據去訓練模型,然后用該模型對成人的臉進行人臉識別,顯然落地效果會大打折扣。
4.業務場景
脫離場景去探討人工智能技術落地是沒有意義的,不同的應用場景對于技術有不同的要求。業務場景是解決問題的分析基礎,數據和算法模型都應該從業務場景出發,即使是相似的業務場景,對于算法和數據的要求也不盡相同。
依然以人臉識別為例,在金融場景中用人臉支付和在手機上用人臉開機解鎖,兩者對于人臉識別的要求是不一樣的。從算法模型層面來看,金融場景對于人臉識別的精度要求更高,例如,在金融場景中需要99%的準確度,而在手機上用人臉開機解鎖只需要達到95%的準確度即可。因為不同的準確度對業務的價值不一樣,需要付出的成本也不一樣。從數據層面來看,金融場景要求數據更加規范,而手機解鎖場景則需要考慮不同視覺角度下的數據。
業務場景是落地的關鍵,但這往往是技術人員容易忽略或沒有足夠重視的地方。對于不同的業務場景,不一定都需要復雜的算法模型和數據,而是要針對業務場景分析需要何種數據、何種算法模型可以達到效果。從業務角度來看,并不是數據越多越好、算法模型越復雜越好,因為數據越多、算法越復雜,意味著成本越高。
因此,在人工智能技術落地中,應當一切以業務場景為核心,以最少的數據、最簡單的模型、最少的計算力解決最實際的問題,從而達到最好的效果。