几何深度学习
重點(diǎn)收藏,轉(zhuǎn)載自:http://www.yidianzixun.com/article/0J3c2xqi
?
隨著深度學(xué)習(xí)的發(fā)展,人們已經(jīng)不滿(mǎn)足于將深度學(xué)習(xí)應(yīng)用于傳統(tǒng)的圖像、聲音、文本等數(shù)據(jù)上,而是對(duì)更一般的幾何對(duì)象如網(wǎng)絡(luò)、空間點(diǎn)云、曲面等應(yīng)用深度學(xué)習(xí)算法,這一領(lǐng)域被稱(chēng)為幾何深度學(xué)習(xí)(Geometric deep learning)。人們嘗試在不規(guī)則的非歐氏的數(shù)據(jù)上擴(kuò)展卷積神經(jīng)網(wǎng)絡(luò)模型,這便有了圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Neural Network)、PointNet等新的技術(shù)。
本文提到的文獻(xiàn),文末均附有下載地址
2016年,Bronstein的一篇名為《Geometric deep learning: going beyond Euclidean data》[1] 的文章來(lái)勢(shì)洶洶,該文的后兩位作者分別是Facebook前人工智能團(tuán)隊(duì)博士后成員Joan Bruna和現(xiàn)人工智能負(fù)責(zé)人Yann LeCun,這也算得上是全明星陣容,因此這篇文章的含金量和參考性就得以保證。
那么幾何深度學(xué)習(xí)(Geometric deep learning)到底指什么?有能在哪些應(yīng)用中體現(xiàn)價(jià)值呢?
在信息快速發(fā)展的現(xiàn)代社會(huì),最具有價(jià)值的、最核心的寶藏是數(shù)據(jù),可以說(shuō)沒(méi)有數(shù)據(jù)就沒(méi)有機(jī)器學(xué)習(xí)的興起和發(fā)展。
但是,另一方面讓人頭痛的也是數(shù)據(jù):
一是海量數(shù)據(jù)的清理本身就是一件非常痛苦的事情,特別是在有監(jiān)督學(xué)習(xí)的框架下,數(shù)據(jù)和標(biāo)簽缺一不可。大多數(shù)情況下,好的數(shù)據(jù)集通常需要通過(guò)人為打標(biāo)簽或者通過(guò)人力的檢驗(yàn),這是一件費(fèi)力不討好的工作,但也是必不可少的環(huán)節(jié);
二是有很多數(shù)據(jù)的底層結(jié)構(gòu)并不是基于歐幾里得空間的,而我們熟悉的表現(xiàn)優(yōu)良的各類(lèi)算法,他們通常只能處理歐式空間的數(shù)據(jù),比如CNN處理的圖片時(shí),圖片必須被表示成以一個(gè)規(guī)則的網(wǎng)格數(shù)據(jù)。
但是現(xiàn)實(shí)生活中,我們能夠通過(guò)目前的測(cè)量手段獲得的數(shù)據(jù),它們的底層結(jié)構(gòu)是非歐幾里得空間的,這類(lèi)數(shù)據(jù)我們暫且稱(chēng)為非歐幾何數(shù)據(jù),最典型的兩種非歐幾何數(shù)據(jù)是圖和流形。
圖和流形
圖(Graph)是指的節(jié)點(diǎn)、連邊組成的網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù),比如社交網(wǎng)絡(luò);流形(Manifold)則通常用于描述幾何形體,比如雷達(dá)掃描返回的各類(lèi)物體表面的空間坐標(biāo)。值得一提的是,這些幾何數(shù)據(jù)通常具有恐怖的數(shù)量級(jí),就拿社交網(wǎng)絡(luò)來(lái)說(shuō),它的規(guī)模輕輕松松就能超過(guò)10億,如果還妄想用傳統(tǒng)的統(tǒng)計(jì)方法去分析和預(yù)測(cè),那就過(guò)于天真和浪漫了。這就是為什么深度學(xué)習(xí)在幾何數(shù)據(jù)領(lǐng)域有了用武之地。
那么下面就以該領(lǐng)域的兩大類(lèi)問(wèn)題為主,介紹一些幾何深度學(xué)習(xí)的應(yīng)用場(chǎng)景和已有技術(shù)。第一類(lèi)是3D圖像的識(shí)別和分割,第二類(lèi)是圖信號(hào)的處理和預(yù)測(cè)。
隨著圖像處理結(jié)束的飛速發(fā)展,特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)的提出,讓2D圖像識(shí)別的精度超越了人類(lèi),仔細(xì)想想這是一件非常不可思議的事,冰冰涼涼的計(jì)算機(jī)真得能夠模仿人類(lèi)大腦學(xué)習(xí)如何看一張圖片。
在這里,一定要吹捧一下CNN卷積神經(jīng)網(wǎng)絡(luò)構(gòu)架的針對(duì)圖像特征學(xué)習(xí)的有效性,在下面將要提到的文章中,要么是把CNN直接應(yīng)用到網(wǎng)絡(luò)模型中,要么就是模仿CNN提取特征的模式設(shè)計(jì)出心的非歐數(shù)據(jù)特征提取的框架,因此在圖像處理這個(gè)領(lǐng)域,CNN功不可沒(méi)。基于2D圖像的深度學(xué)習(xí)技術(shù),我們見(jiàn)識(shí)了五花八門(mén)的應(yīng)用,比如人臉識(shí)別、機(jī)器看圖說(shuō)話(huà)(結(jié)合RNN)、物體檢測(cè)(比如地鐵安檢掃描背包)、包括視頻中的物品追蹤等。
深度學(xué)習(xí)在大多是1D(聲波信號(hào))、2D以及3D等歐幾里得結(jié)構(gòu)化數(shù)據(jù)中表現(xiàn)不俗,其應(yīng)用也方便了人們的生活,但是有很多問(wèn)題仍然是現(xiàn)有技術(shù)無(wú)法處理的,其中一個(gè)很重要的問(wèn)題就是如何進(jìn)行空間中的物體探測(cè)和識(shí)別,也就是3D模型的識(shí)別和分割問(wèn)題。
這個(gè)技術(shù)最直接的應(yīng)用就是機(jī)器人操控和無(wú)人駕駛,以無(wú)人駕駛為例,車(chē)內(nèi)的雷達(dá)系統(tǒng)會(huì)對(duì)車(chē)身周?chē)沫h(huán)境進(jìn)行掃描,傳回周?chē)矬w的空間坐標(biāo),接著片判斷障礙物和行人的位置,然后進(jìn)行合理的路線(xiàn)規(guī)劃。我們需要建立一套網(wǎng)絡(luò)輸入是類(lèi)似于空間坐標(biāo)的非歐幾里得數(shù)據(jù),輸出是對(duì)物體的探測(cè)或者分割。下面我們就介紹一下幾種現(xiàn)有的能夠完成3D模型分類(lèi)和分割任務(wù)的技術(shù)。
無(wú)人駕駛
2.1基于三維數(shù)據(jù)立體柵格化(voxel-based)技術(shù)
該技術(shù)的核心思想是把輸入的3D形狀數(shù)據(jù)表示(比如基于從視覺(jué)上與場(chǎng)景的表面的距離構(gòu)建的Depth Maps深度圖)轉(zhuǎn)化為標(biāo)準(zhǔn)的3D立體數(shù)據(jù)表示(volumetric representation),并且提出一種對(duì)規(guī)則的、固定大小的3D立方體(voxel grids)進(jìn)行卷積的網(wǎng)絡(luò)構(gòu)架去進(jìn)行模型的識(shí)別和分割任務(wù)。其中,比較具有代表性的一種網(wǎng)絡(luò)構(gòu)架是普利斯頓大學(xué)2015年提出的ShapeNet[2]。
其實(shí)這種方法的思路可以說(shuō)看作模擬CNN處理二維圖片的方法,那么第一步就是把3D圖形表示成一種標(biāo)準(zhǔn)的可處理的單位格式,于是就有了voxel的概念,類(lèi)似于CNN處理pixel的信息一樣。
這樣的方法存在的問(wèn)題是,計(jì)算過(guò)程中內(nèi)存的占用將會(huì)很大,也需要較長(zhǎng)的時(shí)間去學(xué)習(xí)。與此相關(guān)的其他工作,比如:
3D-CNN:3D Convolutional Neural Networks for Landing Zone Detection from LiDAR[3]
VAE:Generative and Discriminative Voxel Modeling with Convolutional Neural Networks[4]
VoxNet:A 3D Convolutional Neural Network for Real-Time Object Recognition[5]
ORION: Orientation-boosted Voxel Nets for 3D Object Recognition[6]
2.2基于多視角的神經(jīng)網(wǎng)絡(luò)架構(gòu)(multi-view)技術(shù)
區(qū)別于立體刪格化的方法,多視角神經(jīng)網(wǎng)絡(luò)在處理3D圖像的分類(lèi)和分割任務(wù)中的中心思想是,用多張不同角度2D的圖像來(lái)提取3D圖像的表面特征,直接處理相應(yīng)的2D圖片信息從而進(jìn)行3D物體的識(shí)別和探測(cè),這樣就可以直接利用二維圖像上成熟的CNN技術(shù)。具有代表性的工作是2015年,馬薩諸塞大學(xué)在2015年發(fā)表的工作Multi-view CNN[7]。
這種技術(shù)的思想并不難理解,跟人類(lèi)肉眼識(shí)別物體類(lèi)似,如果從一個(gè)角度上無(wú)法分別,可以試著從不同角度去辨別,多視角解析3D模型技術(shù)也正是利用了這點(diǎn)。這項(xiàng)技術(shù)可以用在三維模型的重建工作中。
當(dāng)然該方法的缺點(diǎn)是因?yàn)槲矬w自遮擋的問(wèn)題,在拍攝圖片是會(huì)損失一些表面信息,并且角度的選擇通常具有人工的痕跡,這樣的操作不一定是完成任務(wù)必須的操作。相關(guān)工作如下:
GIFT: A Real-time and Scalable 3D Shape Search Engine[8]
ShapePFCN:3D Shape Segmentation with Projective Convolutional Networks[9]
Spherical Projections:3D Object Classification via Spherical Projections[10]
Local Shape Descriptors:Learning local shape descriptors with view-based convolutional neural networks.[11]
當(dāng)然除此之外,還有作者比較了兩類(lèi)方法,進(jìn)行了分別的改進(jìn),并測(cè)試了不同的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)結(jié)果的影響。值得一提的是下文的作者Charles R. Qi,也正是最新的基于點(diǎn)云識(shí)別3D圖形的技術(shù)的提起人。
Volumetric and Multi-View CNNs for Object Classification on 3D Data[12]
2.3基于點(diǎn)云的神經(jīng)網(wǎng)絡(luò)框架(point-based)技術(shù)
無(wú)論是基于立體刪格化技術(shù),還是基于多視角技術(shù),它們都需要對(duì)原始的3D數(shù)據(jù)進(jìn)行一些了的重新切割或者是映射到2D空間,而點(diǎn)云技術(shù)與他們最大的不同,在與他可以直接處理原始的三維圖形表面的空間坐標(biāo)。
如果輸入數(shù)某物體三維空間的點(diǎn)云則輸出對(duì)該點(diǎn)云的預(yù)測(cè);在場(chǎng)景分割任務(wù)中,則分別預(yù)測(cè)出每一個(gè)點(diǎn)的分類(lèi)。該技術(shù)相比以上兩種技術(shù)更新,并且可以結(jié)合網(wǎng)絡(luò)的表征學(xué)習(xí)在節(jié)點(diǎn)分類(lèi)、圖分類(lèi)領(lǐng)域提供新的思路。開(kāi)篇之作是斯坦福大學(xué)(Charles R. Qi)2017年發(fā)布的PointNet[13]構(gòu)架。
接著2017年底作者在原有框架中,模仿CNN中層級(jí)性的特征提取思想,提出了PointNet++[14]構(gòu)架,再一次提高了分類(lèi)和分割任務(wù)的精度。
當(dāng)然這種方法最大的問(wèn)題根據(jù)三維點(diǎn)提取的物體表面的信息可能與真是情況存在偏差,點(diǎn)云的采集和取樣方法都會(huì)影響結(jié)果。因此也有不少針對(duì)該類(lèi)型方法的改進(jìn):
Frustum PointNets:Frustum PointNets for 3D Object Detection from RGB-D Data[15]
Neighbors help:Neighbors Do Help: Deeply Exploiting Local Structures of Point Clouds[16]
PU-Net:Point Cloud Upsampling Network[17]
Recurrent Slice Networks:Recurrent Slice Networks for 3D Segmentation on Point Clouds[18]
SPLATNet:SPLATNet: Sparse Lattice Networks for Point Cloud Processing[19]
3、圖信號(hào)的處理和預(yù)測(cè)
另一類(lèi)非歐幾何數(shù)據(jù)就是圖,這類(lèi)數(shù)據(jù)最大的特點(diǎn)是他們底層結(jié)構(gòu)是一個(gè)由節(jié)點(diǎn)和連邊組成的網(wǎng)絡(luò),比如社交網(wǎng)絡(luò)中人是節(jié)點(diǎn)、用戶(hù)之間的互動(dòng)比如關(guān)注、喜歡等就構(gòu)成了連邊。這樣的抽象方法可以解決很多真實(shí)世界中信號(hào)傳播的問(wèn)題。
比如在傳感器網(wǎng)絡(luò)中,圖像模型是由分布式互連傳感器構(gòu)成,其讀數(shù)即為網(wǎng)絡(luò)中的信號(hào),這個(gè)信號(hào)是分布在網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)上;在遺傳學(xué)中,我們知道基因控制這蛋白質(zhì)的表達(dá),而基因組成的網(wǎng)絡(luò)成為基因調(diào)控網(wǎng)絡(luò),每個(gè)基因節(jié)點(diǎn)都有一個(gè)信號(hào)值,在不同時(shí)間步這個(gè)信號(hào)值可能會(huì)發(fā)生變化,進(jìn)而指揮不同蛋白質(zhì)的形成。
基因調(diào)控網(wǎng)絡(luò)
對(duì)于這樣的圖信號(hào),由于它底層的數(shù)據(jù)結(jié)構(gòu)的特殊性,以往的信號(hào)處理方式是失效的,于是在2011年左右誕生了以圖傅里葉變換(Graph Fourier Transform)為基礎(chǔ)的圖信號(hào)處理(Graph Signal Processing)理論,其思想類(lèi)似于普通的信號(hào)處理,將實(shí)域上的信號(hào)轉(zhuǎn)化為譜域表示,然后在譜域上完成其他工作。而進(jìn)一步,計(jì)算機(jī)科學(xué)家們套用CNN的思想定義了圖上的卷積(Graph Convolution)操作,搭配深度學(xué)習(xí)框架,逐漸我們能夠?qū)崿F(xiàn)圖結(jié)構(gòu)數(shù)據(jù)表征學(xué)習(xí)以及圖上信號(hào)的預(yù)測(cè)等圖結(jié)構(gòu)的幾何深度學(xué)習(xí)。
當(dāng)然目前來(lái)說(shuō),該方法最大的弊端在于數(shù)據(jù)的底層結(jié)構(gòu),也就是圖的拓?fù)浣Y(jié)構(gòu)對(duì)數(shù)據(jù)的譜域表達(dá)影響比較大(因?yàn)樵趫D傅里葉變換中用到了圖的拉普拉斯矩陣,它與網(wǎng)絡(luò)的鄰接矩陣有關(guān),鄰接矩陣定義了圖的底層結(jié)構(gòu)),因此它無(wú)法遷移到不同圖結(jié)構(gòu)的網(wǎng)絡(luò)模型中。
就現(xiàn)目前的發(fā)表的工作來(lái)說(shuō),大多數(shù)基于圖結(jié)構(gòu)的深度學(xué)習(xí),都是為了進(jìn)行圖上節(jié)點(diǎn)的表征學(xué)習(xí),也就是把節(jié)點(diǎn)表示成一個(gè)高維的向量,在此基礎(chǔ)上將進(jìn)行網(wǎng)絡(luò)上節(jié)點(diǎn)的分類(lèi)任務(wù)或者聚類(lèi)任務(wù)等。下面我們介紹幾篇有代表性的工作。
圖卷積神經(jīng)網(wǎng)絡(luò)的首次提出:將CNN中的卷積、池化等操作拓展到了圖結(jié)構(gòu)數(shù)據(jù)中,輸入是圖以及圖上的信號(hào),輸出是對(duì)每一個(gè)圖上的節(jié)點(diǎn)的分類(lèi)(信號(hào)的分類(lèi))。
GCN:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering[20]
圖卷積網(wǎng)絡(luò)中的半監(jiān)督學(xué)習(xí):用了一種半監(jiān)督學(xué)習(xí)的方法去近似在原先圖卷積操作中的卷積核,改良了原先的圖卷積算法
Semi-supervised GCN: Semi-Supervised Classification with Graph Convolutional Networks[21]
圖卷積網(wǎng)絡(luò)在推薦系統(tǒng)中的應(yīng)用:Geometric Matrix Completion with Recurrent Multi-Graph Neural Networks[22]
圖注意力模型:將自然語(yǔ)言處理中注意力機(jī)制結(jié)合到圖結(jié)構(gòu)數(shù)據(jù)的新型圖幾何數(shù)據(jù)學(xué)習(xí),或者說(shuō)它考慮了底層網(wǎng)絡(luò)結(jié)構(gòu)中節(jié)點(diǎn)的一階鄰和二階鄰的重要程度,因此得到的特征表示更有效。
GAT:Graph Attention Networks[23]
事實(shí)上DeepMind團(tuán)隊(duì)也開(kāi)始關(guān)注圖上的深度學(xué)習(xí),在前不久發(fā)表了一篇名為《Learning Deep Generative Models of Graphs 》[24] 的文章,文章提出了一種利用深度學(xué)習(xí)技術(shù)生成網(wǎng)絡(luò)結(jié)構(gòu)的新框架,他的適用范圍可以應(yīng)用在制藥、自然語(yǔ)言生成等領(lǐng)域。說(shuō)不定再過(guò)幾年,機(jī)器人就可以在制藥領(lǐng)域大展身手,生成更有效的化學(xué)分子結(jié)構(gòu),從而治療疑難雜癥喲~
以上就是幾何深度學(xué)習(xí)的一些梳理和整理,這個(gè)分支的發(fā)展可以讓我們大膽的幻想一下未來(lái)的智能世界,無(wú)人駕駛使得路上交通更規(guī)范而有序,也消除了醉酒駕駛、疲勞駕駛等一些了人為的安全隱患;智能機(jī)器人代替單調(diào)而重復(fù)的人力勞動(dòng),甚至可以參與制藥等高精端領(lǐng)域?qū)⒋髷?shù)據(jù)的價(jià)值發(fā)揮到最大。盡管在科技的發(fā)展中,不會(huì)一帆風(fēng)順,總有艱難險(xiǎn)阻,但是人類(lèi)的智慧從來(lái)不止步于不可能,反正就是日常做做夢(mèng),科技萬(wàn)歲~
[1]Geometric deep learning: going beyond Euclidean data:https://arxiv.org/pdf/1611.08097.pdf
[2]ShapeNet:http://3dshapenets.cs.princeton.edu/paper.pdf
[3]3D-CNN:3D Convolutional Neural Networks for Landing Zone Detection from LiDAR:https://www.ri.cmu.edu/pub_files/2015/3/maturana-root.pdf
[4]VAE:Generative and Discriminative Voxel Modeling with Convolutional Neural Networks:https://arxiv.org/pdf/1608.04236.pdf
[5]VoxNet:A 3D Convolutional Neural Network for Real-Time Object Recognition:https://www.ri.cmu.edu/pub_files/2015/9/voxnet_maturana_scherer_iros15.pdf
[6]ORION: Orientation-boosted Voxel Nets for 3D Object Recognition:https://arxiv.org/pdf/1604.03351.pdf
[7]Multi-view CNN:http://vis-www.cs.umass.edu/mvcnn/docs/su15mvcnn.pdf
[8]GIFT: A Real-time and Scalable 3D Shape Search Engine:http://suo.im/4rNPZi
[9]ShapePFCN:3D Shape Segmentation with Projective Convolutional Networks:http://suo.im/5irmbO
[10]Spherical Projections:3D Object Classification via Spherical Projections:http://suo.im/4GQgv6
[11]Local Shape Descriptors:Learning local shape descriptors with view-based convolutional neural networks.:https://arxiv.org/pdf/1706.04496.pdf
[12]Volumetric and Multi-View CNNs for Object Classification on 3D Data:http://suo.im/53szCy
[13]PointNet:https://arxiv.org/pdf/1612.00593.pdf
[14]PointNet++:https://arxiv.org/pdf/1706.02413.pdf
[15]Frustum PointNets:Frustum PointNets for 3D Object Detection from RGB-D Data:https://arxiv.org/pdf/1711.08488.pdf
[16]Neighbors help:Neighbors Do Help: Deeply Exploiting Local Structures of Point Clouds:https://arxiv.org/pdf/1712.06760v1.pdf
[17]PU-Net:Point Cloud Upsampling Network:https://arxiv.org/pdf/1801.06761.pdf
[18]Recurrent Slice Networks:Recurrent Slice Networks for 3D Segmentation on Point Clouds:https://arxiv.org/pdf/1802.04402.pdf
[19]SPLATNet:SPLATNet: Sparse Lattice Networks for Point Cloud Processing:https://export.arxiv.org/pdf/1802.08275
[20]GCN:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering:https://arxiv.org/pdf/1606.09375.pdf
[21]Semi-supervised GCN: Semi-Supervised Classification with Graph Convolutional Networks:http://arxiv.org/abs/1609.02907、
[22]Geometric Matrix Completion with Recurrent Multi-Graph Neural Networks:https://arxiv.org/pdf/1704.06803.pdf
[23]GAT:Graph Attention Networks:https://openreview.net/pdf?id=rJXMpikCZ
[24]Learning Deep Generative Models of Graphs: https://arxiv.org/pdf/1803.03324.pdf
總結(jié)
- 上一篇: K8S kube-proxy- ipta
- 下一篇: 深度学习与模式识别之项目整理