關鍵字:深度學習 SoC神經網絡 高通芯片構架 電子實驗模塊
“毫無疑問地,深度學習確實是改變游戲規則的一大突破,”嵌入式視覺聯盟(EVA)創辦人Jeff Bier以計算機視覺為例表示,深度學習具有強大的影響力,“必須說的是,目前它還只是一種經驗領域。人們正在嘗試不同的東西。”
現在已經有充份的證據顯示芯片供貨商對深度學習(更具體地說是卷積神經網絡)的興趣不斷增加。卷積神經網絡(CNN)正廣泛地應用在影像與視頻辨識領域。
高通(Qualcomm)日前推出了首款可‘模擬人腦’的Zeroth認知運算平臺。根據高通表示,Zeroth將會被應用在未來的移動芯片中,包括即將推出的Snapdragon 820。
Cognivue是另一家專注于深度學習領域的公司。該公司開發出新的Opus嵌入式視覺SoC架構,據稱將可利用深度學習方面的進展,大幅提高認知偵測的準確度。Cognivue目前正與加拿大渥太華大學(University of Ottawa)合作開發這一架構。
從Nvidia今年的GPU技術大會(GTC)發布來看,就能了解Nvidia也正看好以GPU為主的深度學習領域。
中國搜尋巨擘百度(Baidu)也致力于開發深度神經網絡模型,用于辨識數據中心的基本對象分類。百度計劃將這些模型移植到嵌入式系統中。
百度深度學習研究院(Baidu Research)科學家吳韌表示,“隨著智能手機的處理性能大幅提高,從數據中心的深度學習擷取的超級智能模型可執行在我們的手機上。”一支有效配置的手機可以直接在手機上執行這些模型,而不需要透過云端傳送與接收數據。吳韌并補充說:“目前所面臨的最大挑戰在于是否能以低功耗模式執行作業。”
網絡搜尋‘長得像狗的貓’所得到的結果
人工智能導入深度學習
有一點是明確的。籠罩在1980年代末期和1990年代早期對于人工智能(AI)的沮喪和失望已經煙消云散了。在這個新的‘巨量數據’時代,大量的數據和超強運算能力的結合,開始訓練神經網絡辨別對象。深度學習如今正被視為邁向AI道路的一種全新領域。
有些人宣稱,機器正取得像人類一樣準確辨識對象的能力。根據微軟(Microsoft)研究人員最近發布的一篇文章,該公司基于深度CNN的計算機視覺系統在ImageNet 1000挑戰賽中的對象分類表現,首度超越了人類的能力。就在微軟宣布其神經網絡系統以4.94%的誤差率超越人類基準的5.1%誤差率過后五天,Google也宣布該公司的系統表現更勝微軟0.04%。
然而,在電子產業中,不同的廠商解決深度學習的方法也各不相同。
Nvidia三款GPU產品進軍深度學習領域
在GPU技術大會上,Nvidia執行長黃仁勛以Titan X發表專題演講,他指出這款新的GeForce游戲GPU是‘唯一適合深度學習’的系統。他并發表Nvidia的數字深度學習GPU訓練系統——這是一款專為加速高質量深度神經網絡而設計的軟件應用。他還發布了一套桌側深度學習機Digits DevBox,專為任務而打造,采用四個GTX Titan X顯卡,并搭配直覺使用的DIGITS訓練系統軟件。
Nvidia執行長黃仁勛在GTC發表演說
Nvidia是否計劃為其GPU擴展至先進駕駛輔助系統(ADAS)的嵌入式視覺SoC?該公司汽車部門資深總監Danny Shapiro表示,Nvidia并不會像芯片公司一樣推出GPU,“而是為汽車OEM提供一套完整的統,包括可利用神經網絡的云端和車載計算機。”
例如Nvidia在今年的CES發表基于Tegra X1處理器的DRIVE PX平臺。該公司表示,DRIVE PX平臺是一款有能力使用機器學習的車載計算機,不僅能夠幫助汽車感知環境,還有助于‘解讀’周遭世界。
深度學習協助汽車理解路上的對象(來源:NVidia)
當今的ADAS技術已經能夠檢測一些物體,并執行簡單的分類、提醒駕駛人,甚至在有些情況下暫停汽車。而Nvidia表示其Drive PX已經進展到下一階段了。Shapiro強調,Drive PX平臺如今已“有能力分辨救護車和載貨卡車”。
例如,配備Drive PX的汽車能夠利用深度學習能力變得“越來越智能化,隨駕駛時數與里程數增加而更聰明。”Shapiro說,在道路上的學習過程與數據傳回數據中心后,汽車再從周期性的軟件更新中增加知識與能力。
奧迪(Audi)首先宣布使用Drive PX平臺開發其汽車自動駕駛功能的計劃。Nvidia將在今年5月開始為客戶提供Drive PX。
關于深度學習芯片算法構架,高通選擇三緘其口
高通的認知平臺盡管將成為全新Snapdragon移動設備應用處理器的一部分,但卻對其建構模塊三緘其口。該公司僅解釋,Zeroth平臺具有“計算機視覺、設備上深度學習、可辨識場景與對象的智能相機,以及閱讀文本與手寫”的能力。
高通首款認知計算機平臺Zeroth(來源:Qualcomm)
同時,加拿大公司Cognivue看好CNN的出現將為嵌入式視覺SoC領域創造一個公平的競爭機會。
Cognivue專精于設計自有的影像認知處理器核心、工具與軟件,并獲得像飛思卡爾(Freescale)等合作伙伴的采用。透過利用Cognivue的可程序技術,飛思卡爾為其汽車視覺系統提供了智能成像與視頻辨識解決方案。
Cognivue產品管理副總裁Tom Wilson表示:“我們正開發一個非常適合深度學習應用的大規模平行圖像處理架構與數據路徑管理。”相對的,競爭對手的方案經常采用手動設計其嵌入式視覺SoC,以便隨時保持與改變中的不同視覺算法同步。競爭對手通常密切注意最新的算法進展,并應用于其SoC設計與優化。否則他們可能會發現自已陷于老舊架構而不適于新的CNN。
Cognivue的新影像認知處理技術稱為Opus,它將利用APEX架構,從而為復雜的深度學習分類提供平行處理的能力。h(來源:Cognivue)
渥太華大學(University of Ottawa)電子工程與計算機科學系教授Robert Laganiere說:“在CNN出現在計算機視覺應用以前,算法設計師必須做出涉及多個視覺算法層次和步驟的許多設計決定。”
這些決定包括用于對象偵測的分類方式,以及打造功能整合的方法(利用嚴密的檢測器,如直方圖等)。更多決策還包括如何處理對象變形部位的辨識,以及是否要利用串聯方法(一系列確認定對象的較小決定)或采用可支持的向量機器進行處理。
Laganiere教授說:“在這個方法上為每一個步驟所做的任何一個小決定,都可能為對象辨識的準確度產生巨大的影響。”
然而,在深度學習架構中,你可以將所有的步驟整合于一,他解釋說:“你不需要做出決定,因為深度學習將會為你做決定。”
換言之,正如Bier總結的那樣:“傳統的計算機視覺在物體辨識上采用非常程序性的途徑,但深度學習則大不相同,因為你不需要再告訴計算機需要看什么。”
Bier將這一過程描述為兩階段法。學習和訓練過程先在專用設施完成,例如利用數據中心的超級計算機。然后,將第一階段中的大量數據集轉為‘設定’和‘協同效率’應用到嵌入式系統中。
有關CNN架構的爭論才剛剛開始
以嵌入式視覺SoC來看,目前還沒有就最佳的CNN架構達成共識。
Cognivue和渥太華大學的Laganiere認為,大規模的平行架構是有效處理CNN的必要方式。在平行處理中,某一影像采用特定參數可產生另一幅影像,而在該影像上施加另一個濾波時,即產生另一幅影像。Laganiere說:“因此,在SoC中你需要更多的本地內存來儲存中介的結果。”
遺憾的是在一個大型CNN中,最后可能會出現幾百萬種參數。他解釋說,“好消息是我們已經有了簡化這一過程的方法,能夠移除一些不必要的連接。”然而,在處理CNN的不同節點上仍然存在挑戰,你無法預先決定要將那個節點連接到那個節點。“這就是為什么你需要一個可編程的設計架構,而不能透過硬件連接這些節點。”
同時,Bier說,在為CNN設計處理器時,“你可以用簡單且統一的架構。”而不是設計一個不同的SoC架構,然后在每次出現新算法時再進行一次優化;CNN處理器只需要一些附帶較少變量的簡單算法。他解釋說:“話句話說,你可以減少神經網絡處理器的可編程性,只要我們知道正確的設定方法和輸入系數。但很多公司都還沒準備好這樣做,因為這些事還在發展中。”
為了實現視覺SoC的CNN應用,芯片供貨商用盡了從CPU、GPU到FPGA和DSP的一切。因此,Bier認為有關CNN架構的爭論才剛剛開始。
無疑地,盡管深度學習預示著嵌入式視覺SoC的未來,Bier表示,像Mobileye等主要的視覺芯片供貨商已經積累了大量基于視覺的汽車安全專業知識,所以, “盡管在未來的競爭激烈,Mobileye仍具有先發制人的優勢。”
吳韌并強調將深度學習導入到嵌入式系統的重要性。但在談到智能手機和可穿戴式設備導入深度學習將面臨的挑戰時,他總結出三個要點:
首先,“我們仍在尋找殺手級的應用”,他以MP3為例表示,當業界開發出MP3時,人們知道這玩意兒是做什么用的,因此開發SoC時也較簡單。盡管在設備上導入深度學習聽起來不錯,但最佳應用是什么?目前還沒人能回答。
其次,“深度學習需要一個生態系統,”他強調,研究機構和企業之間的合作至關重要,而且非常有幫助。
最后,“我們還得讓更小的設備具備深度學習的能力,”吳韌表示,使其得以實現高性能與低功耗才是關鍵。