14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

量子位發表於2021-02-09
允中 編輯整理
量子位 報導 | 公眾號 QbitAI

編者按:

無論是在自動駕駛場景中,還是在手持移動裝置上,基於點雲的深度學習模型應用越來越廣泛。

但這些離線邊緣場景自身的限制,給模型的推理、儲存、傳輸等環節都帶來了巨大的挑戰。如何讓點雲模型在邊緣裝置上“又輕又快”,是工業界和學術界共同關注的重要問題。

現在,為了解決邊緣裝置上執行點雲應用時的資源限制問題,來自北航、商湯和 UCSD的研究團隊,基於神經網路量化這樣的模型壓縮和加速手段,提出了首個點雲深度學習二值化模型 BiPointNet

這一方法不僅在邊緣裝置上帶來了 14.7倍 的加速比和 18.9倍 的儲存節省,準確率損失也不大( 相差1-2%以內),甚至可以媲美全精度網路。

目前,這一研究成果已經被 ICLR 2021接收。

不妨一起來看看研究團隊關於這篇論文的解讀。

首個點雲二值網路

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

在自動駕駛、AR 等實際應用場景下,用於點雲的深度神經網路模型非常需要實時互動和快速響應。但是,它們的部署環境通常是一些資源受限的邊緣裝置。

儘管研究者們已經提出了諸如 Grid-GCN,RandLA-Net 和 PointVoxel 之類的新穎的演算法來加速點雲網路的處理,但是它們還是依賴於昂貴的浮點運算。

模型二值化方法受益於輕量的二值化引數和高效的按位操作,已成為最有前景的模型壓縮加速方法之一,但是由於 2D 影像和 3D 點雲之間的根本性差異,現有的二值化方法無法被直接遷移到 3D 點雲網路中。

在本文中,我們提出了 BiPointNet,將全精度的點雲網路轉換成高效且準確的二值化模型 (整體框架圖見圖 1)。我們研究了二值化特徵的資訊熵和點雲聚合函式的表現之間的關係:為了解決聚合後的二值化特徵存在同質化的問題,提出了熵最大化聚合函式 (Entropy-Maximizing Aggregation,EMA);提出了逐層尺度恢復 (Layer-wise Scale Recovery,LSR) 以有效地恢復輸出的尺度,並使得尺度敏感的結構可以正常運作。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
圖 1: BiPointNet 的整體框架圖

我們的 BiPointNet 首次實現利用二值化點雲網路進行深度學習,並極大地超越了現有的基於 2D 視覺的二值化演算法。BiPointNet 的效能表現甚至可以媲美全精度的網路 (準確率相差在 1-2% 以內),它可以被輕易地擴充套件到其他主流的點雲特徵提取器上,比如 PointNet++, PointCNN, DGCNN, 和PointConv。BiPointNet 在多種任務上(例如分類、零件分割、語義分割)相較於基線演算法都可以取得明顯的效能提升。

此外,我們在真實裝置上對 BiPointNet 進行了實際測試,實現了 14.7 倍的加速和 18.9 倍儲存節省。

方法

點雲非結構化(unstructured)的特徵導致多層感知機是網路中最常見的結構,而二值化模型包含的是二值化的多層感知機,能夠對輕量級的二值化權重和啟用執行高效的位運算操作 (XNOR 和 Bitcount) :

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

其中,Ba 和 Bw 代表二值化啟用與權重,⊙ 表示基於位運算的向量內積。

EMA:熵最大化聚合函式

我們的研究表明,由於嚴重的同質化現象,聚合函式是二值化的一個效能瓶頸。

理想情況下,二值化張量 B 應該儘可能多地保留原始張量 Y 所包含的資訊。而當最大池化層的輸入呈隨機分佈時,二值化輸出的資訊熵隨著聚合元素數量 n 趨近於無窮大而趨向於 0。

由於點的數量通常較大 (如 ModelNet40 的分類任務的 n 為 1024 ),這導致不論輸入池化層的特徵如何,其輸出特徵總是高度相似的,如圖 2 所示。2D 視覺中聚合函式通常用較小的核(ResNet 和 VGG-Net 中使用 2×2 的池化核),問題並不嚴重。因此,我們需要一類能夠使 B 的資訊熵最大化的聚合函式,以避免聚合引起的特徵同質化問題。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
圖 2: 聚合引起的特徵同質化問題

我們證明,理論上存在一個分佈 Y,透過最大化二值張量 B 的資訊熵,能夠使得 Y 和 B 的互資訊最大化,以儘可能地把 Y 中的資訊保留在 B 中。基於此我們提出EMA,一類二值化友好的聚合層,它基於全精度神經網路中的聚合函式,並進一步保留了輸入經過變換後的熵。

EMA 的定義是:

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

其中 φ 表示聚合函式 (例如最大池化和平均池化),τ 表示變換單元,可以有多種形式,我們發現最簡單的常數偏移已經十分有效。這個偏移將輸入進行移位運算以最大化二值化特徵 B 的資訊熵。

BiPointNet 中的變換單元 τ 可以被定義為:

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

當 φ 表示最大池化時,目標函式的解與 n 無關,從而規避了在點雲應用中聚合元素數量 n 過大造成的特徵同質化問題。

One-Scale-Fits-All: 逐層尺度恢復

在本節,我們闡述並解決了二值化會導致特徵尺度失真的問題。

我們發現,當資訊熵取到最大值時,輸出特徵的尺度與特徵通道數直接相關,因此造成尺度的不合理放大,即尺度失真。尺度失真使得一些為 3D 深度學習設計的對尺度較為敏感的結構失效(見圖 3),還導致前向傳播時的啟用和後向傳播時的梯度趨於飽和。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
圖 3: 尺度失真

為了恢復輸出的尺度和調整能力,我們提出在 BiPointNet 的二值線性層中應用 LSR。我們設計了一個可學習的逐層尺度恢復因子 α,並透過二值線性層和全精度的輸出之間的標準差來初始化:

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

其中,σ 表示標準差。而且 α 在訓練過程中是可學習的。具有 LSR 的二值線性層的計算步驟如下:

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021

其中, gα 和 gZ 分別表示 a 和 z 的梯度。透過在 BiPointNet 中應用 LSR,我們緩解了由於二值化導致輸出尺度失真的問題。

實驗

我們的實驗表明了 BiPointNet 在點雲學習上的強大效能,部分設定下甚至媲美全精度模型。
表 1 中結果表明,同時使用EMA和LSR可以顯著縮小二值化模型和全精度模型之間的效能差距。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
表1: BiPointNet在ModelNet40 (分類)、
ShapeNet Parts (零件分割)、
S3DIS (語義分割) 上的消融實驗

在表 2 中,我們展示了 BiPointNet 優於其他二值化方法。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
表2: 基於 PointNet 的二值化方法對比

表 3 展示了在幾種主流的點雲深度學習模型中取得的提升。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
表3: 在主流骨幹網路上應用我們的方法

為了驗證 BiPointNet 在真實世界的邊緣裝置上的高效性,我們還將其部署在ARM CPU Cortex-A72 和Cortex-A53 的樹莓派上。儘管PointNet 已經是現有模型中公認的快速、輕量模型,BiPointNet依然帶來了14.7倍的推理加速和18.9倍的儲存節省。

14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
圖 5: (a) 耗時對比;(b) 儲存使用對比;
(c) 不同二值化方案速度和準確率的關係散點圖

總結

我們提出 BiPointNet 作為第一個在點雲上實現高效學習的二值化方法。我們為研究二值化對點雲學習模型的影響建立理論基礎,並提出了 EMA 和 LSR 方法,提升了模型的效能表現。

BiPointNet 超過了現有的二值化方法,並且能夠輕鬆地擴充套件到各種任務和骨幹模型上。同時,它在資源受限的真實裝置上實現了 14.7 倍的加速和 18.9 倍的儲存節省。我們的工作證實了模型二值化的巨大潛力,希望這個工作能夠為未來的研究打下堅實的基礎。

作者介紹

這項研究工作由北京航空航天大學劉祥龍教授團隊、商湯新加坡研究團隊和加州大學聖迭戈分校共同完成。

北航劉祥龍教授團隊近年來圍繞模型低位元量化、二值量化、量化訓練等方向做出了一系列具有創新性和實用性的研究成果,包括國際首個二值化點雲模型BiPointNet、可微分軟量化DSQ、量化訓練、資訊保留二值網路IR-Net等,研究論文發表在ICLR、CVPR、ICCV等國際頂級會議和期刊上。

商湯新加坡研究團隊是商湯演算法研究能力出海的前哨站,自2020年成立以來,服務國內外智慧城市、智慧文旅等多個新興行業。產品研發與前沿研究並重,專注感知、重建與生成,技術方向包括場景理解、3D點雲、虛擬數字人等。

論文共同第一作者秦浩桐,目前在北京航空航天大學攻讀博士,主要研究方向為模型量化壓縮與加速、硬體友好的深度學習。

論文共同第一作者蔡中昂,目前在新加坡商湯任演算法研究員、南洋理工大學博士一年級,主要研究方向為點雲深度學習、虛擬數字人。

論文共同第一作者張明遠,目前在新加坡商湯任演算法研究員,主要研究方向為多模態場景理解、複雜場景生成。

論文第四作者丁一芙,北京航空航天大學大四學生,目前保送北航軟體國家開發環境國家重點實驗室直博。

傳送門

會議論文:

專案網址:

程式碼地址:

北航劉祥龍教授團隊主頁:
~xlliu/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971123/viewspace-2756899/,如需轉載,請註明出處,否則將追究法律責任。

相關文章