“落霞與孤鶩齊飛,秋水共長(zhǎng)天一色?!?/p>
短短十四個(gè)字,極具層次性地提煉出了視覺畫面中的色彩之美、動(dòng)態(tài)之美、虛實(shí)之美、以及立體之美,因此成為了景物描寫的絕唱之筆。
而在計(jì)算機(jī)視覺領(lǐng)域,這十四個(gè)字的創(chuàng)作過程,其實(shí)就是從視覺系統(tǒng)中提取關(guān)鍵特征、并以簡(jiǎn)短緊湊的方式呈現(xiàn)出來的過程。
計(jì)算機(jī)視覺技術(shù)自誕生之日起,即面臨著較大的計(jì)算壓力,這一領(lǐng)域的研究也一直在以空間換時(shí)間、或者以時(shí)間換空間這兩種嘗試中交替前行。至今,雖然隨著GPU的盛放,算力得到了很大的提升,然而,在真實(shí)場(chǎng)景下的人機(jī)交互中,仍面臨著端側(cè)資源不足的問題。因此, 如果我們的特征提取過程能夠做到對(duì)整個(gè)視覺輸入的“提綱挈領(lǐng)”,即提取過程更加快速、特征表示更加緊湊,將有助于計(jì)算機(jī)視覺在生活中的真實(shí)落地。
今天,來自廈門大學(xué)的紀(jì)榮嶸教授,將從視覺信息的緊湊性、深度網(wǎng)絡(luò)的緊湊性、以及檢測(cè)算法的緊湊性三方面,來介紹如何實(shí)現(xiàn)緊致化的視覺大數(shù)據(jù)分析系統(tǒng)。
文末,大講堂提供文中提到參考文獻(xiàn)的下載鏈接。
首先,刷一波福利,廈門大學(xué)媒體分析與計(jì)算組,在招收碩士生、博士生、博士后、助理教授等。
在廈門大學(xué)那么小的研究組怎樣能做一些跟別人不一樣的事情呢?我們從思考現(xiàn)有算法的問題入手,思考除了精度之外還有哪些問題。其實(shí)如果大家看一下視覺搜索和識(shí)別的流程,從特征抽取、描述、到索引,都對(duì)系統(tǒng)緊湊性有很重要的要求,雖然目前還沒有引起廣泛關(guān)注,但已有很多工業(yè)界的應(yīng)用需求。因此,從2013年到現(xiàn)在差不多五年的時(shí)間,我主要研究怎樣把搜索系統(tǒng)和識(shí)別系統(tǒng)做小和做快。
本次報(bào)告包含三個(gè)部分:
第一部分是視覺特征緊湊型:如果特征抽出來沒有明確目標(biāo)做視覺特征檢索,這時(shí)候怎么把特征做得又小又快。
第二部分是神經(jīng)網(wǎng)絡(luò)緊湊型:現(xiàn)在有很多做端到端的學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)怎么做小怎么把速度提起來。
第三部分是檢測(cè)算法的緊湊性。
在視覺特征緊湊型方面,視覺數(shù)據(jù)是大數(shù)據(jù)里面的主體,談到大數(shù)據(jù),我們首先想到的數(shù)據(jù)量最大的還是圖像和視頻數(shù)據(jù)。
如果不可以把圖像和視頻數(shù)據(jù)找到,它們的價(jià)值其實(shí)很難得到發(fā)現(xiàn)。我們這時(shí)候面臨的問題是,需要在上百萬或者上千萬的數(shù)據(jù)集里面,高速高效的把相關(guān)視覺數(shù)據(jù)找到。這個(gè)問題本身并沒有那么容易,因?yàn)樗欠墙Y(jié)構(gòu)的,這個(gè)時(shí)候不得不用近似搜索方式在有限精度損失情況下,能高速把視覺數(shù)據(jù)找到。
為了做這個(gè)問題,現(xiàn)在有些特征也能達(dá)到視覺搜索的目的,但是沒有辦法在移動(dòng)視覺伸縮或者高通量檢索里面做。比如現(xiàn)在的視覺包特征,CNN特征,VLAD特征等,他們的維度相對(duì)來說還是很高,另外可以用一些倒排索引技術(shù),用空間換時(shí)間,當(dāng)然如果空間開銷過大,也會(huì)造成在移動(dòng)式或者嵌入式系統(tǒng)里面無法使用的問題。
在過去4年時(shí)間里我研究興趣轉(zhuǎn)到去做特征的二值化。給定一組圖像數(shù)據(jù)庫,我們希望把每張圖像映射成二值編碼,如果兩張圖像相似,期望二值編碼相似,如果不相似,期望二值編碼距離要越遠(yuǎn)越好。
如果能達(dá)到這個(gè)目標(biāo)當(dāng)然更好了,我們就可以做高速高效的匹配。首先哈希函數(shù)的特征投影快,其次他的搜索時(shí)間為漢明查表,復(fù)雜度O(1)時(shí)間也很快。最后百萬級(jí)的圖像可以像搜索系統(tǒng)一樣壓縮的儲(chǔ)存在內(nèi)存中,使得它的體積相對(duì)小很多。
它的特征可以快速緊湊存到內(nèi)存里,這種速度上的提升背后會(huì)帶來精度上的損失。所以,從2004年第一次提出這個(gè)問題之后,大家關(guān)注在怎樣把損失減小。從研究方法來分可以分兩類,第一類是construction損失減小跟數(shù)據(jù)沒有關(guān)系這叫數(shù)據(jù)獨(dú)立的哈希,第二類是期望把數(shù)據(jù)分布考慮到量化誤差上,這里面根據(jù)有標(biāo)簽和沒有標(biāo)簽分成兩類,無監(jiān)督或者有監(jiān)督,想要有監(jiān)督效果更好,但是需要人工標(biāo)注非常貴。這是一些早期的發(fā)表的相關(guān)文章。
對(duì)于特征空間做隨機(jī)劃分,我們可以精確保證,如果兩個(gè)點(diǎn)在原始空間里面是近的,生成二值空間里面有一定概率仍然是近的,這個(gè)概率跟哈希比特碼程度是正相關(guān)的。
原始空間并不是那么完美,可以對(duì)當(dāng)前數(shù)據(jù)集建立一個(gè)近鄰圖,然后去算圖的拉普拉斯,希望把圖上的相似性得到二值碼學(xué)習(xí)過程中,很直接就相當(dāng)于加了一個(gè)權(quán)重矩陣。
但是,如果這么做,就會(huì)存在一些問題。主要問題在于對(duì)這些數(shù)據(jù)去做拉普拉斯,去求矩陣的特征向量,我們知道當(dāng)矩陣很大的時(shí)候求矩陣的特征分解是很困難的。
為了解決這個(gè)問題,在2011年在ICML上提出了采用錨點(diǎn)圖估計(jì)graph結(jié)構(gòu),因此計(jì)算基于數(shù)據(jù)點(diǎn)到數(shù)據(jù)點(diǎn)的相似性,轉(zhuǎn)變成數(shù)據(jù)點(diǎn)到錨點(diǎn)的相似性,錨點(diǎn)再到數(shù)據(jù)點(diǎn)的相似性。
如果要算矩陣估計(jì)的近似,首先得給個(gè)約束,我們可以通過矩陣分解快速求得基于錨點(diǎn)的相似點(diǎn)矩陣,因此可以加快計(jì)算。
此外,原始空間不完美,因此可以先對(duì)空間先做一次PCA投影,計(jì)算投影矩陣,然后計(jì)算旋轉(zhuǎn)矩陣,通過量化二者之間的交替和疊加的方式去做,這就是無監(jiān)督的方法。
此外有監(jiān)督的方法從2012年開始也有相關(guān)涉及,這是我們發(fā)在CVPR上的文章,我們除了引入哈希里面的圖像點(diǎn)之間之外,我們希望有些圖像越相近越好,有些圖像越不相近越好。
當(dāng)時(shí)我們做了一個(gè)很重要的貢獻(xiàn),我們把漢明距離通過編碼的內(nèi)積進(jìn)行計(jì)算,并通過數(shù)學(xué)計(jì)算來證明。之后發(fā)展很快,我們也做了很多工作。
今天主要介紹兩個(gè)方面,第一個(gè)2015年開始是排序敏感的視覺特征的哈希,在哈希學(xué)習(xí)過程中怎樣把排序信息嵌入到二值碼的學(xué)習(xí)。第二個(gè)方面是怎樣在二值學(xué)習(xí)空間里面可以做圖形處理。第一個(gè)動(dòng)機(jī)我們最早發(fā)表在2015ICCV上,以前的工作算是Pairwise similarity。我們想如果做哈希特征,它的目的是做檢索。那么拿得到的排序信息更多的來自于它的ranking list。所以我們期望在特征空間里面如果有個(gè)原始的ranking,希望映射成二值碼之后。二者排序列表要越相近越好。
為了解決這個(gè)問題,我們?cè)谔卣鲾?shù)據(jù)集里面隨機(jī)選取三元組,如果在原始空間里面兩個(gè)點(diǎn),比如說I和J的距離小于I和S的距離,假設(shè)生成的I和J的距離大于I和S的距離,就會(huì)產(chǎn)生損失。我們可以通過在數(shù)據(jù)集里面大量的生成,來衡量生成二值碼里面這個(gè)損失到底有多大。再加上其他的方法就可以把損失嵌入到傳統(tǒng)哈希學(xué)習(xí)里面去。
我們對(duì)比三個(gè)數(shù)據(jù)集SUM397,ImageNet,YouTubeface等去驗(yàn)證我們的方法,當(dāng)時(shí)超過了大部分的無監(jiān)督/有監(jiān)督哈希方法。
到了16年,我給我的學(xué)生講我們?cè)?5年做的工作,需要采大量的ranking list,才能去保證性能有比較好的提升。所以在這個(gè)過程中排序信息是比較冗余的,因此我們就思考可不可以有更緊湊的監(jiān)督。實(shí)際上監(jiān)督的緊湊性是存在的,這個(gè)叫做保序性。所謂的保序性,不是給的一個(gè)點(diǎn),而是點(diǎn)對(duì)和點(diǎn)對(duì)的相似性關(guān)系。這個(gè)圖上每個(gè)節(jié)點(diǎn)給出的是兩個(gè)點(diǎn)之間的相似性,點(diǎn)對(duì)點(diǎn)之間的相似性即使序列關(guān)系。把給定序列相似性嵌到哈希學(xué)習(xí)方法里面去,這是2016年論文主要工作。
由于原序列圖的規(guī)模較大,我們通過landmark-based ordinalembedding的方法,把原來與樣本大小成四次方的序列數(shù)量降低到樣本數(shù)的二次方。
這里面我們做了幾個(gè)事,第一就是在傳統(tǒng)圖像數(shù)據(jù)集上評(píng)測(cè)。比如說CIFAR10,LebelMe.第二是跟騰訊優(yōu)圖實(shí)驗(yàn)室做比較好的合作。我們參加音樂檢索競(jìng)賽,在音樂檢索過程中,有一個(gè)很重要步驟,切成很多音樂片斷,片段與片段之間要算他們的相似性。這個(gè)相似性切得越細(xì)效果越好,但是會(huì)越慢。我們跟它的合作就是怎樣把切片保證切細(xì)的情況下把速度提上去。
廈門大學(xué)把這項(xiàng)技術(shù)轉(zhuǎn)化轉(zhuǎn)移到騰訊QQ音樂里面聽歌識(shí)曲的功能中去,這是結(jié)合做的比較好的典范。
下一項(xiàng)工作,從2016年之后我們進(jìn)一步思考,我們發(fā)表的OEH里面存在的一些問題,OEH方法雖然效果不錯(cuò),時(shí)間復(fù)雜度相對(duì)較高,同時(shí)我們要隨機(jī)的選擇訓(xùn)練點(diǎn)。我們可不可以進(jìn)一步加速這個(gè)模型的訓(xùn)練過程,這是我們?cè)?017年的文章,我們探索高階序列關(guān)系,并重點(diǎn)解決兩個(gè)問題,一是怎樣高效表示序列的關(guān)系,二是如何縮減序列關(guān)系數(shù)量。
針對(duì)第一個(gè)問題,我們提出張量序列圖。我們構(gòu)建一個(gè)S和DS矩陣,這兩個(gè)矩陣做成張量圖,這個(gè)方式可以把原來的復(fù)雜度進(jìn)一步降低。
第二個(gè)問題我們做的是序列約束的投影。精確來說,我們把傳統(tǒng)四元組之間的序列關(guān)系,在投影之后變成兩兩三元組之間關(guān)系的求差,這個(gè)方式可以高效縮減它的復(fù)雜度,把原來L的四次方降成L的三次方,使數(shù)量跟樣本點(diǎn)無關(guān),極大加速了算法離線學(xué)習(xí)過程。
這是對(duì)應(yīng)的性能的表格。
去年另外一個(gè)工作,我們做的事情就是,傳統(tǒng)的二值空間。大家想做比如近鄰圖,比如做PCA。我們知道還有更好的方式,希望學(xué)的子空間能夠流型相似性。主要問題是學(xué)出來的是二值碼,怎樣在漢明空間保留流形結(jié)構(gòu),保留數(shù)據(jù)之間的局部近鄰結(jié)構(gòu)和線性關(guān)系,這是我們解決的問題。
我們的工作是離散的LLH,這是受LLH啟發(fā)后的版本,我們的哈希函數(shù)是傳統(tǒng)線性的函數(shù),目標(biāo)函數(shù)有幾項(xiàng)。第一項(xiàng)B-SB,你生成的二值碼和你這個(gè)二值碼把這個(gè)點(diǎn)扔掉,用其他點(diǎn)去重構(gòu)他,他們是不是一致?如果是一致的話就表明局部保持了這種一致性。第二項(xiàng)有點(diǎn)像ITQ里面去做旋轉(zhuǎn)之后做二值投影。
直接解目標(biāo)函數(shù)也可以,但它們復(fù)雜性還是挺高的,這里面有N的平方。之前的工作,我們?cè)谶@里面引入基于錨點(diǎn)的方式,有些公式很簡(jiǎn)單。原始的特征點(diǎn)算他們的相似性,我們采用一些anchor,算兩個(gè)點(diǎn)之間的相似性,我們不直接算,我們算這個(gè)點(diǎn)到anchor,anchor再到這個(gè)點(diǎn)的相似性。這種方法可以使我們的時(shí)間復(fù)雜度得到精確的下降,并使我們的內(nèi)存開銷得到很大的減少。
如圖所示,是隨著我們樣本數(shù)的增加,內(nèi)存開銷相關(guān)的量?;赼nchor的方式可以有效地減少內(nèi)存開銷。
對(duì)應(yīng)起來,我們?cè)贑IFA10和YouTube face上對(duì)比,我們采用加anchor的方式,有些性能可能降低,但我們的訓(xùn)練速度得到了很大的提升。
下面分享一下我們最近做的深度網(wǎng)絡(luò)緊湊性。這里有兩塊,第一塊是怎樣把網(wǎng)絡(luò)壓小,第二塊是怎樣把網(wǎng)絡(luò)做快。壓小不等于做快,做快不等于壓小,二者有不同的處理方式。
我們現(xiàn)在有龐大的數(shù)據(jù)集,有著強(qiáng)大的GPU計(jì)算硬件設(shè)備。
因此從2012年image的冠軍開始,深度學(xué)習(xí)迅速崛起,涌現(xiàn)了一系列深度神經(jīng)網(wǎng)絡(luò)。
像VGG從11層到19層,GoogLeNet (Inception V1),Facebook的resnet等等一些模型。有很多的網(wǎng)絡(luò),這些網(wǎng)絡(luò)陸續(xù)一直在出來,也有很多相關(guān)應(yīng)用。在這里面大家做新網(wǎng)絡(luò)過程中,如果簡(jiǎn)單的相對(duì)這個(gè)研究而言,生命周期就短了一些。
這里面有很多問題值得做,只是我還沒有能力做這個(gè)事情,比如說小樣本的情況下怎么做,如果正樣本很少負(fù)樣本很多的情況下,怎樣解決有偏差樣本分布。 還有一些無監(jiān)督的問題,黑盒子的問題。
我們現(xiàn)在做的事情更多來自于里面的復(fù)雜度。第一點(diǎn),就是把里面模型參數(shù)量減少,對(duì)應(yīng)把模型壓小。第二是把模型浮點(diǎn)數(shù)運(yùn)算減小,對(duì)應(yīng)把模型做加速。以下簡(jiǎn)短回顧一下在這個(gè)方向里大家怎么做以及我們做的事情。
從模型壓縮角度來說,我認(rèn)為這里面工作可具體分成三種。第一種是將不同原始參數(shù),構(gòu)建一定映射共享同一參數(shù),叫做參數(shù)共享,代表性的方法包括TTQ,PQ等等。第二套方法是在模型里面把參數(shù)裁減掉。第三個(gè)方法是把兩層之間的參數(shù)想象成矩陣,可以運(yùn)用很多矩陣分解方式去做模型壓縮。
這是最早的ICML的2015的文章,HashedNets,利用hashing技巧來進(jìn)行權(quán)值共享,例如原來是4*4,要保留16個(gè)參數(shù),現(xiàn)在做一個(gè)量化表,除了這三個(gè)單詞特征之外,只保留量化表里面的索引,這樣就可以把網(wǎng)絡(luò)壓小。
這是一篇經(jīng)典的實(shí)現(xiàn)參數(shù)共享,減少內(nèi)部參數(shù)的冗余性??梢酝ㄟ^簡(jiǎn)單二值量化,即將原始的浮點(diǎn)型參數(shù)量化成二值化的參數(shù),只需要比較參數(shù)和閾值0的大小。另外,也提出了利用乘積量化的方法,將原始的權(quán)重W分解成m個(gè)不同的子矩陣,通過對(duì)每個(gè)子矩陣進(jìn)行k-means聚類,得到子字典及其索引值。當(dāng)字典單詞的個(gè)數(shù)較小時(shí),就可以實(shí)現(xiàn)壓縮參數(shù)的目的。
這是ICLR2017上的文章,利用三值量化的方法,來防止二值網(wǎng)絡(luò)的量化誤差過大問題。具體而言,通過設(shè)計(jì)一個(gè)非對(duì)稱的量化值,并在網(wǎng)絡(luò)訓(xùn)練過程中自適應(yīng)的學(xué)習(xí)該參數(shù)。與此同時(shí),引入另外一個(gè)梯度用于學(xué)習(xí)該三值網(wǎng)絡(luò)的索引,由此提高了網(wǎng)絡(luò)的準(zhǔn)確率。這是第一套方法。
第二套方法主要做剪枝,最早的起點(diǎn)是2015BMVC的文章,它的做法是計(jì)算所謂的顯著性,就是當(dāng)前把相關(guān)葉子跟子集裁掉之后,當(dāng)前網(wǎng)絡(luò)誤差性能的上升,希望找到這樣的節(jié)點(diǎn),使得它的裁剪不會(huì)影響整個(gè)網(wǎng)絡(luò)性能。
對(duì)于這個(gè)問題大家最早知道的是來自這篇韓松的文章。這篇文章第一塊是做網(wǎng)絡(luò)裁剪,中間用量化方式做網(wǎng)絡(luò)參數(shù)共享,第三塊在裁剪和共享之后再做對(duì)應(yīng)的霍夫曼編碼進(jìn)一步做縮減。
第三套方法是用數(shù)學(xué)方式去做里面的壓縮。例如發(fā)表在NIPS13上文章,提出從理論與實(shí)驗(yàn)方面驗(yàn)證深度神經(jīng)網(wǎng)絡(luò)中存在大量的冗余信息,只有少量的參數(shù)需要學(xué)習(xí),大部分的參數(shù)都可以根據(jù)已知參數(shù)直接得到,不需要通過額外的學(xué)習(xí)。其中可利用低秩分解技術(shù)壓縮網(wǎng)絡(luò)模型,通過將原始較大的網(wǎng)絡(luò)參數(shù),分解成兩個(gè)小型的矩陣相乘。
另外,可以利用特殊的TT-format格式存儲(chǔ)全連接層的密集權(quán)重矩陣, TT-format的權(quán)值具有擁有很少的參數(shù),而且在背向傳播過程中也能比較容易求出偏導(dǎo),兼容性較強(qiáng)。
這是之前網(wǎng)絡(luò)壓縮方向代表性的工作,我們做了簡(jiǎn)單的嘗試,我們嘗試的動(dòng)機(jī)跟之前的方法有些不一樣。我們總結(jié)前人的方法,他們做剪枝,權(quán)值共享,矩陣壓縮等。他們做法優(yōu)化目標(biāo)是重構(gòu)里面具體參數(shù),優(yōu)化單元是一層一層的做。
我們這樣做要要突破兩點(diǎn),第一點(diǎn),我們更多的考慮了之前的那層output,我們希望輸出的向量跟原始模型向量相似就好,中間的參數(shù)重構(gòu)重要但不是那么必要。第二我們不是一層做完之后就不動(dòng)了,是每層和每層合在一起去做。我們初始的網(wǎng)絡(luò)壓縮完之后,我們會(huì)更新里面的參數(shù),最小化非線性響應(yīng)的全局重建誤差。
從率失真曲線可以看出,我們的方法壓縮AlexNet和VGG-19,得到了新的state-of-the-art結(jié)果。
在固定壓縮比情況下,也顯示了算法的可靠性。
這是我們2018發(fā)在CVPR上的文章。我們還是考慮模型參數(shù)的二值化,我們都知道模型二值化優(yōu)點(diǎn)會(huì)極大的減小存儲(chǔ)空間。但是它的缺點(diǎn)是會(huì)大大降低模型性能。我們的方法叫Modulated Convolutional Networks。MCN訓(xùn)練完成后,只需要存儲(chǔ)二值化的參數(shù),在線推理的時(shí)候可以重構(gòu)原來的參數(shù)。
我們主要貢獻(xiàn)是用M-Filters來重構(gòu)網(wǎng)絡(luò)參數(shù)。所謂的M-Filters就是通過學(xué)習(xí)得到的參數(shù),它優(yōu)化了三個(gè)損失,第一個(gè)損失是重構(gòu)的線性分類誤差。第二個(gè)損失是重構(gòu)的網(wǎng)絡(luò)參數(shù)誤差,第三個(gè),我們希望加強(qiáng)類內(nèi)特征緊湊性,減小這種二值化帶來的擾動(dòng),因此我們叫做中心損失,壓縮完之后我們只保留二值參數(shù)。
我們的實(shí)驗(yàn)驗(yàn)證,MCN有可能可以接近全精度的性能。這是一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)用我們的方式去做在線恢復(fù)的結(jié)果,以及對(duì)應(yīng)網(wǎng)絡(luò)誤差的學(xué)習(xí)過程。同一類特征要越緊湊越好,以加強(qiáng)類內(nèi)特征的緊湊性。這是簡(jiǎn)單實(shí)現(xiàn)卷積網(wǎng)絡(luò)的效果,感興趣可以看我們的代碼和論文。我們文章測(cè)了之前有代表性的網(wǎng)絡(luò)結(jié)構(gòu),歡迎大家使用。
最后花一點(diǎn)時(shí)間講一下我們?cè)诰W(wǎng)絡(luò)的加速這方面相關(guān)工作。這里包含三類,二值化網(wǎng)絡(luò)、結(jié)構(gòu)化剪枝以及張量分解。
二值化網(wǎng)絡(luò)原理很簡(jiǎn)單,binary原則上是沒有什么做優(yōu)化。因此為了解決這問題,2015的NIPS 的文章,做BinaryConnect概念的映射,每次訓(xùn)練完這個(gè)大網(wǎng)絡(luò)之后通過這個(gè)概念直接映射成對(duì)應(yīng)的二值化網(wǎng)絡(luò)。理論上可以極大加速算法對(duì)應(yīng)的性能。
此外去做結(jié)構(gòu)化的稀疏學(xué)習(xí),所謂的結(jié)構(gòu)化稀疏學(xué)習(xí)公式很多,其實(shí)很簡(jiǎn)單,要卷積的時(shí)候,對(duì)應(yīng)參數(shù)要么同時(shí)為零,要么不為零。所以很自然的用組稀疏的方式放到結(jié)構(gòu)里,利用梯度下降法可自動(dòng)學(xué)習(xí)結(jié)構(gòu)化稀疏參數(shù)。
最后利用傳統(tǒng)的CP張量分解算法,成功應(yīng)用于深度網(wǎng)絡(luò)模型加速中,主要思想是將一個(gè)張量濾波K分解成4個(gè)秩1的向量,然后進(jìn)行卷積計(jì)算,減少了內(nèi)存開銷,同時(shí)加速了整個(gè)卷積層的計(jì)算。
我們第一個(gè)論文做的事情,之前大家考慮更多的是把通道域冗余去除。我們做的是進(jìn)一步考慮空間域的冗余去除。我們的加速原理是只計(jì)算空間中重要的點(diǎn),對(duì)于不重要的點(diǎn)可以利用knn或最近鄰點(diǎn)近似估計(jì)(不重要的點(diǎn)的空間位置信息可以預(yù)先存儲(chǔ)起來),這樣我們可以節(jié)省很多空間的計(jì)算資源。
那么如何選擇空間中重要的點(diǎn)位置信息呢?提出了基于三種的策略:隨機(jī)的采樣,均勻采樣,以及impact采樣。所有的位置保存形式可以用mask顯示出來,對(duì)于不重要點(diǎn)的位置設(shè)置為0,重要的則為1。
對(duì)于隨機(jī)和均勻的容易理解,關(guān)鍵是impact。對(duì)于impact主要利用了學(xué)習(xí)策略,首先認(rèn)為如果空間點(diǎn)位置信息比較重要,刪除后(即將位置點(diǎn)的計(jì)算值O為0)對(duì)于網(wǎng)絡(luò)輸出的損失變化較大。通過利用構(gòu)建泰勒公式展開,整理并排序損失增量期望值E,通過選擇指定數(shù)量的重要的點(diǎn)最為mask為1。
這是我們?cè)贗mageNet 和Googlenet上面做的實(shí)驗(yàn),結(jié)果表明我們的方法相比其他的方法性能還是提高很多。
這是我們今年一篇新的論文,用全局和動(dòng)態(tài)的方式做對(duì)應(yīng)的剪枝,這里面的想法很直接。這之前所有文章都是剪掉就剪掉了,選取什么時(shí)候剪是一層一層的選。
我們?cè)试S這個(gè)網(wǎng)絡(luò)被裁剪之后還可以被挪回來,所以是動(dòng)態(tài)的,這是對(duì)應(yīng)算法的框架。
我們的主要貢獻(xiàn)有三點(diǎn),第一點(diǎn)充分的考慮濾波間的關(guān)系,全局濾波移除,第二點(diǎn)是動(dòng)態(tài)更新濾波的顯著性,第三點(diǎn)是統(tǒng)一全局與動(dòng)態(tài)方式。
這是我們的實(shí)驗(yàn)結(jié)果,由于時(shí)間的關(guān)系我就不一一解釋了。
最后講一下檢測(cè)算法緊湊性。我們會(huì)發(fā)現(xiàn)在視覺分析系統(tǒng)里面,神經(jīng)網(wǎng)絡(luò)是比較慢,但有些時(shí)候它并不是速度的瓶頸,瓶頸還有其他地方。比如說傳統(tǒng)的弱監(jiān)督學(xué)習(xí)中的目標(biāo)檢測(cè),我給一個(gè)圖像級(jí)別的標(biāo)簽,然后去訓(xùn)練目標(biāo)檢測(cè)器。
這是之前的主流的弱監(jiān)督目標(biāo)檢測(cè)的工作,他們不像全監(jiān)督(比如yolo,SSD)一樣快,他們很慢。在這之前最快只有2幀不到的在線檢測(cè)速度,肯定不能實(shí)時(shí)。為什么呢?主要原因有兩點(diǎn),第一點(diǎn)它做了多尺度和翻轉(zhuǎn)的數(shù)據(jù)擴(kuò)充,因此時(shí)間消耗很大。第二點(diǎn),檢測(cè)過程需要提取候選區(qū)域,這個(gè)需要消耗大量的時(shí)間。
我們這個(gè)方式用的是現(xiàn)在很流行的生成對(duì)抗學(xué)習(xí),生成器G是快速的強(qiáng)監(jiān)督目標(biāo)檢測(cè)器。那我們用什么去訓(xùn)練生成器G呢?我們需要對(duì)抗,我們不是用簡(jiǎn)單的判別器。這里有代理器F,F(xiàn)是一個(gè)基于候選區(qū)域的,慢速的弱監(jiān)督目標(biāo)檢測(cè)器。我們的判別器D不是判別檢測(cè)性能好壞,是來判定檢查結(jié)果來自于強(qiáng)監(jiān)督的檢測(cè)器還是弱監(jiān)督的檢測(cè)器,我們希望生成器G能騙過判別器D,使強(qiáng)監(jiān)督更穩(wěn)定一些。這就是利用弱監(jiān)督的目標(biāo)檢測(cè)器和對(duì)抗生成學(xué)習(xí)來達(dá)到強(qiáng)監(jiān)督的效果。
這是對(duì)應(yīng)損失函數(shù)的設(shè)計(jì),這里面的框架可以是任意的,比如生成器G可以用SSD,yolo等等,代理器F可以用任意的弱監(jiān)督目標(biāo)檢測(cè)器。這里面的目標(biāo)函數(shù),第一是對(duì)抗圖像檢測(cè)結(jié)果來源。另外一個(gè)就是同一張圖像檢測(cè)結(jié)果要盡量一致。對(duì)代理器F和生成器F的訓(xùn)練是類似知識(shí)蒸餾的過程,我們希望強(qiáng)監(jiān)督可以去學(xué)習(xí)弱監(jiān)督的結(jié)果。因?yàn)槿醣O(jiān)督是準(zhǔn)的,強(qiáng)監(jiān)督是快的,做完以后會(huì)得到又快又準(zhǔn)的訓(xùn)練效果。
這是主要的實(shí)驗(yàn)結(jié)果,我們?cè)赑ASCAL VOC 2007上可以達(dá)到最好的結(jié)果。
這是我們關(guān)于檢測(cè)速度的實(shí)驗(yàn),相對(duì)其他方法來說速度比之前最快方法提升了50多倍。準(zhǔn)確度也有很大的提升。
這是一些相關(guān)的論文。
最后,感謝我們的團(tuán)隊(duì),實(shí)驗(yàn)室的老師和同學(xué)今天都來開會(huì),給我們這個(gè)工作做了很多工作,此外項(xiàng)目得到了很多企業(yè)支持,包括騰訊優(yōu)圖實(shí)驗(yàn)室等,謝謝大家!
-
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
8文章
1700瀏覽量
46067 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8904瀏覽量
137630
原文標(biāo)題:讓機(jī)器“提綱挈領(lǐng)”:視覺系統(tǒng)的緊湊性初探|VALSE2018之七
文章出處:【微信號(hào):deeplearningclass,微信公眾號(hào):深度學(xué)習(xí)大講堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論