14.7倍推理加速、18.9倍儲存節省!北航、商湯、UCSD提出首個點雲二值網路 | ICLR 2021
允中 編輯整理
量子位 報導 | 公眾號 QbitAI
編者按:
無論是在自動駕駛場景中,還是在手持移動裝置上,基於點雲的深度學習模型應用越來越廣泛。
但這些離線邊緣場景自身的限制,給模型的推理、儲存、傳輸等環節都帶來了巨大的挑戰。如何讓點雲模型在邊緣裝置上“又輕又快”,是工業界和學術界共同關注的重要問題。
現在,為了解決邊緣裝置上執行點雲應用時的資源限制問題,來自北航、商湯和 UCSD的研究團隊,基於神經網路量化這樣的模型壓縮和加速手段,提出了首個點雲深度學習二值化模型 BiPointNet。
這一方法不僅在邊緣裝置上帶來了 14.7倍 的加速比和 18.9倍 的儲存節省,準確率損失也不大( 相差1-2%以內),甚至可以媲美全精度網路。
目前,這一研究成果已經被 ICLR 2021接收。
不妨一起來看看研究團隊關於這篇論文的解讀。
首個點雲二值網路
在自動駕駛、AR 等實際應用場景下,用於點雲的深度神經網路模型非常需要實時互動和快速響應。但是,它們的部署環境通常是一些資源受限的邊緣裝置。
儘管研究者們已經提出了諸如 Grid-GCN,RandLA-Net 和 PointVoxel 之類的新穎的演算法來加速點雲網路的處理,但是它們還是依賴於昂貴的浮點運算。
模型二值化方法受益於輕量的二值化引數和高效的按位操作,已成為最有前景的模型壓縮加速方法之一,但是由於 2D 影像和 3D 點雲之間的根本性差異,現有的二值化方法無法被直接遷移到 3D 點雲網路中。
在本文中,我們提出了 BiPointNet,將全精度的點雲網路轉換成高效且準確的二值化模型 (整體框架圖見圖 1)。我們研究了二值化特徵的資訊熵和點雲聚合函式的表現之間的關係:為了解決聚合後的二值化特徵存在同質化的問題,提出了熵最大化聚合函式 (Entropy-Maximizing Aggregation,EMA);提出了逐層尺度恢復 (Layer-wise Scale Recovery,LSR) 以有效地恢復輸出的尺度,並使得尺度敏感的結構可以正常運作。
△圖 1: BiPointNet 的整體框架圖
我們的 BiPointNet 首次實現利用二值化點雲網路進行深度學習,並極大地超越了現有的基於 2D 視覺的二值化演算法。BiPointNet 的效能表現甚至可以媲美全精度的網路 (準確率相差在 1-2% 以內),它可以被輕易地擴充套件到其他主流的點雲特徵提取器上,比如 PointNet++, PointCNN, DGCNN, 和PointConv。BiPointNet 在多種任務上(例如分類、零件分割、語義分割)相較於基線演算法都可以取得明顯的效能提升。
此外,我們在真實裝置上對 BiPointNet 進行了實際測試,實現了 14.7 倍的加速和 18.9 倍儲存節省。
方法
點雲非結構化(unstructured)的特徵導致多層感知機是網路中最常見的結構,而二值化模型包含的是二值化的多層感知機,能夠對輕量級的二值化權重和啟用執行高效的位運算操作 (XNOR 和 Bitcount) :
其中,Ba 和 Bw 代表二值化啟用與權重,⊙ 表示基於位運算的向量內積。
EMA:熵最大化聚合函式
我們的研究表明,由於嚴重的同質化現象,聚合函式是二值化的一個效能瓶頸。
理想情況下,二值化張量 B 應該儘可能多地保留原始張量 Y 所包含的資訊。而當最大池化層的輸入呈隨機分佈時,二值化輸出的資訊熵隨著聚合元素數量 n 趨近於無窮大而趨向於 0。
由於點的數量通常較大 (如 ModelNet40 的分類任務的 n 為 1024 ),這導致不論輸入池化層的特徵如何,其輸出特徵總是高度相似的,如圖 2 所示。2D 視覺中聚合函式通常用較小的核(ResNet 和 VGG-Net 中使用 2×2 的池化核),問題並不嚴重。因此,我們需要一類能夠使 B 的資訊熵最大化的聚合函式,以避免聚合引起的特徵同質化問題。
△圖 2: 聚合引起的特徵同質化問題
我們證明,理論上存在一個分佈 Y,透過最大化二值張量 B 的資訊熵,能夠使得 Y 和 B 的互資訊最大化,以儘可能地把 Y 中的資訊保留在 B 中。基於此我們提出EMA,一類二值化友好的聚合層,它基於全精度神經網路中的聚合函式,並進一步保留了輸入經過變換後的熵。
EMA 的定義是:
其中 φ 表示聚合函式 (例如最大池化和平均池化),τ 表示變換單元,可以有多種形式,我們發現最簡單的常數偏移已經十分有效。這個偏移將輸入進行移位運算以最大化二值化特徵 B 的資訊熵。
BiPointNet 中的變換單元 τ 可以被定義為:
當 φ 表示最大池化時,目標函式的解與 n 無關,從而規避了在點雲應用中聚合元素數量 n 過大造成的特徵同質化問題。
One-Scale-Fits-All: 逐層尺度恢復
在本節,我們闡述並解決了二值化會導致特徵尺度失真的問題。
我們發現,當資訊熵取到最大值時,輸出特徵的尺度與特徵通道數直接相關,因此造成尺度的不合理放大,即尺度失真。尺度失真使得一些為 3D 深度學習設計的對尺度較為敏感的結構失效(見圖 3),還導致前向傳播時的啟用和後向傳播時的梯度趨於飽和。
△圖 3: 尺度失真
為了恢復輸出的尺度和調整能力,我們提出在 BiPointNet 的二值線性層中應用 LSR。我們設計了一個可學習的逐層尺度恢復因子 α,並透過二值線性層和全精度的輸出之間的標準差來初始化:
其中,σ 表示標準差。而且 α 在訓練過程中是可學習的。具有 LSR 的二值線性層的計算步驟如下:
其中, gα 和 gZ 分別表示 a 和 z 的梯度。透過在 BiPointNet 中應用 LSR,我們緩解了由於二值化導致輸出尺度失真的問題。
實驗
我們的實驗表明了 BiPointNet 在點雲學習上的強大效能,部分設定下甚至媲美全精度模型。
表 1 中結果表明,同時使用EMA和LSR可以顯著縮小二值化模型和全精度模型之間的效能差距。
△表1: BiPointNet在ModelNet40 (分類)、
ShapeNet Parts (零件分割)、
S3DIS (語義分割) 上的消融實驗
在表 2 中,我們展示了 BiPointNet 優於其他二值化方法。
△表2: 基於 PointNet 的二值化方法對比
表 3 展示了在幾種主流的點雲深度學習模型中取得的提升。
△表3: 在主流骨幹網路上應用我們的方法
為了驗證 BiPointNet 在真實世界的邊緣裝置上的高效性,我們還將其部署在ARM CPU Cortex-A72 和Cortex-A53 的樹莓派上。儘管PointNet 已經是現有模型中公認的快速、輕量模型,BiPointNet依然帶來了14.7倍的推理加速和18.9倍的儲存節省。
△圖 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料成本:雲端儲存成本高嗎如何節省資料儲存成本
- 七牛雲WordPress外掛-節省頻寬,加速網站網站
- 提升Raft以加速分散式鍵值儲存Raft分散式
- 區塊鏈3.0儲存礦機-YottaChain芝麻雲節點區塊鏈AI
- AI降成本利器!阿里雲彈性加速計算例項來了,最高節省50%推理成本AI阿里
- Python 儲存字串時是如何節省空間的?Python字串
- 火山引擎雲原生儲存加速實踐
- Kotlin 鏈式儲存的二叉樹中查詢節點Kotlin二叉樹
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹
- 對映_儲存省會
- 阿里雲物件儲存OSS及CDN加速配置阿里物件
- YottaChain芝麻雲節點--更專業加密資料儲存伺服器AI加密伺服器
- 三個節點,詳解網際網路簡史
- nas網路儲存如何配置
- 騰訊雲物件儲存 COS搭建個人網站物件網站
- 一個數值儲存核取方塊的值
- 如何將MAC的檔案儲存至NAS網路儲存?Mac
- Longhorn 企業級雲原生分散式容器儲存-券(Volume)和節點(Node)分散式
- Kubernetes 遷移節點 Kubelet 資料儲存目錄
- 商湯財報:2021年商湯淨虧損14.2億元 同比擴大61.5%
- 利用URLOS建立3節點叢集環境並結合雲端儲存來打造一個不懼怕當機的網站網站
- 亞馬遜雲科技加速雲端儲存創新 重塑雲中資料活力亞馬遜
- 浪潮儲存基於智慧運維技術,加速儲存自治運維
- 全民加速節:全站加速在網際網路媒體應用上的最佳實踐
- Docker 基礎-映象&容器&網路&儲存Docker
- NAS儲存中網路聚合如何建立
- 使用 OVS-DPDK 加速滴滴雲網路
- 外媒點贊,浪潮儲存為何能入圍全球最佳主儲存供應商
- 2021年貴州省網際網路發展報告
- OSS物件儲存的全球加速方案物件
- 開啟家庭網路儲存之門,簡評鐵威馬NAS網路儲存F2-210
- 如何確定計算節點能不能檢測到儲存節點上的磁碟
- 頭像點選檢視大圖和儲存功能實現(儲存的細節處理)
- JuiceFS 在多雲架構中加速大模型推理UI架構大模型
- 容器附加儲存(CAS)是雲原生儲存
- 雲端儲存架構的技術特點與三個發展方向架構
- 如何利用Webp和http快取節省30%的網路流量?WebHTTP快取
- 樹莓派自建 NAS 雲盤之——樹莓派搭建網路儲存盤樹莓派