天天看點

SysML 2019論文解讀:視訊分析系統的提升

系統與機器學習會議(SysML)是一個非常新的會議(始于 2018 年),針對的是系統與機器學習的交叉領域。該會議的目标是引出這些領域之間的新聯系,包括确定學習系統的最佳實踐和設計原理,以及為實際機器學習工作流程開發全新的學習方法和理論。

前言

随着視訊攝像頭的日益普及,視訊分析也吸引到了很多研究關注。因為

目标檢測 語義分割

等大多數計算機視覺任務都需要密集的計算,是以有必要設計出在軟體開發和硬體實作方面都高效的系統。下面介紹兩篇遵循這些思想解決視訊分析問題的論文。

第一篇論文提出了 Filter-Forward,這是一種新的邊緣計算到雲計算(edge-to-cloud)系統,能通過安裝僅回傳相關視訊幀的輕量級邊緣濾波器讓基于資料中心的應用有能力處理數千個攝像頭的内容。第二篇論文提出了 FixyNN,其包含一個用于生成通用的 CNN 特征的固定權重的特征提取器,還有一個用于處理特定資料集的 CNN 的典型的可程式設計 CNN 加速器。

聲明:本文的所有圖檔和公式都來自于原論文。

引言

為了有效實作交通流量監控和行人檢測等應用,需要解決兩個問題:視訊流是廣角的且相關資料稀少,而資料中心需要高分辨率視訊流來進一步處理。在這篇論文中,研究者設計了一個名為 FilterForward(FF)的系統,能為廣域視訊處理提供邊緣計算和基于資料中心的方法的雙重優勢。FilterForward 引入了快速且表現力強的每應用(比如「向我發送包含狗的序列」)「微分類器」(MC)來識别與資料中心應用最相關的視訊序列(過濾)并僅将比對的事件傳輸給資料中心以便進一步分析(轉發)。

FilterForward 架構

大多數邊緣計算到雲計算的視訊分析系統都面臨着三個關鍵挑戰:帶寬限制、檢測現實視訊中的微妙細節、支援許多并發應用。為了解決這些難題,FilterForward 為應用提供了将工作劃分成邊緣和雲兩部分的靈活性,即在邊緣利用高品質的資料為雲提供相關的視訊序列。圖 1 給出了 FilterForward 的整體架構。FilterForward 的兩個主要元件是特征提取器和微分類器。

SysML 2019論文解讀:視訊分析系統的提升

特征提取器的輸入是實時的相機幀,并使用深度神經網絡(DNN)提取一些常見的特征。每應用微分類器共享特征提取器,以在計算有限的邊緣節點上同時檢測數十個事件(就像語義濾波器)。微分類器是輕量級的二進制分類神經網絡,其以基礎 DNN 提取的特征圖為輸入,輸出一個幀與一個特定應用相關的機率。FilterForward 能通過并行地評估許多微分類器來擴充到許多獨立的應用(比如找到狗或找到自行車)。

為了以不同方式解決廣角監控視訊的難題,研究者在這篇論文中提出了三種定制的微分類器架構:全幀目标檢測器(Full-frame Object Detector)、局部化二進制分類器(Localized Binary Classifier)以及視窗化的局部化二進制分類器(Windowed, Localized Binary Classifer);如圖 2 所示。一方面,這些設計可以操作來自各種基礎 DNN 層的激活,以關注它們各自任務的适當特征;另一方面,還可以選擇裁剪掉幀中不相關的區域。

SysML 2019論文解讀:視訊分析系統的提升

全幀目标檢測器微分類器的模組化方法跟随了 SSD 和 Faster R-CNN 等滑動視窗式目标檢測器,其在卷積層特征圖的每個位置都應用一個小型的二進制分類 DNN,然後将檢測結果聚合起來得到全局預測。

局部化二進制分類器微分類器包含兩個單獨的卷積層和一個全連接配接層,可以處理空間上裁剪的特征圖,比如檢測局部化區域内的突出目标(即,比如縮放到原始幀的一個區域)。

視窗化的局部化二進制分類器微分類器是對局部化二進制分類器微分類器的擴充,是為了通過指定 W 幀的時間視窗來內建臨近的時間背景資訊,進而提升每幀的準确度。

評估

FilterForward 系統的主要目标是在實作高過濾準确度的同時限制帶寬用量并可擴充到多個應用。研究表明,FilterForward 能夠通過在微分類器之間共享計算而在商用硬體上實作較高幀率,同時還能在兩個事件檢測任務上維持較高的事件級準确度。研究者在兩個真實世界的相機流資料集上進行了評估,結果表明 FilterForward 在高難度的視訊内容上能夠提升計算效率和事件檢測準确度,同時還能顯著降低網絡帶寬的使用。

 資料集

為了在真實世界的監控任務上評估所提出的 FilterForward 系統,研究者收集了兩組真實世界視訊。第一個資料集的視訊來自懷俄明州傑克遜霍爾的一個交通攝像頭(Jackson 資料集)。第二個資料集是來自一個城市街道的兩段三小時長的視訊(Roadway 資料集)。圖 3 給出了這些資料的細節。

SysML 2019論文解讀:視訊分析系統的提升

以事件為中心的名額:事件 F1 分數

大多數分類名額都以每幀為基礎,而 FilterForward 則是以事件為中心的。研究者針對跨越多幀的事件采用了來自近期研究工作的一個修改版的召回(recall)名額。對于事件 i,所得到的 EventRecall_i 名額衡量的是兩個成功度度量:

  • Existence_i 獎勵的是至少檢測到一個事件的一幀
  • Overlap_i 獎勵的是檢測到一個事件的更大比例的幀
SysML 2019論文解讀:視訊分析系統的提升

其中 R_i 和 P_i 分别是基本真值和預測的事件範圍。EventRecall 是 Existence 和 Overlap 的線性組合。作者選擇了 α = 0.9 和 β = 0.1 的配置,說明更看重檢測到每個事件的單幀。

與此同時,研究者還将标準的精度(預測的幀占真正例中的比例)與修改過的 EventRecall 定義結合起來計算了一個事件 F1 分數——精度和召回的調和平均值,并在整個評估階段使用了這一名額。

節省廣域帶寬

FilterForward 的主要目标是節省邊緣計算到雲計算的帶寬。圖 4 展示了在 Roadway 資料集上兩種微分類器架構(全幀二進制分類器和局部化二進制分類器)的帶寬用量和事件 F1 分數,并對比了壓縮整個資料流的方法。對于這兩種微分類器,相比于高品質地将整個視訊流發送回資料中心,FilterForward 可将網絡帶寬降低接近一個數量級。

SysML 2019論文解讀:視訊分析系統的提升

端到端的性能可擴充性

為了評估性能可擴充性以及展示微分類器的低邊際成本,作者對比了三種微分類器與另外兩種過濾技術:直接運作一個完全 DNN(

MobileNet

)的多個執行個體以及訓練專門的像素級分類器。圖 5 展示了 FilterForward 的三種微分類器架構以及多 DNN 和 NoScope 式離散分類器(DC)的過濾吞吐量。離散分類器比通用型分類 DNN 速度更快,但成本比微分類器更高。

結果表明,當分類器的數量較低時(大約少于 4),離散分類器有更高的吞吐量,因為此時基礎 DNN 的成本在 FilterForward 占主導。一旦 FilterForward 運作的微分類器數量大約 4,其計算共享的設計就能達到成本攤銷的突破點。而運作多個 DNN 一直都更加低效,并且在超過 35 個執行個體後就會耗盡記憶體。

SysML 2019論文解讀:視訊分析系統的提升

為了進一步了解 FilterForward 的吞吐量可擴充性,研究者還衡量了基礎 DNN 和微分類器在每幀上所用的時間。圖 6 展示了三種新提出的微分類器架構的細分結果。在查詢較少時,基礎 DNN 的執行時間占主要,這在意料之中。但即使增加數十個并發的微分類器,總的執行時間也隻會适量增長。在最壞的情況下,基礎 DNN 的 CPU 時間基本等于 20 個微分類器的時間。

SysML 2019論文解讀:視訊分析系統的提升

微分類器的成本和準确度

圖 7 展示了微分類器和離散分類器在兩個真實世界資料集上的準确度(使用事件 F1 分數)和計算成本(以乘法-加法的數量衡量)。實驗結果表明,微分類器的邊際成本比離散分類器低得多,并且還能實作更高的準确度。

SysML 2019論文解讀:視訊分析系統的提升

總結

這篇論文解決的問題是:基于資料中心的應用需要高保真的視訊序列,而每個相機又隻有有限的帶寬。通過設計一種混合式邊緣計算到雲計算的 FilterForward 系統,微分類器可以在真實世界計算機視覺任務上實作更高準确度的同時降低計算成本。作者相信 FilterForward 的混合式邊緣計算到雲計算設計能夠為迅猛發展的智能攝像頭部署提供重要的構模組化塊。

但是,FilterForward 的原型版本還存在一些局限性。首先,每個微分類器僅使用了單層的特征圖。而某些分割任務需要來自多層的多個尺度的特征,這還沒有得到解決。其次,對每個應用而言,找到選擇哪一層作為每個分類器的輸入對結果非常重要。而在這篇論文中,作者隻是基于兩個簡單的啟發而人工選擇了一層,這方面還有改進空間。最後,和大多數邊緣計算系統一樣,FilterForward 可能存在中斷時間更長以及資料可能丢失或損壞的風險。

目标檢測/跟蹤和語義分割等實時計算機視覺(CV)任務是人臉跟蹤和人體分割等移動計算應用的關鍵使能技術。但是,實時計算機視覺應用日益增長的準确度需求與移動裝置的功率限制之間存在一道能量效率的鴻溝。為了填平這道能效鴻溝,目前有兩大主要研究趨勢:MobileNet 等更高效的卷積神經網絡(CNN)架構以及專用硬體加速器。

這篇論文設計的 FixyNN 是這兩個趨勢的融合,采用了硬體與 CNN 的聯合設計方法來實作基于移動裝置的 CV 應用的 CNN 推斷。FixyNN(如圖 1 所示)将 CNN 分成了兩部分。第一部分是為多個不同的任務或資料集生成常見的低層面 CNN 特征。第二個部分提供特定于任務的 CNN 後端。然後,其前端層被實作成一種經過深度優化的固定權重的特征提取器(FFE)硬體加速器,後端部分則因為特定于具體任務,需要在典型的可程式設計 CNN 硬體加速器上實作。

SysML 2019論文解讀:視訊分析系統的提升

固定權重特征提取器的硬體設計

在這篇論文中,FixyNN 結合了兩個專用硬體加速器:一個深度優化的固定權重特征提取器(FFE)和一個更傳統的可程式設計 CNN 加速器。在硬體中固定權重方面有五項主要的優化:固定的移位加法縮放器、零開銷權重剪枝、經過優化的中間精度、零 DRAM 帶寬、最小激活存儲。固定全并行的、全流水線式的 FFE 加速器中卷積(CONV)層的權重能為 FFE 實作很多激進的硬體優化,使其在吞吐量和能效方面優于傳統的可程式設計加速器。FFE 的硬體設計可以描述為以下三個層級:

1.完全并行式固定權重* CNN *資料路徑:*如圖 2 所示,每個卷積層的計算都可實作為扁平的、全并行的、經過剪枝的固定權重算術邏輯層級。替代乘法器的固定縮放器是由綜合工具(synthesis tool)生成的,而權重的嵌入方式則與 Verilog 硬體描述語言(HDL)完全一樣。在卷積層之後的是批歸一化、ReLU 和量化算子。

SysML 2019論文解讀:視訊分析系統的提升

2.全流水線式 CNN 緩沖:傳統的可程式設計 CNN 加速器通常是通過将卷積轉換成通用矩陣乘法(GEMM)來以串行方式計算 CNN;相對而言,FFE 是使用全流水線式的 CONV 層實作本地卷積。圖 3 給出了一個核大小為 3×3 的簡單磁碟區積層的全流水線式排布概況。這個緩沖功能是使用一個 SRAM 行緩沖器(line buffer)實作的,其中逐行存儲了每一層的激活,直到達到所需的張量大小。在 SRAM 行緩沖器之後是一個基于觸發器(flip-flop)的移位寄存器,可使得卷積視窗在特征圖上有效地移動,而無需重新讀取資料。

SysML 2019論文解讀:視訊分析系統的提升

3.DeepFreeze 工具流程:研究者開發了一個名為 DeepFreeze 的開源工具來幫助實作可能帶有數百萬個寫死的權重的 FFE 加速器。給定一個标準機器學習軟體架構(比如 TensorFlow)導出的模型,DeepFreeze 工具流程能夠為一組特定的層生成 Verilog HDL 代碼等固定的 CNN 硬體加速器設計,如圖 4 所示。

SysML 2019論文解讀:視訊分析系統的提升

實驗結果

為了評估 FixyNN,研究者執行了硬體模組化與遷移學習實驗。硬體模組化部分是比較 FixyNN 與目前最佳的硬體加速器設計的硬體性能。另一方面,為了展示固定特征提取器方法的泛化能力,研究者設計了兩組包含一系列任務的實驗,其分别使用了 MobileNetV1-0.25 和 MobileNetV1-1.0 來執行。MobileNetV1 首先在 ImageNet 資料集上進行了訓練,然後在遷移到其它視覺任務。

硬體

 FixyNN 包含兩個硬體元件:FFE 和可程式設計的 CNN 加速器。其中 FFE 使用 DeepFreeze 工具流程生成。可程式設計加速器基于在英偉達深度學習加速器(NVDLA)上發表的結果,這是一種目前最佳的開源的神經網絡加速器,使用了 Verilog RTL 進行硬體實作,使用了 TLM SystemC 仿真模型進行軟體開發、系統內建和測試。表 1 給出了硬體資源六種标稱配置的已發表的 NVDLA 性能結果。

SysML 2019論文解讀:視訊分析系統的提升

首先,研究者比較了 FFE 和可程式設計 NVDLA 加速器在 MobileNet-0.25 的 13 層中每一層上的吞吐量(TOPS)和能效(TOPS/W),如圖 5 所示。很明顯,FFE 在所有方面都優于 NVDLA,在 TOPS 和 TOPS/W 上分别實作了 8.3 和 68.5 倍的提升。

SysML 2019論文解讀:視訊分析系統的提升

但是,FFE 所需的矽面積實際上會對層的數量帶來限制。圖 6 給出了在使用不同大小的 MobileNet 網絡時,FFE 的面積随固定層的數量的變化情況。是以 FixyNN 的關鍵點是平衡 FFE 和可程式設計加速器之間的層分布,進而在給定矽面積限制的條件下最大化能效和泛化能力。

SysML 2019論文解讀:視訊分析系統的提升

在示範了固定特征提取器在單個個體層上的優勢之後,研究者又展示了實際的 FixyNN 系統。類似地,其基線是一個沒有固定層的完全可程式設計 NVDLA 加速器,其代表了目前最佳。

SysML 2019論文解讀:視訊分析系統的提升

在吞吐量方面(圖 7a),在預算面積小時,基線 NVDLA 的表現優于 FixyNN,因為此時 FFE 嚴重受制于可程式設計 NVDLA 的瓶頸。但是在預算面積更大時,FixyNN 可以固定更多層,在吞吐量上獲得更大增益。而在能效方面(圖 7b),由于資料複用和其它分攤的增加,基線 NVDLA 一開始能很好地随面積擴充,但随着在利用記憶體帶寬方面的限制出現,增益會出現飽和(甚至回落)。由于 FFE 能效出色,當從 NVDLA 向 FFE 轉移的負載增多時,能效也會随之提升。

表 2 展示了在不同的設計條件下,圖 7 的設計空間中的帕累托最優 FixyNN 配置。

SysML 2019論文解讀:視訊分析系統的提升

此外,這篇論文還調查了在面積預算為 2-3 mm²(有 11 個固定層和 NVDLA 配置 C)時能效最優的配置。圖 8 給出了 FFE 和可程式設計 NVDLA 之間的功率、性能和面積(PPA)細分結果。圖中表明固定的資料路徑占據了較大部分的面積和網絡中較多的運算,但卻僅占消耗能量和延遲的一小部分。

SysML 2019論文解讀:視訊分析系統的提升

模型準确度

表 3 給出了在 MobileNet-0.25 上使用 FFE 的第一組遷移學習實驗結果。MobileNet-0.25 首先在 ImageNet 上經過訓練,然後再遷移到六個不同的視覺任務(CIFAR100、CIFAR10、SVHN、 Flwr、Airc 和 GTSR)。該網絡中有更高的比例是固定的,也使用了更大的 FFE。第一行有 0 個固定層的結果是基線結果。

SysML 2019論文解讀:視訊分析系統的提升

表 4 給出了 MobileNet-1.0 的遷移學習準确度,它也首先在 ImageNet 上進行了訓練,然後再遷移到 CIFAR-100。可以觀察到其遷移學習準确度損失有類似的趨勢。整體而言,這裡的準确度比上面的更高,因為 MobileNet-1.0 模型本身能力更強。固定網絡的前 11 個卷積層并使用自适應批歸一化(BN)隻讓準确度下降了 1.6%。

SysML 2019論文解讀:視訊分析系統的提升

由于基于深度學習的模型計算量很大,傳統的移動系統晶片(SoC)無法達到流暢運作深度學習模型所需要的性能。而目前市面上已有的硬體加速方案主要有(1)GPU:計算效率高,但功耗太大,價格昂貴;(2)FPGA:功耗低,但單顆性能低、導緻總體成本效益低,另外從業人員少,大規模開發難度高;(3)ASIC:效率能耗比,但不可更改任務,進而增大了普及難度。

這篇論文提出的 FixyNN 是一種更緊密整合計算機系統和機器學習的解決方案。通過将 DNN 分成兩部分,一部分使用高度定制的硬體來提取 CNN 特征,另一部分是可程式設計的,使用遷移學習泛化到不同的計算機視覺任務,FixyNN 有能力實作能效的最優平衡。實驗評估表明,FixyNN 硬體可以實作比 iso-area 可程式設計加速器更好的能效。

SysML 2019提前看:神經網絡安全性

本文作者為機器之心特邀技術分析師 Andy Xiong,他熱夫妻工智能和計算神經科學領域,樂觀相信深度強化學習能幫助人類更接近實作通用人工智能。目前從事計算機視覺、圖形學相關工作,歡迎交流。

本文為機器之心原創,轉載請聯系本公衆号獲得授權。

繼續閱讀