譚臺(tái)哲,黃永耀,楊 卓,劉 洋
廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510006
深度學(xué)習(xí)已經(jīng)在圖像相關(guān)的領(lǐng)域取得了很好的效果。其中的卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類(lèi)任務(wù)[1]、語(yǔ)義分割任務(wù)[2]、目標(biāo)檢測(cè)任務(wù)[3]中都達(dá)到了行業(yè)領(lǐng)先的成果。由于三維點(diǎn)云處理在自動(dòng)駕駛、機(jī)器人空間理解領(lǐng)域具有重要意義[4],最近有許多研究致力于將神經(jīng)網(wǎng)絡(luò)應(yīng)用到三維點(diǎn)云數(shù)據(jù)處理中,但原始的三維點(diǎn)云是非規(guī)則數(shù)據(jù),每個(gè)點(diǎn)只包括了三維坐標(biāo)(x,y,z)和RGB信息,無(wú)法用處理圖像的規(guī)則卷積核進(jìn)行特征提取。早期的方法通常是先將原始三維點(diǎn)云預(yù)處理成網(wǎng)格狀數(shù)據(jù),然后直接采用規(guī)則的三維卷積核進(jìn)行特征提取,這種方法通常具有較高的計(jì)算復(fù)雜度。PointNet[5]的提出為基于神經(jīng)網(wǎng)絡(luò)的三維點(diǎn)云處理帶來(lái)了一種全新的思路,它不需要額外的預(yù)處理,且通過(guò)疊加多層感知機(jī)(MLP)的方法直接對(duì)原始三維點(diǎn)云進(jìn)行特征提取,大幅減少了計(jì)算消耗,在當(dāng)時(shí)達(dá)到了比較領(lǐng)先的精度。從此之后,有許多面向三維點(diǎn)云的神經(jīng)網(wǎng)絡(luò)方法被提出,這些方法主要可以分為三種:基于圖的方法[6-7]、結(jié)構(gòu)化表示方法[8-9]、基于點(diǎn)卷積的方法[5,10-12]。
然而,在不同類(lèi)型的數(shù)據(jù)集中(如經(jīng)過(guò)激光雷達(dá)采集、D-RGB 攝像頭采集的點(diǎn)云數(shù)據(jù)集),點(diǎn)云分布情況并不統(tǒng)一,所以在現(xiàn)實(shí)應(yīng)用場(chǎng)景中仍需要面向不同類(lèi)型的數(shù)據(jù)集進(jìn)行神經(jīng)網(wǎng)絡(luò)的人工調(diào)整以達(dá)到較好的擬合度,但是這樣的工作通常需要較高的人工成本,并且要求相關(guān)人員具有豐富的深度學(xué)習(xí)領(lǐng)域相關(guān)知識(shí)。最近得到大力發(fā)展的自動(dòng)神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(neural architecture search,NAS)技術(shù),則可以最大程度地減少神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)中人工介入的影響,并能高效率地優(yōu)化神經(jīng)網(wǎng)絡(luò)。但是目前在計(jì)算機(jī)視覺(jué)領(lǐng)域中,大量的NAS 技術(shù)研究只聚集在圖像數(shù)據(jù)上,面向三維點(diǎn)云數(shù)據(jù)的NAS技術(shù)仍處于初始階段,本文的工作則是在這個(gè)方向上的一個(gè)探索。
NAS技術(shù)主要包括兩個(gè)關(guān)鍵問(wèn)題,即搜索空間和搜索算法。搜索空間中定義了各種用于組成搜索單元的候選操作(比如3×3 卷積、最大池化等),以及由這些候選操作結(jié)合而成的搜索單元。由多個(gè)搜索單元疊加而成的神經(jīng)網(wǎng)絡(luò)將作為搜索空間,搜索算法則是用于迭代地從搜索空間中搜索出最優(yōu)的神經(jīng)網(wǎng)絡(luò),搜索算法可以大致分為進(jìn)化算法[13]、強(qiáng)化學(xué)習(xí)算法[14-15]。文獻(xiàn)[14]提出的基于強(qiáng)化學(xué)習(xí)算法雖然表現(xiàn)出良好的效果,但仍然需要大量計(jì)算資源。在這之后提出的方法DARTS[16]以及其變體[17]將網(wǎng)絡(luò)架構(gòu)搜索設(shè)計(jì)為一個(gè)可微分的方式,允許搜索算法使用梯度下降進(jìn)行網(wǎng)絡(luò)架構(gòu)搜索,從而大幅降低計(jì)算復(fù)雜度。2020年提出的SGAS[18]則實(shí)現(xiàn)了更進(jìn)一步的改進(jìn),其能在少量樣本的數(shù)據(jù)集中搜索出具有優(yōu)秀泛化能力的神經(jīng)網(wǎng)絡(luò)。同時(shí),SGAS 也是第一個(gè)將NAS技術(shù)應(yīng)用到三維點(diǎn)云處理的方法,其采用了圖卷積核(graph convolution)組成搜索空間,并以此搜索出圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolution network,GCN),這在三維點(diǎn)云處理方法分類(lèi)中屬于基于圖卷積的方法。相比基于點(diǎn)卷積的方法,這種方法在反向傳播中需要保存更多的中間變量,會(huì)占用更多的顯存空間,導(dǎo)致這類(lèi)方法難以適用于大規(guī)模點(diǎn)云數(shù)據(jù)中。針對(duì)這個(gè)問(wèn)題以及高效的三維點(diǎn)云特征提取問(wèn)題,本文提出了一種基于點(diǎn)卷積的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索方法,對(duì)于搜索算法,則沿用了SGAS的工作。對(duì)于搜索空間的組成,本文提出了一種新的基于點(diǎn)卷積的搜索單元。
由于點(diǎn)云數(shù)據(jù)下采樣的特殊性,不同尺度點(diǎn)云之間的語(yǔ)義信息會(huì)產(chǎn)生較大的差異,直接采用面向圖像的搜索單元結(jié)構(gòu)的方案無(wú)法獲得理想的效果。為了增強(qiáng)不同尺度點(diǎn)云的信息融合,本文提出了一種基于注意力機(jī)制的多尺度融合模塊,取代標(biāo)準(zhǔn)搜索單元中原有的輸入節(jié)點(diǎn)處理模塊。另外,本文采用了兩個(gè)基于點(diǎn)卷積的特征提取器,其中包括了多層感知機(jī)形式的特征提取器(MLP點(diǎn)卷積核)和多層分離卷積核構(gòu)成的特征提取器(shell點(diǎn)卷積核),并設(shè)計(jì)了特殊的面向點(diǎn)云的下采樣模塊與之相結(jié)合,用以構(gòu)成候選操作并組合成一個(gè)搜索單元。本文的主要貢獻(xiàn)如下:
(1)提出了一種基于注意力機(jī)制的多尺度融合模塊,其增強(qiáng)了兩個(gè)尺度點(diǎn)云的信息融合,改善了直接下采樣導(dǎo)致不同尺度點(diǎn)云之間的語(yǔ)義信息差異過(guò)大的問(wèn)題。另外,由于引入了注意力機(jī)制,增強(qiáng)了全局語(yǔ)義信息,從而提高了模型的特征提取能力。
(2)通過(guò)采用該多尺度融合模塊以及設(shè)計(jì)一系列候選操作組成搜索單元,提出了一種基于點(diǎn)卷積的搜索空間。相比基于圖卷積的搜索空間,其計(jì)算效率有較大提升。
(3)采用SGAS搜索算法在搜索空間中搜索出最優(yōu)的神經(jīng)網(wǎng)絡(luò),在ModelNet公開(kāi)數(shù)據(jù)集[9]上的對(duì)比實(shí)驗(yàn)表明,相比于傳統(tǒng)人工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò),該方法可以在很短時(shí)間內(nèi)自動(dòng)搜索出具有很少可學(xué)習(xí)參數(shù)的神經(jīng)網(wǎng)絡(luò),并且能獲得比較領(lǐng)先的性能。相比基于圖卷積的SGAS方法,本文提出的基于點(diǎn)卷積的方法搜索得到的神經(jīng)網(wǎng)絡(luò),減少了約70%的可學(xué)習(xí)參數(shù)量,并且能維持相近的性能。消融實(shí)驗(yàn)也證明了采用本文提出的基于注意力機(jī)制的多尺度融合模塊可以帶來(lái)1.1%的精度提升。另外,本文首次提出用基于點(diǎn)卷積的搜索空間進(jìn)行面向點(diǎn)云的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索。
1.1.1 結(jié)構(gòu)表示方法
早期提出的三維數(shù)據(jù)處理方法是將不規(guī)則的三維點(diǎn)云轉(zhuǎn)換成規(guī)則結(jié)構(gòu)的數(shù)據(jù),比如體素(voxel)[8]、多視圖[9]、層次數(shù)據(jù)結(jié)構(gòu)[19],再用標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取。其中多視圖方法將三維點(diǎn)云投影成多個(gè)視點(diǎn)的圖像,對(duì)于單個(gè)目標(biāo)的分類(lèi)任務(wù),這類(lèi)方法有一定的效果,但對(duì)于語(yǔ)義分割等任務(wù),這類(lèi)方法會(huì)由于物體遮擋問(wèn)題而丟失部分物體信息,導(dǎo)致性能不佳。層次數(shù)據(jù)結(jié)構(gòu)方法通常將點(diǎn)云采樣為層次結(jié)構(gòu)數(shù)據(jù),比如八叉樹(shù)(OC-tree),再利用特殊的層次結(jié)構(gòu)對(duì)這種數(shù)據(jù)進(jìn)行學(xué)習(xí),這類(lèi)方法需要大量的數(shù)據(jù)預(yù)處理,通常會(huì)導(dǎo)致過(guò)多的計(jì)算消耗?;隗w素的方法則是在預(yù)處理過(guò)程中,將三維點(diǎn)云等距離采樣成三維網(wǎng)格狀數(shù)據(jù),并輸入到由規(guī)則的三維卷積核構(gòu)成的卷積神經(jīng)網(wǎng)絡(luò)中,這些方法通常不考慮點(diǎn)云數(shù)據(jù)的稀疏性,會(huì)對(duì)空間中的大量空白區(qū)域進(jìn)行卷積運(yùn)算,產(chǎn)生了大量的額外計(jì)算量。本文提出的是基于點(diǎn)卷積的方法,只對(duì)空間中存在的點(diǎn)進(jìn)行卷積運(yùn)算,而且不需要預(yù)處理過(guò)程,從而減少了計(jì)算量。
1.1.2 基于圖的方法
通過(guò)建立三維點(diǎn)云中各點(diǎn)之間的關(guān)系,基于圖的方法可以對(duì)這些圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行圖卷積計(jì)算,并逐層提取高層特征。對(duì)一個(gè)圖結(jié)構(gòu)進(jìn)行卷積,可以被定義為在其頻域上的卷積,比如ChebNet[6]采用Chebyshev多項(xiàng)式基來(lái)模擬譜濾波器(spectral filters),從而減少圖的傅里葉變換時(shí)的計(jì)算消耗。另外,文獻(xiàn)[7]專(zhuān)注于研究流形曲面表征,從而避免了譜域(spectral domain)計(jì)算。雖然圖卷積能夠在局部曲面點(diǎn)集上聚集特征并維持了點(diǎn)云的平移不變性,但是很難合理有效地定義任意兩個(gè)點(diǎn)之間的關(guān)系。
1.1.3 基于點(diǎn)卷積的方法
PointNet[5]是第一個(gè)用神經(jīng)網(wǎng)絡(luò)直接處理原始點(diǎn)云的方法。通過(guò)將每個(gè)點(diǎn)輸入到一個(gè)共享權(quán)值的多層感知機(jī)(MLP),PointNet 可以維持點(diǎn)云的平移不變性,這是因?yàn)槎鄬痈兄獧C(jī)具有逼近任何連續(xù)函數(shù)的能力。延續(xù)PointNet 的思想,后續(xù)的一些研究工作[10-11]專(zhuān)注于用多層感知機(jī)來(lái)設(shè)計(jì)對(duì)局部聚合點(diǎn)進(jìn)行特征提取的神經(jīng)網(wǎng)絡(luò),這些研究都獲得了很好的效果。這類(lèi)方法會(huì)將多個(gè)局部點(diǎn)集的三維坐標(biāo)信息和上下文語(yǔ)意特征一同輸入到共享權(quán)值的多層感知機(jī)中進(jìn)行特征提取,實(shí)現(xiàn)一種類(lèi)似卷積的計(jì)算,所以可以看成是一種基于點(diǎn)卷積的方法。為了能讓神經(jīng)網(wǎng)絡(luò)更好地學(xué)習(xí)空間特征和上下文語(yǔ)義特征,一些最近的研究工作[12,20]則采用了空間濾波器(spatial filter)來(lái)處理點(diǎn)云組成的特征圖。這些方法用點(diǎn)的三維坐標(biāo)來(lái)定義一個(gè)局部空間濾波器,用這個(gè)濾波器來(lái)處理相應(yīng)點(diǎn)的上下文語(yǔ)意特征。這類(lèi)方法充分利用了點(diǎn)云的三維坐標(biāo)信息,從而提高了預(yù)測(cè)精度。
人工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)在目前已經(jīng)取得了很大的成功,但人工設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的方法仍有相當(dāng)大的局限性,不僅僅需要面向不同數(shù)據(jù)集重新調(diào)整神經(jīng)網(wǎng)絡(luò),投入大量的人力成本進(jìn)行迭代優(yōu)化,而且這些工作都要求設(shè)計(jì)人員具有一定的深度學(xué)習(xí)研究經(jīng)驗(yàn)。為了解決這些問(wèn)題,神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(neural architecture search,NAS)被提出。文獻(xiàn)[14]最早提出用強(qiáng)化學(xué)習(xí)算法來(lái)自動(dòng)化神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索過(guò)程,此后提出的NASNet[15]則是基于一個(gè)起始細(xì)胞結(jié)構(gòu)的搜索空間迭代地搜索神經(jīng)網(wǎng)絡(luò),并采用正則化和權(quán)重共享技術(shù)來(lái)提高搜索效率。最近的一些研究工作[21-22]通過(guò)訓(xùn)練單個(gè)具有繼承或者共享權(quán)值的過(guò)度參數(shù)化(over-parameterization)網(wǎng)絡(luò),以此來(lái)減少計(jì)算消耗。其中比較經(jīng)典的是DARTS 方法[16],其將網(wǎng)絡(luò)的表示松弛到連續(xù)空間中并使搜索過(guò)程變成可微分形式,允許搜索算法使用梯度下降進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)搜索,從而大幅降低計(jì)算復(fù)雜度。此后提出的SGAS 方法[18]則延續(xù)了DARTS 的思想,以貪婪的方式來(lái)對(duì)候選的節(jié)點(diǎn)操作進(jìn)行選擇和剪枝,并在搜索過(guò)程中提高了訓(xùn)練集和測(cè)試集之間的關(guān)聯(lián)度,在最終測(cè)試集中達(dá)到較好的效果。為了讓提出的方法有更高的性能,本文采用了SGAS作為其中的搜索算法,但實(shí)際上本文提出的搜索空間適用于所有基于DARTS的搜索算法。
但是DARTS方法存在搜索階段和評(píng)估階段的最優(yōu)網(wǎng)絡(luò)有一定結(jié)構(gòu)差距的問(wèn)題,以及DARTS 中權(quán)值共享帶來(lái)的問(wèn)題,使得搜索階段得到的最優(yōu)網(wǎng)絡(luò)無(wú)法在評(píng)估階段中達(dá)到最優(yōu)效果,這個(gè)問(wèn)題被稱(chēng)為退化的搜索評(píng)估相關(guān)性(degenerate search-evaluation correlation)[18]。為了解決這個(gè)問(wèn)題,SGAS提出在搜索階段以貪婪的方式逐步確定和修剪每個(gè)操作o(i,j),并加入了3個(gè)衡量指標(biāo)和評(píng)估準(zhǔn)則,使得SGAS搜索得到的神經(jīng)網(wǎng)絡(luò)能在評(píng)估數(shù)據(jù)集有更好的表現(xiàn)。本文方法分別采用DARTS 和SGAS 搜索算法在基于點(diǎn)卷積的搜索空間中進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,并加上一個(gè)分類(lèi)頭(classification head)模塊,最終得到一個(gè)可用于三維點(diǎn)云分類(lèi)任務(wù)的神經(jīng)網(wǎng)絡(luò),并在實(shí)驗(yàn)中對(duì)比了這兩種方法在點(diǎn)云數(shù)據(jù)上的性能。
基于點(diǎn)卷積的搜索空間是由多個(gè)搜索單元(cell)疊加而成,一個(gè)簡(jiǎn)單的搜索空間如圖2 所示,下采樣搜索單元是在正常搜索單元的基礎(chǔ)上增加了下采樣步驟,從而輸出一個(gè)尺寸縮小的特征圖。對(duì)于每一個(gè)在下采樣搜索單元后的正常搜索單元,都是由一個(gè)基于注意力機(jī)制的多尺度融合模塊和基于點(diǎn)卷積的候選操作組成,下采樣搜索單元?jiǎng)t不含基于注意力機(jī)制的多尺度融合模塊。
圖2 一個(gè)簡(jiǎn)單的搜索空間Fig.2 A simple search space
面向圖像的搜索單元如圖3 所示,具有如下結(jié)構(gòu):兩個(gè)不同尺度的特征圖S0 和S1 輸入到搜索單元,其較大尺度的特征圖S0 會(huì)直接下采樣至特征圖S1 的大小,從而保持兩個(gè)輸入特征圖具有相同的分辨率,這兩個(gè)經(jīng)過(guò)處理后的特征圖將輸入到候選操作組合模塊中。這個(gè)步驟在圖像數(shù)據(jù)上是可行的,但根據(jù)實(shí)驗(yàn)觀察,在點(diǎn)云數(shù)據(jù)中使用這種思路設(shè)計(jì)的模型效果較差。這是由于點(diǎn)云的下采樣方式(如最遠(yuǎn)點(diǎn)采樣、隨機(jī)采樣)是一種非均勻下采樣,這與使用等距離采樣的圖像下采樣方式相比更不穩(wěn)定。
圖3 面向圖像的搜索單元Fig.3 Search cell for image
為了讓搜索單元能更好地融合這兩個(gè)不同尺度的點(diǎn)云數(shù)據(jù),并使這兩個(gè)不同尺度的輸入數(shù)據(jù)轉(zhuǎn)化成同一個(gè)尺度。受文獻(xiàn)[23]的啟發(fā),本文提出一種基于注意力機(jī)制的多尺度融合模塊。該模塊具體細(xì)節(jié)如圖4(a)所示,首先,較大尺度點(diǎn)云數(shù)據(jù)S0 作為關(guān)鍵點(diǎn)(key),較小尺度的點(diǎn)云數(shù)據(jù)S1作為注意力機(jī)制中的查詢(xún)點(diǎn)(query),經(jīng)過(guò)一系列的基于注意力機(jī)制的矩陣運(yùn)算之后將得到一個(gè)與S1 的尺度一致的點(diǎn)云數(shù)據(jù)S0′,代表經(jīng)過(guò)處理后的S0 的數(shù)據(jù)。給定輸入的點(diǎn)云數(shù)據(jù)S0 和S1 的特征圖分別為F0和F1,其中F0∈RNl-2×Cl-2,F(xiàn)1∈RNl-1×Cl-1,且Cl-2和Cl-1代表F0和F1的特征通道數(shù)。這個(gè)過(guò)程可以用如下公式表示:
圖4 具有注意力機(jī)制的搜索單元Fig.4 Search cell with attention mechanism
其中,?代表矩陣叉乘;θ、φ、?、σ0都是非線性卷積層,可以采用1×1卷積代替;θ、φ、?是用于生成注意力圖,σ0則是用于融合全局語(yǔ)義信息和調(diào)整特征通道數(shù)。這個(gè)設(shè)計(jì)思想來(lái)自于自注意力結(jié)構(gòu)(self-attention)[23],在自注意力結(jié)構(gòu)中,鍵值矩陣(key)和查詢(xún)矩陣(query)由一個(gè)輸入特征圖經(jīng)過(guò)兩組1×1卷積計(jì)算得到,之后鍵值矩陣和查詢(xún)矩陣進(jìn)行點(diǎn)乘得到一個(gè)全局的特征圖注意力權(quán)重,最后與值矩陣(value)進(jìn)行點(diǎn)乘并輸出,其中值矩陣也是由輸入特征圖經(jīng)過(guò)1×1 卷積計(jì)算得到。而本文設(shè)計(jì)的唯一不同之處在于,鍵值矩陣(key)和值矩陣(value)來(lái)自一個(gè)較大尺度的點(diǎn)云數(shù)據(jù),查詢(xún)矩陣(query)來(lái)自一個(gè)較小尺度的點(diǎn)云數(shù)據(jù)。由于較小尺度點(diǎn)云是由較大尺度點(diǎn)云經(jīng)過(guò)下采樣得到的,其包含了原有點(diǎn)云的一部分幾何結(jié)構(gòu)信息,將這個(gè)小尺度點(diǎn)云作為查詢(xún)矩陣來(lái)源,可以使自注意力模型更好地計(jì)算出原有點(diǎn)云的關(guān)鍵點(diǎn)位置,得到更好的注意力圖從而提高表征能力。另外,采用不同的下采樣方法也會(huì)對(duì)該注意力模塊造成不同影響,在實(shí)驗(yàn)4.3.2 小節(jié)對(duì)比了采用不同的下采樣方式在不同規(guī)模的點(diǎn)云上所產(chǎn)生的效果。
其次,為了讓S1 實(shí)現(xiàn)同樣的全局上下文信息聚合,采用了一種簡(jiǎn)單的注意力機(jī)制來(lái)處理點(diǎn)云數(shù)據(jù)S1。首先,S1 將輸入到一個(gè)非線性卷積層并進(jìn)行softmax 計(jì)算,得到的數(shù)據(jù)再與原始S1 進(jìn)行點(diǎn)乘計(jì)算,得到的輸出數(shù)據(jù)S1′代表經(jīng)過(guò)處理后的S1 數(shù)據(jù)。這個(gè)過(guò)程可以用如下公式表示:
其中,⊙代表矩陣點(diǎn)乘,τ是用于生成注意力圖的非線性卷積層,σ1的作用與σ0類(lèi)似。這個(gè)結(jié)構(gòu)設(shè)計(jì)思想來(lái)自于通道空間注意力模塊(CBAM)[24]中的空間注意力模塊,其能在空間維度上重新校準(zhǔn)點(diǎn)云特征圖,突出關(guān)鍵點(diǎn)信息。采用這個(gè)結(jié)構(gòu)也能避免S0′和S1 兩個(gè)點(diǎn)云數(shù)據(jù)之間的關(guān)鍵點(diǎn)信息差距過(guò)大導(dǎo)致難收斂的問(wèn)題,從而提升預(yù)測(cè)精度。
這個(gè)模塊增強(qiáng)了兩個(gè)尺度點(diǎn)云數(shù)據(jù)的融合,解決了直接下采樣導(dǎo)致點(diǎn)云數(shù)據(jù)之間的語(yǔ)義信息差異過(guò)大的問(wèn)題,另外,由于對(duì)兩個(gè)尺度的點(diǎn)云數(shù)據(jù)中都采用了注意力機(jī)制,增強(qiáng)了全局語(yǔ)義信息,從而提高了模型精度。在消融實(shí)驗(yàn)中也討論了這個(gè)模塊所帶來(lái)的效果。一個(gè)完整的具有注意力機(jī)制的搜索單元如圖4所示,經(jīng)過(guò)基于注意力機(jī)制的多尺度融合模塊處理后,得到新的S0 和S1 點(diǎn)云數(shù)據(jù)將作為兩個(gè)輸入節(jié)點(diǎn)傳遞到基于點(diǎn)卷積的候選操作組合模塊,并輸出最終數(shù)據(jù)。
為了解決點(diǎn)云處理效率問(wèn)題,本文采用了基于點(diǎn)卷積的特征提取器組成候選操作(operations)。每個(gè)搜索單元中都包含以下5 種候選操作:MLP 點(diǎn)卷積核(相鄰點(diǎn)數(shù)量設(shè)置為16、32、64),shell 點(diǎn)卷積核(層數(shù)設(shè)置為2、4,其中每層包含點(diǎn)數(shù)設(shè)置為16),恒同連接(skipconnect),空置操作(zero),1×1卷積。MLP點(diǎn)卷積核和shell 點(diǎn)卷積核是本文采用的面向三維點(diǎn)云的特征提取器,其他候選操作的功能則與面向圖像數(shù)據(jù)方法中的類(lèi)似。
不同于圖像這種網(wǎng)格狀的規(guī)則數(shù)據(jù),三維點(diǎn)云是稀疏分布的,其中每個(gè)點(diǎn)包括了三維坐標(biāo)( )x,y,z和語(yǔ)義特征值(比如RGB 值),在本文中用x∈RN×3表示每個(gè)點(diǎn)的三維坐標(biāo)信息,用f∈RN×C代表上下文語(yǔ)意特征。為了減少一個(gè)深層神經(jīng)網(wǎng)絡(luò)的計(jì)算量,需要逐層地減少點(diǎn)云的數(shù)量。在本文中采用最遠(yuǎn)點(diǎn)采樣(farthest point sample,F(xiàn)PS)[25]和隨機(jī)采樣(random point sample,RPS)來(lái)逐層減少點(diǎn)云數(shù)量,這類(lèi)似于圖像卷積神經(jīng)網(wǎng)絡(luò)中采用最大池化(max-pooling)等操作來(lái)逐層減少特征圖的分辨率。FPS 算法會(huì)迭代地尋找與當(dāng)前選擇點(diǎn)相離最遠(yuǎn)的點(diǎn),其計(jì)算復(fù)雜度為O(N2)。采用FPS 算法得到的下采樣點(diǎn)云能保留更多的幾何結(jié)構(gòu)信息。RPS算法則是隨機(jī)選擇一定數(shù)量的點(diǎn),其計(jì)算復(fù)雜度為O(N),但對(duì)點(diǎn)云密度分布不平衡的情況十分敏感,適用于點(diǎn)數(shù)量較多的點(diǎn)云數(shù)據(jù)。這兩種下采樣算法將作為一個(gè)在搜索過(guò)程中的超參數(shù),搜索算法將使用其中一種方式進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索。在實(shí)驗(yàn)4.3.2小節(jié)也對(duì)這個(gè)超參數(shù)進(jìn)行了對(duì)比實(shí)驗(yàn)。
為了能讓點(diǎn)卷積核更好地學(xué)習(xí)點(diǎn)云的局部特征,點(diǎn)云中的點(diǎn)需要聚合成多個(gè)點(diǎn)集,每個(gè)點(diǎn)集都會(huì)被輸入到點(diǎn)卷積核中。由于點(diǎn)云數(shù)據(jù)通常規(guī)模較大,對(duì)近鄰點(diǎn)聚合方法的計(jì)算效率有較高要求,目前點(diǎn)云處理領(lǐng)域中比較主流的近鄰點(diǎn)聚合方法有K-最近鄰點(diǎn)搜索(K-nearest neighbors,KNN)和球搜索(ball-query),文獻(xiàn)[20]證明了采用球搜索方法會(huì)導(dǎo)致輸入到卷積核中點(diǎn)的數(shù)量不穩(wěn)定,從而影響模型收斂,而采用KNN能維持固定的點(diǎn)數(shù)量,使得模型能夠獲得更好的預(yù)測(cè)精度,而且KNN有更快的計(jì)算速度,因此在本文中也采用KNN 算法實(shí)現(xiàn)該近鄰點(diǎn)聚合過(guò)程。
對(duì)于點(diǎn)卷積核,采用了基于多層感知機(jī)(MLP)的MLP點(diǎn)卷積核和基于可分離卷積的shell點(diǎn)卷積核兩種。
MLP 點(diǎn)卷積核具有計(jì)算效率高的特點(diǎn),而且由于MLP 能夠擬合任意連續(xù)函數(shù),所以這種點(diǎn)卷積核被證明有一定的特征提取能力[12]。借鑒了這個(gè)思路,本文重新設(shè)計(jì)了一種簡(jiǎn)單的MLP 點(diǎn)卷積核,其中包含了一個(gè)三層的全連接神經(jīng)網(wǎng)絡(luò),輸入層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù)分別等于輸入特征圖和輸出特征圖的通道數(shù)。一個(gè)支持點(diǎn)p和其K-1個(gè)近鄰點(diǎn)所構(gòu)成點(diǎn)集為{x1,x2,…,xk},xi∈R3+C,則一個(gè)MLP 點(diǎn)卷積運(yùn)算可以描述成如下的公式:
其中h代表全連接神經(jīng)網(wǎng)絡(luò)。具體流程如圖5所示,對(duì)于第l層的點(diǎn)云中的某一個(gè)點(diǎn)集,將這個(gè)點(diǎn)集中所有點(diǎn)的上下文特征矩陣與對(duì)應(yīng)的點(diǎn)云三維坐標(biāo)矩陣(形狀為[Nl+1,K,3])進(jìn)行拼接(concatenate),得到形狀如[Nl+1,K,3+Cin]的矩陣,并將其輸入到MLP 點(diǎn)卷積核中,得到形狀如[Nl+1,Cout]的特征圖矩陣,作為第l+1層的輸入。由于點(diǎn)云的三維坐標(biāo)與上下文信息是結(jié)合起來(lái)輸入到MLP 點(diǎn)卷積核,所以MLP 點(diǎn)卷積核能夠從中學(xué)習(xí)到三維坐標(biāo)與上下文之間的關(guān)系。
圖5 MLP點(diǎn)卷積核的具體細(xì)節(jié)Fig.5 Details of MLP point convolution kernel
shell點(diǎn)卷積核則是使用了ShellNet[20]中的設(shè)計(jì)。在深層的卷積神經(jīng)網(wǎng)絡(luò)中通常會(huì)逐層地減少特征圖分辨率,同時(shí)增加特征圖的通道數(shù),通過(guò)使用疊加卷積核的方法來(lái)獲得足夠大的感受野,MLP 點(diǎn)卷積核就是延續(xù)了這種想法,而shell點(diǎn)卷積核則是利用多個(gè)同心環(huán)區(qū)域劃分不同權(quán)值,從而使用少量卷積核疊加即可獲得足夠大的感受野,具有一定的計(jì)算效率優(yōu)勢(shì)。
每個(gè)搜索單元中都包括了6 個(gè)節(jié)點(diǎn)(圖4(b)),即3個(gè)中間節(jié)點(diǎn),2個(gè)輸入節(jié)點(diǎn)(輸入數(shù)據(jù)為S0′和S1′)和1個(gè)輸出節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)的數(shù)據(jù)會(huì)經(jīng)過(guò)候選操作處理后輸出給下一個(gè)節(jié)點(diǎn)。一個(gè)搜索單元的2 個(gè)輸入節(jié)點(diǎn)的輸入數(shù)據(jù)來(lái)自前兩個(gè)搜索單元的輸出,輸出節(jié)點(diǎn)則是由所有中間節(jié)點(diǎn)的最終輸出經(jīng)過(guò)拼接得到的。
4.1.1 實(shí)驗(yàn)數(shù)據(jù)集
ModelNet[9]系列數(shù)據(jù)集是一種三維點(diǎn)云分類(lèi)任務(wù)數(shù)據(jù)集,其包括兩個(gè)子數(shù)據(jù)集,即含有10個(gè)類(lèi)別的Model-Net10 和含有40 個(gè)類(lèi)別的ModelNet40。ModelNet10 含有4 899個(gè)物體模型的三維點(diǎn)云數(shù)據(jù),其中包括3 991個(gè)測(cè)試樣本和908個(gè)訓(xùn)練樣本,對(duì)于每個(gè)模型的點(diǎn)云都將采樣出固定的1 024個(gè)點(diǎn)。ModelNet40含有12 311個(gè)物體模型的三維點(diǎn)云數(shù)據(jù),其中包括9 843 個(gè)訓(xùn)練樣本和2 468個(gè)測(cè)試樣本,同樣對(duì)每個(gè)模型的點(diǎn)云都采樣出固定的1 024個(gè)點(diǎn)。這里面的每個(gè)點(diǎn)都只包含了三維坐標(biāo)。
本文延續(xù)了SGAS的搜索階段的思路,即首先在小型數(shù)據(jù)集ModelNet10中搜索出一個(gè)包含正常單元和下采樣單元的小型神經(jīng)網(wǎng)絡(luò)。然后采用增加通道數(shù)量和疊加多個(gè)單元的方式得到一個(gè)大型神經(jīng)網(wǎng)絡(luò),作為面向大型數(shù)據(jù)集ModelNet40的模型。
4.1.2 參數(shù)設(shè)置
一個(gè)小型的神經(jīng)網(wǎng)絡(luò)有4個(gè)單元疊加而成,其中會(huì)在第1/3和2/3層的位置(即第1和第3層)使用下采樣單元。正常單元中的點(diǎn)卷積核不會(huì)進(jìn)行下采樣計(jì)算,而下采樣單元中的點(diǎn)卷積核則會(huì)進(jìn)行下采樣計(jì)算,經(jīng)過(guò)下采樣步驟之后,點(diǎn)數(shù)量減少至Nl,其中Nl=Nl-1/4,并且每個(gè)點(diǎn)的特征通道數(shù)將擴(kuò)展成2 倍。這樣設(shè)計(jì)的小型的神經(jīng)網(wǎng)絡(luò)相當(dāng)于有4個(gè)層,而且第一層的特征通道數(shù)設(shè)定為32。
首先用ModelNet10小型數(shù)據(jù)集對(duì)這個(gè)小型神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。采用16 的批大小(batch size)訓(xùn)練40 遍(epochs),采用隨機(jī)梯度下降(SGD)優(yōu)化器來(lái)優(yōu)化模型的權(quán)重W。采用Adam 優(yōu)化器來(lái)優(yōu)化網(wǎng)絡(luò)參數(shù)A,A={α(i,j)}。需要注意的是對(duì)于SGAS搜索算法,本文只采用了第一種準(zhǔn)則(Criterion 1)來(lái)選擇操作o(i,j),對(duì)于DARTS 搜索算法則延續(xù)文獻(xiàn)[16]中的標(biāo)準(zhǔn)。本文的全部實(shí)驗(yàn)都在一個(gè)有11 GB顯存的NVIDIA GTX 1080Ti顯卡上進(jìn)行。
4.1.3 實(shí)驗(yàn)結(jié)果
對(duì)于每一個(gè)搜索算法,都完成了10個(gè)獨(dú)立的搜索過(guò)程,得到10個(gè)不同的小型神經(jīng)網(wǎng)絡(luò),然后分別對(duì)小型神經(jīng)網(wǎng)絡(luò)中的單元進(jìn)行疊加,得到10個(gè)大型神經(jīng)網(wǎng)絡(luò),其中每個(gè)大型神經(jīng)網(wǎng)絡(luò)的單元數(shù)都由4個(gè)正常單元和2個(gè)下采樣單元組成,并且第一層的特征通道數(shù)設(shè)定為48。批大小設(shè)定為16,并使用Adam 優(yōu)化器訓(xùn)練80 epochs,且初始學(xué)習(xí)率為0.001,權(quán)值衰減(weight decay)為1×10-4。10 個(gè)大型神經(jīng)網(wǎng)絡(luò)在ModelNet10 數(shù)據(jù)集上的平均精度、最高精度以及與其他方法對(duì)比如表1 所示。相比一些經(jīng)典的人工設(shè)計(jì)神經(jīng)網(wǎng)絡(luò),本文提出的方法在這個(gè)小型數(shù)據(jù)集上有領(lǐng)先的準(zhǔn)確率,而且采用SGAS 搜索算法在本文提出的搜索空間中搜索效果更好,相比用DARTS搜索算法的準(zhǔn)確率提升了約0.6個(gè)百分點(diǎn)。
表1 分類(lèi)任務(wù)數(shù)據(jù)集ModelNet10上的模型結(jié)果對(duì)比Table 1 Comparison of model results on classification task ModelNet10 dataset
4.2.1 參數(shù)設(shè)置
這里只選擇前面10個(gè)大型神經(jīng)網(wǎng)絡(luò)中最高精度的3個(gè),并重新進(jìn)行訓(xùn)練。批大小設(shè)定為16,使用Adam優(yōu)化器訓(xùn)練150 epochs,且初始學(xué)習(xí)率為0.001,權(quán)值衰減(weight decay)為1×10-4。
4.2.2 實(shí)驗(yàn)結(jié)果
訓(xùn)練結(jié)果對(duì)比如表2所示,其中列出了4.2.1小節(jié)中選定的3 個(gè)大型神經(jīng)網(wǎng)絡(luò)在ModelNet40 數(shù)據(jù)集的測(cè)試樣本集上的最高準(zhǔn)確率和平均準(zhǔn)確率,可以看到本文提出的基于SGAS搜索算法或者基于DARTS搜索算法都比其他一些人工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)有更高的精度,說(shuō)明本文提出的基于點(diǎn)卷積的搜索空間有一定的效果。同時(shí),這些表現(xiàn)良好的大型神經(jīng)網(wǎng)絡(luò)都只用了0.18~0.20 個(gè)GPU-day(約4 h)即完成了神經(jīng)網(wǎng)絡(luò)構(gòu)建的過(guò)程,相比人工設(shè)計(jì)和微調(diào)神經(jīng)網(wǎng)絡(luò)的方式,大幅減少了人力和時(shí)間成本。
表2 分類(lèi)任務(wù)數(shù)據(jù)集ModelNet40上的模型結(jié)果對(duì)比Table 2 Comparison of model results on classification task ModelNet40 dataset
采用SGAS 搜索算法在本文提出的基于點(diǎn)卷積的搜索空間進(jìn)行搜索,相比基于圖卷積的搜索空間(SGAS原文方法),其搜索耗時(shí)減少0.01個(gè)GPU-day(約0.24 h),搜索得到的網(wǎng)絡(luò)可學(xué)習(xí)參數(shù)數(shù)量減少約70%,但準(zhǔn)確率相比略低,可能的原因是本文使用的一些超參數(shù)(比如近鄰點(diǎn)數(shù)量K、疊加的單元數(shù)量等)沒(méi)有做詳細(xì)的優(yōu)化挑選。
本文提出了一種基于點(diǎn)卷積的搜索空間,可以采用任意基于可微分的搜索算法對(duì)其進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,且采用不同的搜索算法得到的神經(jīng)網(wǎng)絡(luò)通常具有不同的收斂性。如圖6和圖7所展示的分別是采用兩種搜索算法在ModelNet10和ModelNet40數(shù)據(jù)集上的訓(xùn)練驗(yàn)證曲線。從圖6(b)和圖7(b)可以看出,采用SGAS搜索算法得到的神經(jīng)網(wǎng)絡(luò)在兩個(gè)數(shù)據(jù)集的驗(yàn)證集上均獲得較低的誤差,而且通過(guò)圖6 和圖7 可看出SGAS 得到的神經(jīng)網(wǎng)絡(luò)具有更快的收斂速度,即誤差更早地降至最低水平。這是因?yàn)镈ARTS比較容易搜索出有較差表征能力的網(wǎng)絡(luò)結(jié)構(gòu),而SGAS中以貪婪的方式逐步確定每個(gè)候選操作的方案則可以改善這種情況,而且根據(jù)在實(shí)驗(yàn)中的觀察發(fā)現(xiàn),采用SGAS得到的神經(jīng)網(wǎng)絡(luò)通常有更多的參數(shù)量,由于較復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)通常有更好的泛化能力,所以采用SGAS得到的神經(jīng)網(wǎng)絡(luò)會(huì)有更高的準(zhǔn)確率。另外,采用這兩種搜索算法得到的神經(jīng)網(wǎng)絡(luò)都可以較好地收斂,表明本文提出的搜索空間具有一定的可行性。
圖6 在ModelNet10數(shù)據(jù)集上的訓(xùn)練和驗(yàn)證誤差Fig.6 Train and valid loss on ModelNet10 dataset
圖7 在ModelNet40數(shù)據(jù)集上的訓(xùn)練和驗(yàn)證誤差Fig.7 Train and valid loss on ModelNet40 dataset
4.3.1 分析不同單元數(shù)和特征通道數(shù)的影響
由于構(gòu)成一個(gè)神經(jīng)網(wǎng)絡(luò)的單元(cell)數(shù)和第一層特征通道數(shù)是人工設(shè)定的,為了觀察這個(gè)設(shè)定對(duì)實(shí)驗(yàn)結(jié)果的影響,本文針對(duì)這兩個(gè)超參數(shù)進(jìn)行了消融實(shí)驗(yàn)。即是在搜索階段,使用不同的單元數(shù)和第一層特征通道數(shù)組成小型神經(jīng)網(wǎng)絡(luò),并使用SGAS搜索算法進(jìn)行搜索。如表3 所示的是采用不同的單元數(shù)和第一層特征通道數(shù)進(jìn)行神經(jīng)網(wǎng)絡(luò)搜索,最終得到的神經(jīng)網(wǎng)絡(luò)在Model-Net40數(shù)據(jù)集上的預(yù)測(cè)精度。可以看到隨著單元數(shù)和通道數(shù)增加,搜索耗時(shí)也會(huì)隨之增加,而且通道數(shù)對(duì)搜索耗時(shí)有更大的影響。其次,采用更多的單元和更多的特征通道數(shù),搜索得到的神經(jīng)網(wǎng)絡(luò)具有更好的準(zhǔn)確率,但需要留意的是,當(dāng)通道數(shù)達(dá)到64時(shí),準(zhǔn)確率提升相比通道數(shù)為32 時(shí)變化不大,這表明小型神經(jīng)網(wǎng)絡(luò)的最優(yōu)通道數(shù)是32。
表3 由不同單元數(shù)和特征通道數(shù)搜索得到的神經(jīng)網(wǎng)絡(luò)對(duì)比Table 3 Comparison of neural networks searched by different number of cells and feature channels
4.3.2 不同的下采樣方法效果對(duì)比
對(duì)于下采樣方法,本文采用了最遠(yuǎn)點(diǎn)采樣(FPS)和隨機(jī)采樣(RPS)兩種,為了對(duì)比這兩種下采樣方法對(duì)模型的影響,在本實(shí)驗(yàn)中分別采用FPS和RPS組合成兩種搜索空間,然后分別在不同點(diǎn)云數(shù)量的數(shù)據(jù)集中進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,其他實(shí)驗(yàn)設(shè)定與4.1節(jié)和4.2節(jié)中的一致。最后驗(yàn)證搜索得到的神經(jīng)網(wǎng)絡(luò)性能,并對(duì)比其推斷時(shí)間。
性能對(duì)比結(jié)果如圖8 所示,在1 024 個(gè)點(diǎn)數(shù)量的點(diǎn)云數(shù)據(jù)中,采用RPS 方式得到的神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率為91.9%,而采用FPS 方式的準(zhǔn)確率相比略高,為92.4%。隨著點(diǎn)數(shù)量減少,采用RPS方式得到的神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率下降幅度不斷增大,而采用FPS方式的準(zhǔn)確率則是平穩(wěn)下降。這是因?yàn)椴捎肦PS 方式得到的點(diǎn)云很容易丟失幾何信息,下采樣率越大,對(duì)準(zhǔn)確率影響也會(huì)不斷加大。而經(jīng)過(guò)FPS 得到的下采樣點(diǎn)云仍能保留較準(zhǔn)確的幾何信息,采用這種下采樣點(diǎn)云作為查詢(xún)點(diǎn)(query),使得本文3.2節(jié)節(jié)中的注意力模塊能更好地計(jì)算出原有點(diǎn)云中關(guān)鍵點(diǎn)的位置,從而更好地融合多尺度點(diǎn)云信息,提高預(yù)測(cè)精度。
圖8 采用RPS和FPS搜索到的神經(jīng)網(wǎng)絡(luò)性能對(duì)比Fig.8 Comparison of networks performance searched with RPS and FPS
推斷時(shí)間對(duì)比如圖9所示,相比采用RPS下采樣的方式,采用FPS 的神經(jīng)網(wǎng)絡(luò)單個(gè)樣本的推斷時(shí)間多了4 ms,隨著點(diǎn)數(shù)量減少,采用FPS 和RPS 兩種方式之間的推斷時(shí)間沒(méi)有拉開(kāi)較大差距,這是因?yàn)樵谡麄€(gè)神經(jīng)網(wǎng)絡(luò)中下采樣的計(jì)算量占比不大,所以這兩種方式?jīng)]有表現(xiàn)出明顯差距。
圖9 采用RPS和FPS搜索到的神經(jīng)網(wǎng)絡(luò)推斷時(shí)間對(duì)比Fig.9 Comparison of networks inference time searched with RPS and FPS
4.3.3 基于注意力機(jī)制的多尺度融合模塊對(duì)比
為了讓搜索單元能更好地融合兩個(gè)不同尺度的輸入點(diǎn)云數(shù)據(jù),提出了一種基于注意力機(jī)制的多尺度融合模塊。為了對(duì)比這個(gè)模塊帶來(lái)的性能提升,本文同樣在ModelNet40 數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn),其中的基線模型采用類(lèi)似于面向圖像的搜索單元(圖3),其結(jié)果如表4所示,相對(duì)于基線模型,加入了多尺度融合模塊之后,可學(xué)習(xí)參數(shù)量增加了0.22×106,推斷時(shí)間增加3 ms,準(zhǔn)確率提升了1.1 個(gè)百分點(diǎn),由此證明這個(gè)模塊能帶來(lái)一定的精度提升,同時(shí)不會(huì)增加過(guò)多的計(jì)算消耗。因?yàn)樵谝粋€(gè)神經(jīng)網(wǎng)絡(luò)中,只有下采樣單元后面的一個(gè)普通單元中會(huì)采用多尺度融合模塊,而整個(gè)神經(jīng)網(wǎng)絡(luò)只包含了兩個(gè)下采樣單元,所以多尺度融合模塊也只計(jì)算了兩次。另外,在多尺度融合模塊中只有6個(gè)1×1 卷積具有可學(xué)習(xí)參數(shù),總參數(shù)量與一個(gè)shell點(diǎn)卷積接近,所以加入多尺度融合模塊所增加的計(jì)算消耗十分有限。
表4 基于注意力機(jī)制的多尺度融合模塊的對(duì)比結(jié)果Table 4 Comparison results of attention mechanism-based multi-scale fusion module
4.3.4 采用不同候選操作的對(duì)比
本文采用了shell點(diǎn)卷積核和MLP點(diǎn)卷積核作為主要的特征提取器加入到候選操作組合中,為了對(duì)比這兩個(gè)候選操作帶來(lái)的性能提升,本文采用不同的候選操作組合重新進(jìn)行網(wǎng)絡(luò)架構(gòu)搜索和訓(xùn)練驗(yàn)證過(guò)程,結(jié)果如表5 所示,其中基線模型是由恒同連接(skip-connect),空置操作(zero),1×1 卷積作為候選操作搜索得到的神經(jīng)網(wǎng)絡(luò)??梢钥吹交€模型的準(zhǔn)確率很低,因?yàn)橹挥?×1卷積導(dǎo)致模型缺乏足夠的特征提取能力。單獨(dú)加入MLP點(diǎn)卷積核或者shell點(diǎn)卷積核都能帶來(lái)一定的準(zhǔn)確率提升,同時(shí)也能看出MLP 點(diǎn)卷積核的可學(xué)習(xí)參數(shù)量比shell點(diǎn)卷積核少。另外值得注意的是,單獨(dú)加入shell點(diǎn)卷積核的可學(xué)習(xí)參數(shù)量比同時(shí)加入MLP點(diǎn)卷積核和shell 點(diǎn)卷積核的多,但準(zhǔn)確率卻有所下降,這是因?yàn)樵谏窠?jīng)網(wǎng)絡(luò)中加入MLP點(diǎn)卷積核來(lái)替換一部分shell點(diǎn)卷積核,可以在減少神經(jīng)網(wǎng)絡(luò)參數(shù)量的同時(shí)增加網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,一定程度上緩解過(guò)擬合的問(wèn)題,從而提升準(zhǔn)確率,這也證明了同時(shí)采用shell 點(diǎn)卷積核和MLP 點(diǎn)卷積核作為候選操作的必要性。
表5 由不同候選操作組合搜索得到的神經(jīng)網(wǎng)絡(luò)對(duì)比Table 5 Comparison of neural networks searched by different combinations of candidate operations
4.3.5 搜索結(jié)果可視化
經(jīng)過(guò)搜索得到的神經(jīng)網(wǎng)絡(luò)由多個(gè)搜索單元疊加而成,其中搜索得到效果最優(yōu)的搜索單元中的候選操作組合如圖10 和圖11 所示,需要注意的是因?yàn)榛谧⒁饬C(jī)制的多尺度融合模塊是固定的結(jié)構(gòu),所以圖中沒(méi)有畫(huà)出這一部分。mlpconv_k32 代表近鄰點(diǎn)設(shè)置為32 的MLP 點(diǎn)卷積,shellconv_s2 代表近鄰點(diǎn)為32 且含有2 層的shell 點(diǎn)卷積,shellconv_s4 代表近鄰點(diǎn)為64 且含有4層的shell 點(diǎn)卷積,skip_connect 代表恒同連接??梢钥吹皆谙虏蓸铀阉鲉卧?,shell 點(diǎn)卷積的數(shù)量占比較多,這是因?yàn)橄虏蓸舆^(guò)程通常需要更大的感受野,而shell點(diǎn)卷積相比MLP 點(diǎn)卷積擁有更大的感受野。另外,在一個(gè)神經(jīng)網(wǎng)絡(luò)中正常搜索單元數(shù)量更多,所以在正常搜索單元中具有更多的恒同連接(skip-connect)和1×1 卷積,這樣能夠在維持一定學(xué)習(xí)能力的同時(shí)減少神經(jīng)網(wǎng)絡(luò)參數(shù)量。
圖1 DARTS搜索算法流程Fig.1 Process of DARTS search algorithm
圖10 正常搜索單元中的候選操作Fig.10 Candidate operations in normal search cell
圖11 下采樣搜索單元中的候選操作Fig.11 Candidate operations in subsample search cell
本文提出了一種面向三維點(diǎn)云的基于點(diǎn)卷積的搜索空間,組成該搜索空間的搜索單元中,包含了由MLP點(diǎn)卷積核和shell點(diǎn)卷積核構(gòu)成的候選操作和一種基于注意力機(jī)制的多尺度點(diǎn)云融合模塊。使用任意基于DARTS的搜索算法對(duì)這個(gè)搜索空間進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,即可得到能直接處理原始三維點(diǎn)云的點(diǎn)卷積神經(jīng)網(wǎng)絡(luò)。本文借助了基于DARTS的搜索算法SGAS在一個(gè)小型三維點(diǎn)云數(shù)據(jù)集ModelNet10上進(jìn)行神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,最終得到基于點(diǎn)卷積的神經(jīng)網(wǎng)絡(luò)可以在大型三維點(diǎn)云數(shù)據(jù)集ModelNet40上獲得比較領(lǐng)先的精度。同時(shí)在消融實(shí)驗(yàn)中證明了提出的多尺度融合模塊能在基線模型上帶來(lái)一定的精度提升。同樣采用SGAS 搜索算法,相比在圖卷積搜索空間中搜索神經(jīng)網(wǎng)絡(luò)的方式,在本文提出的點(diǎn)卷積搜索空間中搜索神經(jīng)網(wǎng)絡(luò)的方式能在維持相近精度的同時(shí)有更快的網(wǎng)絡(luò)搜索速度,且搜索出的神經(jīng)網(wǎng)絡(luò)具有更少的可學(xué)習(xí)參數(shù)。由于整個(gè)搜索過(guò)程是全自動(dòng)的,相比于人工設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的方法,本文提出的方法可以在很少的人工介入情況下,自動(dòng)搜索出性能優(yōu)秀的神經(jīng)網(wǎng)絡(luò)。關(guān)于后續(xù)的工作,計(jì)劃是設(shè)計(jì)出更多的具有高計(jì)算效率的三維點(diǎn)云特征提取器,并作為候選操作加入到搜索空間中,以求搜索出的神經(jīng)網(wǎng)絡(luò)具有更高的特征提取能力,以及針對(duì)點(diǎn)云數(shù)據(jù)的特性繼續(xù)對(duì)搜索空間進(jìn)行優(yōu)化。
計(jì)算機(jī)工程與應(yīng)用2022年19期