讓機器實現(xiàn)人的智能,一直是人工智能學者不斷追求的目標,不同學科背景或應(yīng)用領(lǐng)域的學者,從不同角度,用不同的方法,沿著不同的途徑對智能進行了探索。其中,符號主義、連接主義和行為主義是人工智能發(fā)展歷史上的三大技術(shù)流派。 符號主義又稱為邏輯主義,在人工智能早期一直占據(jù)主導地位。該學派認為人工智能源于數(shù)學邏輯,其實質(zhì)是模擬人的抽象邏輯思維,用符號描述人類的認知過程。早期的研究思路是通過基本的推斷步驟尋求完全解,出現(xiàn)了邏輯理論家和幾何定理證明器等。上世紀70年代出現(xiàn)了大量的專家系統(tǒng),結(jié)合了領(lǐng)域知識和邏輯推斷,使得人工智能進入了工程應(yīng)用。PC機的出現(xiàn)以及專家系統(tǒng)高昂的成本,使符號學派在人工智能領(lǐng)域的主導地位逐漸被連接主義取代。 連接主義又稱為仿生學派,當前占據(jù)主導地位。該學派認為人工智能源于仿生學,應(yīng)以工程技術(shù)手段模擬人腦神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能。連接主義最早可追溯到1943年麥卡洛克和皮茨創(chuàng)立的腦模型,由于 受理論模型、生物原型和技術(shù)條件的限制,在20世紀70年代陷入低潮。直到1982年霍普菲爾特提出的Hopfield神經(jīng)網(wǎng)絡(luò)模型和 986年魯梅爾哈特等人提出的反向傳播算法,使得神經(jīng)網(wǎng)絡(luò)的理論研究取得了突破。2006年,連接主義的領(lǐng)軍者 Hinton 提出了深度學習算法,使神經(jīng)網(wǎng)絡(luò)的能力大大提高。2012年,使用深度學習技術(shù)的AlexNet模型在 ImageNet 競賽中獲得冠軍。 行為主義又稱為進化主義,近年來隨著AlphaGo取得的突破而受到廣泛關(guān)注。該學派認為人工智能源于控制論,智能行為的基礎(chǔ)是“感知—行動”的反應(yīng)機制,所以智能無需知識表示,無需推斷。智能只是在與環(huán)境交互作用中表現(xiàn)出來,需要具有不同的行為模塊與環(huán)境交互,以此來產(chǎn)生復(fù)雜的行為。 在人工智能的發(fā)展過程中,符號主義、連接主義和行為主義等流派不僅先后在各自領(lǐng)域取得了成果,各學派也逐漸走向了相互借鑒和融合發(fā)展的道路。特別是在行為主義思想中引入連接主義的技術(shù),從而誕生了深度強化學習技術(shù),成為AlphaGo戰(zhàn)勝李世石背后最重要的技術(shù)手段。 深度學習已經(jīng)在語音識別、圖像識別等領(lǐng)域取得突破。深度學習全稱深度神經(jīng)網(wǎng)絡(luò),本質(zhì)上是多層次的人工神經(jīng)網(wǎng)絡(luò)算法,即從結(jié)構(gòu)上模擬人腦的運行機制,從最基本的單元上模擬了人類大腦的運行機制。深度學習已經(jīng)開始在計算機視覺、語音識別、自然語言理解等領(lǐng)域取得了突破。在語音識別領(lǐng)域,2010年,使用深度神經(jīng)網(wǎng)絡(luò)模型的語音識別相對傳統(tǒng)混合高斯模型識別錯誤率降低超過 20%,目前所有的商用語音識別算法都基于深度學習。在圖像分類領(lǐng)域,目前針對ImageNet數(shù)據(jù)集的算法分類精度已經(jīng)達到了 95%以上,可以與人的分辨能力相當。深度學習在人臉識別、通用物體檢測、圖像語義分割、自然語言理解等領(lǐng)域也取得了突破性的進展。 海量的數(shù)據(jù)和高效的算力支撐是深度學習算法實現(xiàn)的基礎(chǔ)。深度學習分為訓練(training)和推斷(inference)兩個環(huán)節(jié)。訓練需要海量數(shù)據(jù)輸入,訓練出一個復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型。推斷指利用訓練好的模型,使用待判斷的數(shù)據(jù)去“推斷”得出各種結(jié)論。大數(shù)據(jù)時代的到來,圖形處理器(Graphics Processing Unit,GPU)等各種更加強大的計算設(shè)備的發(fā)展,使得深度學習可以充分利用海量數(shù)據(jù)(標注數(shù)據(jù)、弱標注數(shù)據(jù)或無標注數(shù)據(jù)),自動地學習到抽象的知識表達,即把原始數(shù)據(jù)濃縮成某種知識。當前基于深度學習的人工智能技術(shù)架構(gòu)如圖1所示。 當前,基于深度學習的人工智能算法主要依托計算機技術(shù)體系架構(gòu)實現(xiàn),深度學習算法通過封裝至軟件框架1的方式供開發(fā)者使用。軟件框架是整個技術(shù)體系的核心,實現(xiàn)對人工智能算法的封裝,數(shù)據(jù)的調(diào)用以及計算資源的調(diào)度使用。為提升算法實現(xiàn)的效率,其編譯器及底層硬件技術(shù)也進行了功能優(yōu)化。具體架構(gòu)請見圖1中的基礎(chǔ)硬件層、深度神經(jīng)網(wǎng)絡(luò)模型編譯器及軟件框架三層。 本章所探討的人工智能技術(shù)體系主要包含三個維度,一是針對人工智能算法原理本身的探討,二是對算法實現(xiàn)所依托的技術(shù)體系進行概述,三是針對深度學習所需的數(shù)據(jù)進行分析。 1. 基礎(chǔ)硬件層 基礎(chǔ)硬件層為算法提供了基礎(chǔ)計算能力。硬件層涵蓋范圍除了中央處理器(Central Processing Unit,CPU)及GPU外,還包括為特定場景應(yīng)用而定制的計算芯片,以及基于計算芯片所定制的服務(wù)器,包括 GPU 服務(wù)器集群,各類移動終端設(shè)備以及類腦計算機等。 2. 深度神經(jīng)網(wǎng)絡(luò)模型編譯器 深度神經(jīng)網(wǎng)絡(luò)模型編譯器是底層硬件和軟件框架、以及不同軟件框架之間的橋梁。該層旨在為上層應(yīng)用提供硬件調(diào)用接口,解決不同上層應(yīng)用在使用不同底層硬件計算芯片時可能存在的不兼容等問題。其涵蓋范圍包括針對人工智能計算芯片定向優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)模型編譯器,以及針對不同神經(jīng)網(wǎng)絡(luò)模型表示的規(guī)定及格式。 3. 軟件框架層 軟件框架層實現(xiàn)算法的模塊化封裝,為應(yīng)用開發(fā)提供集成軟件工具包。該層涵蓋范圍包括針對算法實現(xiàn)開發(fā)的各類應(yīng)用及算法工具包,為上層應(yīng)用開發(fā)提供了算法調(diào)用接口,提升應(yīng)用實現(xiàn)的效率。 1. 基礎(chǔ)應(yīng)用技術(shù) 當前人工智能的商業(yè)化實現(xiàn)主要是基于計算機視覺、智能語音、自然語言處理等基礎(chǔ)應(yīng)用技術(shù)實現(xiàn),并形成了相應(yīng)的產(chǎn)品或服務(wù)。本部分將在第三章進行詳細討論。 當前,人工智能算法已經(jīng)能夠完成智能語音語義、計算機視覺等智能化任務(wù),在棋類、電子游戲?qū)?,多媒體數(shù)據(jù)生成等前沿領(lǐng)域也取得了一定進展,為人工智能應(yīng)用落地提供了可靠的理論保障。 1. 算法的設(shè)計邏輯 人工智能算法的設(shè)計邏輯可以從“學什么”、“怎么學”和“做什么”三個維度進行概括。 首先是學什么。人工智能算法需要學習的內(nèi)容,是能夠表征所需 完成任務(wù)的函數(shù)模型。該函數(shù)模型旨在實現(xiàn)人們需要的輸入和輸出的映射關(guān)系,其學習的目標是確定兩個狀態(tài)空間(輸入空間和輸出空間) 內(nèi)所有可能取值之間的關(guān)系;其次是怎么學。算法通過不斷縮小函數(shù) 模型結(jié)果與真實結(jié)果誤差來達到學習目的,一般該誤差稱為損失函數(shù)。損失函數(shù)能夠合理量化真實結(jié)果和訓練結(jié)果的誤差,并將之反饋給機 器繼續(xù)作迭代訓練,最終實現(xiàn)學習模型輸出和真實結(jié)果的誤差處在合 理范圍;最后是做什么。機器學習主要完成三件任務(wù),即分類、回歸 和聚類。目前多數(shù)人工智能落地應(yīng)用,都是通過對現(xiàn)實問題抽象成相應(yīng)的數(shù)學模型,分解為這三類基本任務(wù)進行有機組合,并對其進行建模求解的過程。 2. 算法的主要任務(wù) 人工智能實際應(yīng)用問題經(jīng)過抽象和分解,主要可以分為回歸、分類和聚類三類基本任務(wù),針對每一類基本任務(wù),人工智能算法都提供了各具特點的解決方案: 一是回歸任務(wù)的算法?;貧w是一種用于連續(xù)型數(shù)值變量預(yù)測和建模的監(jiān)督學習算法。目前回歸算法最為常用的主要有四種,即線性回歸(正則化)、回歸樹(集成方法)、最鄰近算法和深度學習。二是分類任務(wù)的算法。分類算法用于分類變量建模及預(yù)測的監(jiān)督學習算法,分類算法往往適用于類別(或其可能性)的預(yù)測。其中最為常用的算法主要有五種,分別為邏輯回歸(正則化)、分類樹(集成方法)、支持向量機、樸素貝葉斯和深度學習方法。三是聚類任務(wù)的算法。聚類算法基于數(shù)據(jù)內(nèi)部結(jié)構(gòu)來尋找樣本集群的無監(jiān)督學習任務(wù),使用案例包括用戶畫像、電商物品聚類、社交網(wǎng)絡(luò)分析等。其中最為常用的算法主要有四種即 K 均值、仿射傳播、分層/ 層次和聚類算法 (Density-Based Spatial Clustering of Applications with Noise,DBSCAN)。 1. 新算法不斷提出 近年來,以深度學習算法為代表的人工智能技術(shù)快速發(fā)展,在計算機視覺、語音識別、語義理解等領(lǐng)域都實現(xiàn)了突破。但其相關(guān)算法目前并不完美,有待繼續(xù)加強理論性研究,也不斷有很多新的算法理論成果被提出,如膠囊網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)、遷移學習等。 膠囊網(wǎng)絡(luò)是為了克服卷積神經(jīng)網(wǎng)絡(luò)的局限性而提出的一種新的網(wǎng)絡(luò)架構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)存在著難以識別圖像中的位置關(guān)系、缺少空間分層和空間推理能力等局限性。受到神經(jīng)科學的啟發(fā),人工智能領(lǐng)軍人物 Hinton 提出了膠囊網(wǎng)絡(luò)的概念。膠囊網(wǎng)絡(luò)由膠囊而不是由神經(jīng)元構(gòu)成,膠囊由一小群神經(jīng)元組成,輸出為向量,向量的長度表示物體存在的估計概率,向量的方向表示物體的姿態(tài)參數(shù)。膠囊網(wǎng)絡(luò)能同時處理多個不同目標的多種空間變換,所需訓練數(shù)據(jù)量小,從而可以有效地克服卷積神經(jīng)網(wǎng)絡(luò)的局限性,理論上更接近人腦的行為。但膠囊網(wǎng)絡(luò)也存在著計算量大、大圖像處理上效果欠佳等問題,有待進一步研究。 生成對抗網(wǎng)絡(luò)(GAN: Generative Adversarial Networks)是于 2014 年提出的一種生成模型。該算法核心思想來源于博弈論的納什均衡,通過生成器和判別器的對抗訓練進行迭代優(yōu)化,目標是學習真實數(shù)據(jù)的分布,從而可以產(chǎn)生全新的、與觀測數(shù)據(jù)類似的數(shù)據(jù)。與其他生成模型相比,GAN 有生成效率高、設(shè)計框架靈活、可生成具有更高質(zhì)量的樣本等優(yōu)勢,2016 年以來研究工作呈爆發(fā)式增長,已成為人工智能一個熱門的研究方向。但GAN 仍存在難以訓練、梯度消失、模式崩潰等問題,仍處于不斷研究探索的階段。 遷移學習是利用數(shù)據(jù)、任務(wù)或模型之間的相似性,將學習過的模型應(yīng)用于新領(lǐng)域的一類算法。遷移學習可大大降低深度網(wǎng)絡(luò)訓練所需的數(shù)據(jù)量,縮短訓練時間。其中,F(xiàn)ine-Tune 是深度遷移學習最簡單的一種實現(xiàn)方式,通過將一個問題上訓練好的模型進行簡單的調(diào)整使其適用于一個新的問題,具有節(jié)省時間成本、模型泛化能力好、實現(xiàn)簡單、少量的訓練數(shù)據(jù)就可以達到較好效果的優(yōu)勢,已獲得廣泛應(yīng)用。 當前,人工智能基礎(chǔ)性算法已經(jīng)較為成熟,各大廠商紛紛發(fā)力建設(shè)算法模型工具庫,并將其封裝為軟件框架,供開發(fā)者使用,可以說軟件框架是算法的工程實現(xiàn)。企業(yè)的軟件框架實現(xiàn)有閉源和開源兩種形式:蘋果公司等少數(shù)企業(yè)選擇閉源方式開發(fā)軟件框架,目的是打造技術(shù)壁壘;目前業(yè)內(nèi)主流軟件框架基本都是開源化運營。本篇主要關(guān)注開源軟件框架的技術(shù)特點,對閉源軟件框架不做過多討論。 1. 開源軟件框架百花齊放各具特點 人工智能國際巨頭企業(yè)將開源深度學習軟件框架作為打造開發(fā)及使用生態(tài)核心的核心。總體來說開源軟件框架在模型庫建設(shè)及調(diào)用功能方面具有相當共性,但同時又各具特點。業(yè)界目前主要有深度學習訓練軟件框架和推斷軟件框架兩大類別。 1) 深度學習訓練軟件框架 基于深度學習的訓練框架主要實現(xiàn)對海量數(shù)據(jù)的讀取、處理及訓練,主要部署在 CPU 及 GPU 服務(wù)集群,主要側(cè)重于海量訓練模型實 現(xiàn)、系統(tǒng)穩(wěn)定性及多硬件并行計算優(yōu)化等方面的任務(wù)。目前主流的深度學習訓練軟件框架主要有 TensorFlow,MXNet,Caffe/2+PyTorch 等。 TensorFlow 以其功能全面,兼容性廣泛和生態(tài)完備而著稱。該軟件框架由谷歌大腦(Google Brain)團隊主要支撐,實現(xiàn)了多 GPU 上運行深度學習模型的功能,可以提供數(shù)據(jù)流水線的使用程序,并具有模型檢查,可視化和序列化的配套模塊。其生態(tài)系統(tǒng)已經(jīng)成為深度學習開源軟件框架最大的活躍社區(qū)。 MXNet 以其優(yōu)異性能及全面的平臺支持而著稱。該軟件框架是由亞馬遜公司(Amazon)主導的深度學習平臺,目前已經(jīng)捐獻到阿帕奇軟件基金會(Apache)進行孵化。其主要特點包括:一是可以在全硬件平臺(包括手機端)運行,提供包括 Python、R 語言、Julia、C++、Scala、Matlab 以及 Javascript 的編程接口;二是具有靈活的編程模型,支持命令式和符號式編程模型;三是從云端到客戶端可移植,可運行于多 CPU、多 GPU、集群、服務(wù)器、工作站及移動智能手機;四是支持本地分布式訓練,在多 CPU/GPU 設(shè)備上的分布式訓練,使其可充分利用計算集群的規(guī)模優(yōu)勢。 Caffe/2+PyTorch 以其在圖像處理領(lǐng)域的深耕和易用性而著稱。該軟件框架是由臉書公司(Facebook)主導的平臺,目前 Caffe 1/2 兩個項目已經(jīng)合并到 PyTorch 統(tǒng)一維護。在圖像處理領(lǐng)域Caffe 有著深厚的生態(tài)積累,結(jié)合 PyTorch 作為一個易用性很強的軟件框架,越來越受到數(shù)據(jù)科學家的喜愛。我國很多人工智能圖像處理團隊選擇PyTorch 作為主要工作平臺。 Microsoft Cognitive Toolkit (CNTK)以其在智能語音語義領(lǐng)域的優(yōu)勢及良好性能而著稱。該軟件框架由微軟公司于2016 年基于 MIT 協(xié)議開源,它具有速度快、可擴展性強、商業(yè)級質(zhì)量高以及 C++和Python 兼容性好等優(yōu)點,支持各種神經(jīng)網(wǎng)絡(luò)模型、異構(gòu)及分布式計算,依托于微軟的產(chǎn)品生態(tài),在語音識別、機器翻譯、類別分析、圖像識別、圖像字幕、文本處理、語言理解和語言建模等領(lǐng)域都擁有良好應(yīng)用。 PaddlePaddle 以其易用性和支持工業(yè)級應(yīng)用而著稱。該軟件框架是百度旗下的深度學習開源平臺,是我國自主開發(fā)軟件框架代表。其最大特點就是易用性,得益于其對算法的封裝,對于現(xiàn)成算法(卷積神經(jīng)網(wǎng)絡(luò) VGG、深度殘差網(wǎng)絡(luò) ResNet、長短期記憶網(wǎng)絡(luò) LSTM 等) 的使用可以直接執(zhí)行命令替換數(shù)據(jù)進行訓練。非常適合需要成熟穩(wěn)定的模型來處理新數(shù)據(jù)的情況。 除上之外,業(yè)界及學術(shù)界還存在著多個機器學習及深度學習軟件框架,如 Scikit-learn,Theano 等。這些軟件框架在其專長領(lǐng)域仍然發(fā)揮重要作用。但由于各軟件框架的維護力量及發(fā)展思路不同,同時缺少貢獻人員,導致軟件框架發(fā)展水平略顯滯后,存在著包括算法庫擴展不及時,API 水平較低以及不支持分布式任務(wù)等問題。 2) 深度學習推斷軟件框架基于深度學習的推斷的計算量相對訓練過程小很多,但仍涉及到大量的矩陣卷積、非線性變換等運算,為了滿足在終端側(cè)限定設(shè)備性能及功耗等因素的場景下,業(yè)界也開發(fā)了眾多開源的終端側(cè)軟件框架。 Caffe2go 是最早出現(xiàn)的終端側(cè)推斷軟件框架,能夠讓深層神經(jīng)網(wǎng)絡(luò)在手機上高效的運行。由于終端側(cè)的GPU 設(shè)備性能有限,Caffe2go 是基于 CPU 的優(yōu)化進行設(shè)計。TensorFlow Lite 可以運行在 Android 和 iOS 平臺,結(jié)合 Android 生態(tài)的神經(jīng)網(wǎng)絡(luò)運行時能夠?qū)崿F(xiàn)較為高效的 AI 移動端應(yīng)用速度。NCNN 是騰訊開源的終端側(cè) AI 軟件框架, 支持多種訓練軟件框架的模型轉(zhuǎn)換,是主要面向CPU 的AI 模型應(yīng)用, 無第三方依賴具有較高的通用性,運行速度突出,是國內(nèi)目前較為廣泛使用的終端側(cè) AI 軟件框架。Core ML 是蘋果公司開發(fā)的 iOS AI 軟件框架,能夠?qū)?Caffe、PyTorch、MXNet、TensorFlow 等絕大部分 AI 模型,并且自身提供了常用的各種手機端 AI 模型組件,目前也匯集了眾多開發(fā)者及貢獻力量。Paddle-mobile 是百度自研的移動端深度學習軟件框架,主要目的是將 Paddle 模型部署在手機端,其支持 iOS GPU 計算。但目前功能相對單一,支持較為有限。TensorRT 是英偉達(NVIDIA)開發(fā)的深度學習推斷工具,已經(jīng)支持 Caffe、Caffe2、TensorFlow、MXNet、PyTorch 等主流深度學習庫,其底層針對NVIDIA 顯卡做了多方面的優(yōu)化,可以和 CUDA 編譯器結(jié)合使用。 目前主要產(chǎn)業(yè)巨頭均推出了基于自身技術(shù)體系的訓練及推斷軟件框架,但由于目前產(chǎn)業(yè)生態(tài)尚未形成,深度學習模型表示及存儲尚未統(tǒng)一,訓練軟件框架及推斷軟件框架尚未形成一一對應(yīng)關(guān)系,技術(shù)生態(tài)爭奪將繼續(xù)持續(xù)。 2. 巨頭以開源軟件框架為核心打造生態(tài) 人工智能開源軟件框架生態(tài)的核心,是通過使用者和貢獻者之間的良好互動和規(guī)?;?yīng),形成現(xiàn)實意義的標準體系和產(chǎn)業(yè)生態(tài),進而占據(jù)人工智能核心的主導地位。開源軟件框架的用戶包括最終服務(wù)及產(chǎn)品的使用者和開發(fā)者。當前開源軟件框架的技術(shù)發(fā)展呈現(xiàn)出以下幾方面的特點: 一是谷歌與其他公司間持續(xù)競爭。巨頭公司在技術(shù)上將積極探尋包括模型互換,模型遷移等技術(shù)聯(lián)合,以對抗谷歌公司。例如臉書 (Facebook)和微軟已經(jīng)合作開發(fā)了一個可互換的人工智能軟件框架解決方案。二是開源軟件框架在向統(tǒng)一和標準化方向發(fā)展。隨著人工智能應(yīng)用的爆發(fā),開發(fā)人員在不同平臺上創(chuàng)建模型及部署模型的需求愈發(fā)強烈,在各類軟件框架間的模型遷移互換技術(shù)研發(fā)已經(jīng)成為重點。三是更高級的 API2逐漸占據(jù)主導地位。以Keras 為例,它是建立在TensorFlow、Theano、CNTK、MXNet 和 Gluon 上運行的高級開源神經(jīng)網(wǎng)絡(luò)庫,以其高級 API 易用性而得到了廣泛的使用。四是模型的集群并發(fā)計算成為業(yè)界研究熱點。當前人工智能網(wǎng)絡(luò)對于單計算節(jié)點的 算力要求過高,但當前主流開源軟件框架對于模型分割進行計算并沒有實現(xiàn),而這個問題也將隨著應(yīng)用場景的不斷豐富而不斷引起重視,成為開源軟件框架下一個核心競爭點。 在實際工程應(yīng)用中,人工智能算法可選擇多種軟件框架實現(xiàn),訓練和開發(fā)人工智能模型也可有多種硬件選項,這就開發(fā)者帶來了不小 的挑戰(zhàn)。原因一是可移植性問題,各個軟件框架的底層實現(xiàn)技術(shù)不同,導致在不同軟件框架下開發(fā)的模型之間相互轉(zhuǎn)換存在困難;二是適應(yīng)性問題,軟件框架開發(fā)者和計算芯片廠商需要確保軟件框架和底層計算芯片之間良好的適配性。解決以上兩個挑戰(zhàn)的關(guān)鍵技術(shù)之一就是深度神經(jīng)網(wǎng)絡(luò)模型編譯器,它在傳統(tǒng)編譯器功能基礎(chǔ)上,通過擴充面向深度學習網(wǎng)絡(luò)模型計算的專屬功能,以解決深度學習模型部署到多種設(shè)備時可能存在的適應(yīng)性和可移植性問題。 1. 深度學習網(wǎng)絡(luò)模型編譯器解決適應(yīng)性問題 傳統(tǒng)編譯器缺少對深度學習算法基礎(chǔ)算子(卷積、殘差網(wǎng)絡(luò)及全連接計算等)的優(yōu)化,且對人工智能多種形態(tài)的計算芯片適配缺失,針對人工智能底層計算芯片及上層軟件框架進行適配優(yōu)化的編譯器需求強烈。目前業(yè)界主要采用依托傳統(tǒng)編譯器架構(gòu)進行演進升級的方式來解決這個問題。當前業(yè)界主流編譯器主要包括英偉達公司的CUDA 編譯器,英特爾公司開發(fā)的 nGraph 以及華盛頓大學團隊開發(fā)的 NNVM 編譯器。 目前產(chǎn)業(yè)界絕大多數(shù)編譯器都是按照 LLVM 體系架構(gòu)設(shè)計的。LLVM 全稱 Low Level Virtual Machine,是一種應(yīng)用廣泛的開源編譯器架構(gòu)。該項目由伊利諾伊大學發(fā)起,由于其開源特性,目前已有基于這個軟件框架的大量工具可以使用,形成了具有實際標準意義的生態(tài)。 英偉達通過提供針對 LLVM 內(nèi)核的 CUDA 源代碼及并行線程執(zhí)行后端打造了 CUDA 編譯器。該編譯器可支持C、C++以及 Fortran 語言,能夠為運用大規(guī)模并行英偉達 GPU 的應(yīng)用程序加速。英特爾基于 LLVM 架構(gòu)打造 nGraph 計算庫,為深度學習提供優(yōu)化方法,可以處理所有的計算芯片抽象細節(jié),目前已經(jīng)開發(fā)了 TensorFlow/XLA、MXNet 和 ONNX 的軟件框架橋梁;華盛頓大學基于LLVM 架構(gòu)打造了 NNVM/TVM 編譯器,能夠直接從多個深度學習前端將工作負載編譯成為優(yōu)化的機器代碼。實現(xiàn)端到端的全面優(yōu)化。 2. 中間表示層解決可移植性問題 在工程實踐中,人工智能軟件框架訓練完成的模型將按照中間表示層的規(guī)定進行表達和存儲。中間表示層(Intermediate Representation, IR)是編譯器用來表示源碼的數(shù)據(jù)結(jié)構(gòu)或代碼,可以看作是不同中間件的集合,在性能優(yōu)化及通信方面有著非常重要的作用。上文介紹的LLVM 架構(gòu)最大優(yōu)點之一就是其有一個表達形式很好的中間表示層語言,這種模塊化設(shè)計理念能夠支撐各種功能擴充,三大主流深度學習網(wǎng)絡(luò)模型編譯器均是通過在中間表示層中增加專屬優(yōu)化的中間件 來實現(xiàn)功能演進創(chuàng)新的。 擴充性能的中間表示層是打通深度學習計算中多種不同前端訓練軟件框架和多種不同后端的表達橋梁,使深度學習網(wǎng)絡(luò)模型編譯器更有效實現(xiàn)二者之間的優(yōu)化和影射。在深度學習網(wǎng)絡(luò)模型編譯器中, 中間表示層的核心思想借鑒了 LLVM 架構(gòu)設(shè)計,新增加的專屬中間件是解決推斷側(cè)模型運行在不同硬件平臺的重要描述方法。當前深度學習網(wǎng)絡(luò)模型編譯器的中間表示層主要分為 NNVM/TVM 和TensorFlow XLA 兩大陣營,但實際上類似 ONNX、NNEF 等模型交換格式也是各種對中間層表示的定義。業(yè)界共識“IR”的競爭,將是未來軟件框架之爭的重要一環(huán)。 3. 未來亟需模型轉(zhuǎn)換及通用的模型表示 在工程實踐上,除了上文提到使用統(tǒng)一的中間表示層對模型進行表達及存儲外,輸入數(shù)據(jù)格式以及模型表示規(guī)范也同樣是重要的影響因素。 主流軟件框架輸入數(shù)據(jù)集格式各有不同。由于在訓練中已經(jīng)過清洗和標注的數(shù)據(jù)依然面臨著多線程讀取、對接后端分布式文件系統(tǒng)等實際操作問題,各主流人工智能軟件框架均采用了不同的技術(shù)和數(shù)據(jù)集格式來實現(xiàn)此類數(shù)據(jù)操作。如TensorFlow 定義了 TFRecord、MXNet 及 PaddlePaddle 使用的是 RecordIO 等。 深度學習網(wǎng)絡(luò)模型的表示規(guī)范分為兩大陣營。第一陣營是 Open Neural Network Exchange(ONNX,開放神經(jīng)網(wǎng)絡(luò)交換),是一個用于表示深度學習模型的標準,可使模型在不同軟件框架之間進行轉(zhuǎn)移。ONNX 由微軟和 Facebook 聯(lián)合發(fā)布,該系統(tǒng)支持的軟件框架目前主要包括 Caffe2,PyTorch,Cognitive Toolkit 和 MXNet,而谷歌的TensorFlow 并沒有被包含在內(nèi)。第二陣營是 Neural Network Exchange Format(NNEF,神經(jīng)網(wǎng)絡(luò)交換格式),是由 Khronos Group 主導的跨廠商神經(jīng)網(wǎng)絡(luò)文件格式,計劃支持包括 Torch, Caffe, TensorFlow, 等 幾乎所有人工智能軟件框架的模型格式轉(zhuǎn)換,目前已經(jīng)有 30 多家計算芯片企業(yè)參與其中。 現(xiàn)有深度神經(jīng)網(wǎng)絡(luò)需要用更短的時間、更低功耗完成計算,這就給深度學習計算芯片提出了更高的要求。 1. 深度學習對 AI 計算芯片的需求 總體來看,深度神經(jīng)網(wǎng)絡(luò)對計算芯片的需求主要有以下兩個方面:一是計算芯片和存儲間海量數(shù)據(jù)通信需求,這里有兩個層面,一個是緩存(Cache)和片上存儲(Memory)的要大,另一個是計算單元和存儲之間的數(shù)據(jù)交互帶寬要大。二是專用計算能力的提升,解決對卷積、殘差網(wǎng)絡(luò)、全連接等計算類型的大量計算需求,在提升運算速度的同時實現(xiàn)降低功耗??偟膩碚f,AI 計算芯片的發(fā)展過程可以總結(jié)為一直在圍繞如何有效解決存儲與計算單元的提升這兩個問題而展 開,成本問題則作為一個舵手控制著最終的航向。 2. 典型 AI 計算芯片的使用現(xiàn)狀 在深度學習訓練環(huán)節(jié),除了使用 CPU 或 GPU 進行運算外,現(xiàn)場可編程門陣列( Field——Programmable Gate Array,F(xiàn)PGA)以及專用集成電路(Application Specific Integrated Circuit,ASIC)也發(fā)揮了重大作用;而用于終端推斷的計算芯片主要以ASIC 為主。 CPU 在深度學習訓練場景下表現(xiàn)不佳。最初的深度學習場景是使用CPU 為架構(gòu)搭建的,如最初 GoogleBrain 就是基于CPU 組成的。但由于 CPU 其本身是通用計算器,大量芯片核心面積要服務(wù)于通用場景的元器件,導致可用于浮點計算的計算單元偏少,無法滿足深度學習特別是訓練環(huán)節(jié)的大量浮點運算需求,且并行計算效率太低,很快被具有數(shù)量眾多的計算單元、具備強大并行計算能力的 GPU 代替。 GPU 成為目前深度學習訓練的首要選擇。GPU 的關(guān)鍵性能是并行計算,適合深度學習計算的主要原因一是高帶寬的緩存有效提升大量數(shù)據(jù)通信的效率。GPU 的緩存結(jié)構(gòu)為共享緩存,相比于 CPU,GPU 線程(Thread)之間的數(shù)據(jù)通訊不需要訪問全局內(nèi)存,而在共享內(nèi)存中就可以直接訪問。二是多計算核心提升并行計算能力。GPU 具有數(shù)以千計的計算核心,可實現(xiàn) 10-100 倍于CPU 的應(yīng)用吞吐量。同時,基于由 NVIDIA 推出的通用并行計算架構(gòu) CUDA,使 GPU 能夠解決復(fù)雜的計算問題。其包含的 CUDA 指令集架構(gòu)(ISA)以及 GPU 內(nèi)部的并行計算引擎可針對當前深度學習計算進行加速,但是由于深度學習算法還未完全穩(wěn)定,若深度學習算法發(fā)生大的變化,則 GPU 存在無法靈活適配問題。 FPGA 在深度學習加速方面具有可重構(gòu)、可定制的特點。因 FPGA 沒有預(yù)先定義的指令集概念,也沒有確定的數(shù)據(jù)位寬,所以可以實現(xiàn)應(yīng)用場景的高度定制。但FPGA 的靈活性(通用性)也意味著效率的損失。由于FPGA 應(yīng)用往往都需要支持很大的數(shù)據(jù)吞吐量,這對于內(nèi)存帶寬和I/O 互連帶寬要求很高。同時由于邏輯利用率低,引發(fā)無效功耗大。 FPGA 市場化的主要阻礙是成本高昂,價格在幾十到幾萬美元一片不等,且應(yīng)用者必須具備電路設(shè)計知識和經(jīng)驗。由于FPGA 省去了流片過程,在深度學習發(fā)展初期成為計算芯片主要解決方案之一, 在GPU 和ASIC 中取得了權(quán)衡,很好的兼顧了處理速度和控制能力。 ASIC(專用集成電路,Application Specific Integrated Circuit)是不可配置的高度定制專用計算芯片。ASIC 不同于 GPU 和 FPGA 的靈活性,定制化的 ASIC 一旦制造完成將不能更改,所以初期成本高、開發(fā)周期長,使得進入門檻高。但ASIC 作為專用計算芯片性能高于FPGA,相同工藝的ASIC 計算芯片比FPGA 計算芯片快5-10 倍,同時規(guī)模效應(yīng)會使得 ASIC 的成本降低。但高昂的研發(fā)成本和研發(fā)周期是未來廣泛應(yīng)用的阻礙。ASIC 主要生產(chǎn)企業(yè)包括如 Google 的TPU 系列計算芯片,以及國內(nèi)的寒武紀、地平線等公司。 TPU 的核心為脈動陣列機,其設(shè)計思想是將多個運算邏輯單元(ALU)串聯(lián)在一起,復(fù)用從一個寄存器中讀取的結(jié)果,從而有效平衡了運算和 I/O 的需求。但其只適合做信號處理的卷積、信號和圖像處理(signal and image processing),矩陣算術(shù)(matrix arithmetic) 和一些非數(shù)值型應(yīng)用(non-numeric application)。 另一類 ASIC 代表企業(yè)為國內(nèi)寒武紀,其 DianNao 系列核心思想為結(jié)合神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)局部性特點以及計算特性,進行存儲體系以及專用硬件設(shè)計,從而獲取更好的性能加速比以及計算功耗比。 基于深度學習的人工智能技術(shù),核心在于通過計算找尋數(shù)據(jù)中的規(guī)律,運用該規(guī)律對具體任務(wù)進行預(yù)測和決斷。源數(shù)據(jù)需要進行采集、標注等處理后才能夠使用,標注的數(shù)據(jù)形成相應(yīng)數(shù)據(jù)集。業(yè)務(wù)類型主要包括數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲以及數(shù)據(jù)交易等環(huán)節(jié)。 當前,人工智能數(shù)據(jù)集的參與主體主要有以下幾類:一是學術(shù)機構(gòu),為開展相關(guān)研究工作,自行采集、標注,并建設(shè)學術(shù)數(shù)據(jù)集。這類數(shù)據(jù)集以 ImageNet 為代表,主要用于算法的創(chuàng)新性驗證、學術(shù)競賽等,但其迭代速度較慢,難用于實際應(yīng)用場景。二是政府,等中立機構(gòu),他們以公益形式開放的公共數(shù)據(jù),主要包括政府、銀行機構(gòu)等行業(yè)數(shù)據(jù)及經(jīng)濟運行數(shù)據(jù)等,數(shù)據(jù)標注一般由使用數(shù)據(jù)的機構(gòu)完成。三是人工智能企業(yè),他們?yōu)殚_展業(yè)務(wù)而自行建設(shè)數(shù)據(jù)集,企業(yè)一般自行采集,標注形成自用數(shù)據(jù)集,或采購專業(yè)數(shù)據(jù)公司提供的數(shù)據(jù)外包服務(wù)。四是數(shù)據(jù)處理外包服務(wù)公司,這類公司業(yè)務(wù)包括出售現(xiàn)成數(shù)據(jù),訓練集的使用授權(quán),或根據(jù)用戶的具體需求提供數(shù)據(jù)處理服務(wù)(用戶提供原始數(shù)據(jù)、企業(yè)對數(shù)據(jù)進行轉(zhuǎn)寫、標注),具體業(yè)務(wù)服務(wù)形式包括且不限于提供數(shù)據(jù)庫資源、提供數(shù)據(jù)采集服務(wù),提供數(shù)據(jù)轉(zhuǎn)寫標注服務(wù)等。 當前,人工智能基礎(chǔ)數(shù)據(jù)類型主要包括語音語言類(包括聲音、文字、語言學規(guī)則)、圖像識別類(包括自然物體、自然環(huán)境、人造物體、生物特征等)以及視頻識別類三個大類,從世界范圍來看,數(shù)據(jù)服務(wù)商總部主要分布在美國、歐洲等發(fā)達國家。但其數(shù)據(jù)處理人員則大多數(shù)分布在第三世界國家;我國語音、圖像類資源企業(yè)機構(gòu)正處于快速發(fā)展階段,為產(chǎn)業(yè)發(fā)展增添了動力。 深度學習使用GPU 計算具有優(yōu)異表現(xiàn),催生了各類GPU 服務(wù)器, 帶動了 GPU 服務(wù)器的快速發(fā)展;同時,也帶動了以服務(wù)的形式提供人工智能所需要的能力,如深度學習計算類的計算平臺,以及語音識別,人臉識別等服務(wù),這也成為人工智能企業(yè)打造生態(tài)的重要抓手。 1. GPU 服務(wù)器服務(wù)器廠商相繼推出了專為 AI 而設(shè)計的、搭載 GPU 的服務(wù)器。GPU 服務(wù)器是基于GPU 應(yīng)用于視頻編解碼、深度學習、科學計算等多種場景的計算服務(wù)設(shè)備。GPU 服務(wù)器為 AI 云場景對彈性配置能力予以優(yōu)化,以增強 PCI-E 拓撲和數(shù)量配比的彈性,增加適配多種軟件框架的運算需求,可以支持 AI 模型的線下訓練和線上推理兩類場景, 能夠讓 AI 模型訓練性能最大化或 AI 在線推斷效能最大化,一般分為4 卡,8 卡,10 卡等多種類型。 另外,英偉達等公司推出了專用的 GPU 一體機。例如DGX-1 系列深度學習一體機,采用定制的硬件架構(gòu),并使用 NVlink 提升了CPU、GPU 以及內(nèi)存之間的通信速度和帶寬;同時搭載了集成了NVIDIA 開發(fā)的操作系統(tǒng),NVIDIA docker 環(huán)境和很多常用的 Framework 的Docker 鏡像,實現(xiàn)了從底層硬件到上層軟件的緊密耦合。類似的產(chǎn)品還有浪潮的 AGX-1 系列服務(wù)器。 2. 以服務(wù)的形式提供人工智能能力成為趨勢 為了解決企業(yè)自行搭建 AI 能力時遇到的資金、技術(shù)和運維管理等方面困難,人工智能企業(yè)紛紛以服務(wù)的形式提供 AI 所需要的計算資源、平臺資源以及基礎(chǔ)應(yīng)用能力。這類服務(wù)的意義在于一是有效推動社會智能化水平的提升,降低企業(yè)使用人工智能的成本,推動人工智能向傳統(tǒng)行業(yè)融合。二是人工智能服務(wù)化轉(zhuǎn)型的重要基礎(chǔ)。服務(wù)平臺使人工智能服務(wù)和應(yīng)用不再封裝于具體產(chǎn)品中,而可以在以線、隨用隨取的服務(wù)形式呈現(xiàn)。三是服務(wù)平臺成為垂直行業(yè)落地的重要基礎(chǔ)。近兩年,教育、醫(yī)療、金融等傳統(tǒng)行業(yè)對人工智能相關(guān)技術(shù)和應(yīng)用需求的不斷提升,而服務(wù)平臺是解決技術(shù)和應(yīng)用的基礎(chǔ)。 以服務(wù)形式提供人工智能服務(wù)主要有兩類,即平臺類的服務(wù)和軟件 API 形式的服務(wù)。平臺類服務(wù)主要包含 GPU 云服務(wù),深度學習平臺等,類似云服務(wù)的基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)和平臺即服務(wù)(Platform as a Service,PaaS)層。GPU 云服務(wù)是以虛擬機的形式,為用戶提供 GPU 計算資源,可適用于深度學習、科學計算、圖形圖像渲染、視頻解碼等應(yīng)用場景。 深度學習平臺是以TensorFlow、Caffe、MXNet、Torch 等主流深度學習軟件框架為基礎(chǔ), 提供相應(yīng)的常用深度學習算法和模型,組合各種數(shù)據(jù)源、組件模塊,讓用戶可以基于該平臺對語音、文本、圖片、視頻等海量數(shù)據(jù)進行離線模型訓練、在線模型預(yù)測及可視化模型評估。軟件 API 服務(wù)主要分為智能語音語類服務(wù)和計算機視覺服務(wù)。其中智能語音語類服務(wù)主要提供語音語義相關(guān)的在線服務(wù),可包括語音識別、語音合成、聲紋識別、語音聽轉(zhuǎn)寫等。計算機視覺類服務(wù)主要提供物體檢測、人臉識別、人臉檢測、圖像識別、光學字符識別(Optical Character Recognition, OCR)識別、智能鑒黃等服務(wù)。 目前隨著深度學習算法工程化實現(xiàn)效率的提升和成本的逐漸降低,一些基礎(chǔ)應(yīng)用技術(shù)逐漸成熟,如智能語音,自然語言處理和計算機視覺等,并形成相應(yīng)的產(chǎn)業(yè)化能力和各種成熟的商業(yè)化落地。同時,業(yè)界也開始探索深度學習在藝術(shù)創(chuàng)作、路徑優(yōu)化、生物信息學相關(guān)技術(shù)中的實現(xiàn)與應(yīng)用,并已經(jīng)取得了矚目的成果。 本章主要分析目前商業(yè)較為成熟的智能語音、自然語言處理和計算機視覺技術(shù)的情況,如圖 2 所示,每個基礎(chǔ)應(yīng)用技術(shù)各分為若干應(yīng)用類別。 智能語音語義技術(shù)主要研究人機之間語音信息的處理問題。簡單來說,就是讓計算機、智能設(shè)備、家用電器等通過對語音進行分析、理解和合成,實現(xiàn)人“能聽會說”、具備自然語言交流的能力。 1. 智能語音技術(shù)概述 按機器在其中所發(fā)揮作用的不同,分為語音合成技術(shù)、語音識別技術(shù)、語音評測技術(shù)等。語音合成技術(shù)即讓機器開口說話,通過機器自動將文字信息轉(zhuǎn)化為語音,相當于機器的嘴巴;語音識別技術(shù)即讓機器聽懂人說話,通過機器自動將語音信號轉(zhuǎn)化為文本及相關(guān)信息, 相當于機器的耳朵;語音評測技術(shù)通過機器自動對發(fā)音進行評分、檢錯并給出矯正指導。此外,還有根據(jù)人的聲音特征進行身份識別的聲紋識別技術(shù),可實現(xiàn)變聲和聲音模仿的語音轉(zhuǎn)換技術(shù),以及語音消噪和增強技術(shù)等。 2. 智能語音產(chǎn)品和服務(wù)形態(tài)多樣 智能語音技術(shù)會成為未來人機交互的新方式,將從多個應(yīng)用形態(tài)成為未來人機交互的主要方式。 智能音箱類產(chǎn)品提升家庭交互的便利性。智能音箱是從被動播放音樂,過渡到主動獲取信息、音樂和控制流量的入口。當前智能音箱以語音交互技術(shù)為核心,成為作為智能家庭設(shè)備的入口,不但能夠連接和控制各類智能家居終端產(chǎn)品,而且加入了個性化服務(wù),如訂票、查詢天氣、播放音頻等能力。 個人智能語音助手重塑了人機交互模式。個人語音助手,特別是嵌入到手機、智能手表、個人電腦等終端中的語音助手,將顯著提升這類產(chǎn)品的易用性。如蘋果虛擬語音助手Siri 與蘋果智能家居平臺Homekit 深度融合,用戶可通過語音控制智能家居。Google Now 為用戶提供關(guān)心的內(nèi)容,如新聞、體育比賽、交通、天氣等等。微軟的Cortana 主要優(yōu)勢在于提升個人計算機的易用性。 以 API 形式提供的智能語音服務(wù)成為行業(yè)用戶的重要入口。智能語音 API 主要提供語音語義相關(guān)的在線服務(wù),可包括語音識別、語音合成、聲紋識別、語音聽轉(zhuǎn)寫等服務(wù)類型,并且可以嵌入到各類產(chǎn)品,服務(wù)或 APP 中。在商業(yè)端,智能客服、教育(口語評測)、醫(yī)療(電子病歷)、金融(業(yè)務(wù)辦理)、安防、法律等領(lǐng)域需求強烈;在個人用戶領(lǐng)域,智能手機、自動駕駛及輔助駕駛、傳統(tǒng)家電、智能家居等領(lǐng)域需求強烈。 計算機視覺識別這一人工智能基礎(chǔ)應(yīng)用技術(shù)部分已達商業(yè)化應(yīng)用水平,被用于身份識別、醫(yī)學輔助診斷、自動駕駛等場景。 1. 計算機視覺概述 一般來講,計算機視覺主要分為圖像分類、目標檢測、目標跟蹤和圖像分割四大基本任務(wù)。 圖像分類是指為輸入圖像分配類別標簽。自2012 年采用深度卷積網(wǎng)絡(luò)方法設(shè)計的 AlexNet 奪得 ImageNet 競賽冠軍后,圖像分類開始全面采用深度卷積網(wǎng)絡(luò)。2015 年,微軟提出的 ResNet 采用殘差思想,將輸入中的一部分數(shù)據(jù)不經(jīng)過神經(jīng)網(wǎng)絡(luò)而直接進入到輸出中,解決了反向傳播時的梯度彌散問題,從而使得網(wǎng)絡(luò)深度達到 152 層,將 錯誤率降低到 3.57%,遠低于 5.1% 的人眼識別錯誤率,奪得了ImageNet 大賽的冠軍。2017 年提出的 DenseNet 采用密集連接的卷積神經(jīng)網(wǎng)絡(luò),降低了模型的大小,提高了計算效率,且具有非常好的抗過擬合性能。 目標檢測指用框標出物體的位置并給出物體的類別。2013 年加州大學伯克利分校的 Ross B. Girshick 提出 RCNN 算法之后,基于卷積神經(jīng)網(wǎng)絡(luò)的目標檢測成為主流。之后的檢測算法主要分為兩類,一是基于區(qū)域建議的目標檢測算法,通過提取候選區(qū)域,對相應(yīng)區(qū)域進行以深度學習方法為主的分類,如 RCNN、Fast-RCNN、Faster-RCNN、SPP-net 和 Mask R-CNN 等系列方法。二是基于回歸的目標檢測算法,如 YOLO、SSD 和DenseBox 等。 目標跟蹤指在視頻中對某一物體進行連續(xù)標識?;谏疃葘W習的跟蹤方法,初期是通過把神經(jīng)網(wǎng)絡(luò)學習到的特征直接應(yīng)用到相關(guān)濾波或 Struck 的跟蹤框架中,從而得到更好的跟蹤結(jié)果,但同時也帶來了計算量的增加。最近提出了端到端的跟蹤框架,雖然與相關(guān)濾波等傳統(tǒng)方法相比在性能上還較慢,但是這種端到端輸出可以與其他的任務(wù)一起訓練,特別是和檢測分類網(wǎng)絡(luò)相結(jié)合,在實際應(yīng)用中有著廣泛的前景。 圖像分割指將圖像細分為多個圖像子區(qū)域。2015 年開始,以全卷積神經(jīng)網(wǎng)絡(luò)(FCN)為代表的一系列基于卷積神經(jīng)網(wǎng)絡(luò)的語義分割方法相繼提出,不斷提高圖像語義分割精度,成為目前主流的圖像語義分割方法 2. 計算機視覺技術(shù)應(yīng)用領(lǐng)域廣闊 在政策引導、技術(shù)創(chuàng)新、資本追逐以及消費需求的驅(qū)動下,基于深度學習的計算機視覺應(yīng)用不斷落地成熟,并出現(xiàn)了三大熱點應(yīng)用方向。 一是人臉識別搶先落地,開啟“刷臉”新時代。目前,人臉識別已大規(guī)模應(yīng)用到教育、交通、醫(yī)療、安防等行業(yè)領(lǐng)域及樓宇門禁、交通過檢、公共區(qū)域監(jiān)控、服務(wù)身份認證、個人終端設(shè)備解鎖等特定場景。從2017 年春運,火車站開啟了“刷臉”進站,通過攝像頭采集旅客的人臉信息,與身份證人臉信息進行驗證;2017 年 9 月蘋果公司發(fā)布的iPhone X 第一次將 3D 人臉識別引入公眾視線,迅速引發(fā)了“移動終端+人臉解鎖”的布局風潮。 二是視頻結(jié)構(gòu)化嶄露頭角,擁有廣闊應(yīng)用前景。視頻結(jié)構(gòu)化就是將視頻這種非結(jié)構(gòu)化的數(shù)據(jù)中的目標貼上相對應(yīng)的標簽,變?yōu)榭赏ㄟ^某種條件進行搜索的結(jié)構(gòu)化數(shù)據(jù)。視頻結(jié)構(gòu)化技術(shù)的目標是實現(xiàn)以機器自動處理為主的視頻信息處理和分析。從應(yīng)用前景看,視頻監(jiān)控技術(shù)所面臨的巨大市場潛力為視頻結(jié)構(gòu)化描述提供了廣闊的應(yīng)用前景,很多行業(yè)需要實現(xiàn)機器自動處理和分析視頻信息,提取實時監(jiān)控視頻或監(jiān)控錄像中的視頻信息,并存儲于中心數(shù)據(jù)庫中。用戶通過結(jié)構(gòu)化視頻合成回放,可以快捷的預(yù)覽視頻覆蓋時間內(nèi)的可疑事件和事件發(fā)生時間。 三是姿態(tài)識別讓機器“察言觀色”,帶來全新人機交互體驗。在視覺人機交互方面,姿態(tài)識別實際上是人類形體語言交流的一種延伸。它的主要方式是通過對成像設(shè)備中獲取的人體圖像進行檢測、識別和跟蹤,并對人體行為進行理解和描述。從用戶體驗的角度來說,融合姿態(tài)識別的人機交互能產(chǎn)品夠大幅度提升人機交流的自然性,削弱人們對鼠標和鍵盤的依賴,降低操控的復(fù)雜程度。從市場需求的角度來說,姿態(tài)識別在計算機游戲、機器人控制和家用電器控制等方面具有廣闊的應(yīng)用前景,市場空間十分可觀。 自然語言處理(Natural Language Processing ,NLP)是研究計算機處理人類語言的一門技術(shù),是機器理解并解釋人類寫作與說話方式的能力,也是人工智能最初發(fā)展的切入點和目前大家關(guān)注的焦點。 1. 自然語言處理技術(shù)現(xiàn)狀 自然語言處理主要步驟包括分詞、詞法分析、語法分析、語義分析等。其中,分詞是指將文章或句子按含義,以詞組的形式分開,其中英文因其語言格式天然進行了詞匯分隔,而中文等語言則需要對詞組進行拆分。詞法分析是指對各類語言的詞頭、詞根、詞尾進行拆分,各類語言中名詞、動詞、形容詞、副詞、介詞進行分類,并對多種詞義進行選擇。語法分析是指通過語法樹或其他算法,分析主語、謂語、賓語、定語、狀語、補語等句子元素。語義分析是指通過選擇詞的正確含義,在正確句法的指導下,將句子的正確含義表達出來。 2. 自然語言處理技術(shù)的應(yīng)用方向 自然語言處理的應(yīng)用方向主要有文本分類和聚類、信息檢索和過濾、信息抽取、問答系統(tǒng)、機器翻譯等方向。其中,文本分類和聚類主要是將文本按照關(guān)鍵字詞做出統(tǒng)計,建造一個索引庫,這樣當有關(guān)鍵字詞查詢時,可以根據(jù)索引庫快速地找到需要的內(nèi)容。此方向是搜索引擎的基礎(chǔ)。信息檢索和過濾是網(wǎng)絡(luò)瞬時檢查的應(yīng)用范疇,在大流量的信息中尋找關(guān)鍵詞,找到后對關(guān)鍵詞做相應(yīng)處理。信息抽取是為人們提供更有力的信息獲取工具,直接從自然語言文本中抽取事實信息。機器翻譯是當前最熱門的應(yīng)用方向,目前微軟、谷歌的新技術(shù)是翻譯和記憶相結(jié)合,通過機器學習,將大量以往正確的翻譯存儲下來。谷歌使用深度學習技術(shù),顯著提升了翻譯的性能與質(zhì)量。 在算法層面,深度學習算法模型存在可靠性及不可解釋性問題。首先是可靠性問題,深度學習模型離開訓練使用的場景數(shù)據(jù),其實際效果就會降低。由于訓練數(shù)據(jù)和實際應(yīng)用數(shù)據(jù)存在區(qū)別,訓練出的模型被用于處理未學習過的數(shù)據(jù)時,表現(xiàn)就會降低。其次是不可解釋性問題,深度學習計算過程為黑盒操作,模型計算及調(diào)試的執(zhí)行規(guī)則及特征選取由機器自行操作,目前尚無完備理論能夠?qū)δP瓦x取及模本身做出合理解釋,隨著相關(guān)算法在實際生產(chǎn)生活中的融合應(yīng)用,存在產(chǎn)生不可控結(jié)果的隱患。 在數(shù)據(jù)層面,主要存在流通不暢、數(shù)據(jù)質(zhì)量良莠不齊和關(guān)鍵數(shù)據(jù)集缺失等問題。 具體來看,一是數(shù)據(jù)流通不暢。目前人工智能數(shù)據(jù)集主要集中在政府和大公司手里,受制于監(jiān)管、商業(yè)門檻等問題,數(shù)據(jù)無法有效流動;部分有價值數(shù)據(jù),如監(jiān)控、電話客服等數(shù)據(jù)目前沒有合法渠道獲得;二是數(shù)據(jù)質(zhì)量良莠不齊。數(shù)據(jù)標注主要通過外包形式,勞動力水平?jīng)Q定了產(chǎn)出的標注數(shù)據(jù)質(zhì)量。三是關(guān)鍵領(lǐng)域和學術(shù)數(shù)據(jù)集不足。計算機視覺、自然語言處理等領(lǐng)域的數(shù)據(jù)資源嚴重不足,同時目前我國產(chǎn)業(yè)數(shù)據(jù)主要供給給產(chǎn)業(yè)界,目前學術(shù)界數(shù)據(jù)集數(shù)量較少, 可能影響科研及前瞻性的技術(shù)研究。 在軟件框架層面,實現(xiàn)深度學習應(yīng)用落地的推斷軟件框架質(zhì)量參差不齊,制約了業(yè)務(wù)開展。由于深度學習應(yīng)用場景眾多,相關(guān)應(yīng)用呈現(xiàn)碎片化特點,用于實現(xiàn)最后應(yīng)用落地的開源推斷軟件框架無論在功能還是性能層面距離實際需求還存在相當距離,與訓練軟件框架趨同趨勢不同,產(chǎn)業(yè)界所使用的推斷軟件框架需要聚力研發(fā),尚未形成具有實際標準意義的優(yōu)秀實例。 在編譯器層面,各硬件廠商的中間表示層之爭成為技術(shù)和產(chǎn)業(yè)發(fā)展的阻礙。目前業(yè)界并沒有統(tǒng)一的中間表示層標準,并且模型底層表示、存儲及計算優(yōu)化等方面尚未形成事實標準,導致各硬件廠商解決方案存在一定差異,導致應(yīng)用模型遷移不暢,提高了應(yīng)用部署難度。 在 AI 計算芯片層面,云側(cè)和終端側(cè)對計算芯片提出了不同的要求。對于云側(cè)芯片,隨著深度學習計算需求的逐漸增加,業(yè)界希望在提升云側(cè)芯片運算效能的前提下,希望針對不同網(wǎng)絡(luò)實現(xiàn)更優(yōu)化的性能表現(xiàn),而功耗比則不是首要關(guān)注的因素;對于終端側(cè)芯片,在功耗為首要要求的情況下,更加注重的推斷運算的性能,并且不同終端應(yīng)用場景對芯片提出了更多個性化需求,如在人臉識別攝像頭、自動駕駛汽車等場景。 遷移學習的研究及應(yīng)用將成為重要方向。遷移學習由于側(cè)重對深度學習中知識遷移、參數(shù)遷移等技術(shù)的研究,能夠有效提升深度學習模型復(fù)用性,同時對于深度學習模型解釋也提供了一種方法,能夠針對深度學習算法模型可靠性及不可解釋性問題提供理論工具。 深度學習訓練軟件框架將逐漸趨同,開源推斷軟件框架將迎來發(fā)展黃金期。隨著人工智能應(yīng)用在生產(chǎn)生活中的不斷深入融合,對于推斷軟件框架功能及性能的需求將逐漸爆發(fā),催生大量相關(guān)工具及開源推斷軟件框架,降低人工智能應(yīng)用部署門檻。 中間表示層之爭將愈演愈烈。以計算模型為核心的深度學習應(yīng)用, 由于跨軟件框架體系開發(fā)及部署需要投入大量資源,因此模型底層表 示的統(tǒng)一將是業(yè)界的亟需,未來中間表示層將成為相關(guān)企業(yè)的重點。 AI 計算芯片朝云側(cè)和終端側(cè)方向發(fā)展。從云側(cè)計算芯片來看, 目前 GPU 占據(jù)主導市場,以 TPU 為代表的ASIC 只用在巨頭的閉環(huán)生態(tài),未來 GPU、TPU 等計算芯片將成為支撐人工智能運算的主力器件,既存在競爭又長期共存,一定程度可相互配合;FPGA 有望在數(shù)據(jù)中心中以 CPU+FPGA 形式作為有效補充。從終端側(cè)計算芯片來看,這類芯片將面向功耗、延時、算力、特定模型、使用場景等特定需求,朝著不同發(fā)展。 來源: 物聯(lián)網(wǎng)報告中心 重點推薦 掃描上方二維碼購買《第四屆中國“互聯(lián)網(wǎng)+政務(wù)”50強優(yōu)秀實踐案例評選研究報告》、《首屆(2018) 中國營商環(huán)境評估報告》、《第八屆(2018)中國智慧城市發(fā)展水平評估報告》、《2018年數(shù)字政府白皮書》、《國脈研究院·數(shù)字政府周刊》 |
|