科研:
一歇由、Higher dimensional(引用于知乎)
在研究或者使用深度學(xué)習(xí)技術(shù)時毫炉,大多數(shù)人都會被“維度”這個概念搞暈瓮栗,無論是數(shù)據(jù)本身還是算法結(jié)構(gòu),都面對著各種高維的理論概念,正確理解深度學(xué)習(xí)中和“維度”相關(guān)的概念是掌握深度學(xué)習(xí)方法過程中不可回避的技術(shù)瓶頸费奸。
數(shù)據(jù)的高維度問題
深度學(xué)習(xí)的目標(biāo)是基于某些給定信息對未知變量進行預(yù)測弥激。在模型進行預(yù)測時,需要基于一些輸入的信息進行判斷愿阐,這些輸入信息往往不是單一變量微服,而是多個變量,因此深度學(xué)習(xí)中數(shù)據(jù)的高維問題往往是指模型輸入變量的高維問題缨历。
向量(Vector)
對深度學(xué)習(xí)模型來說以蕴,向量是最基本的輸入數(shù)據(jù)的結(jié)構(gòu),每個維度上的數(shù)據(jù)可以表示一個進行預(yù)測的參考信息辛孵。一般的預(yù)測問題中丛肮,輸入數(shù)據(jù)都可以用向量表示,向量中的各個值可類比于多元線性回歸模型中的各個自變量的作用魄缚。
矩陣(Matrix)
深度學(xué)習(xí)模型的輸入可以是矩陣宝与。其實,任何輸入數(shù)據(jù)都可以只用向量表示冶匹,而無需用更復(fù)雜的結(jié)構(gòu)來表示习劫。實際情況是,對于很多深度學(xué)習(xí)框架嚼隘,在底層仍然是將數(shù)據(jù)矩陣轉(zhuǎn)化為向量進行計算诽里。
既然如此,為什么會有矩陣形式的輸入存在呢嗓蘑?只是為了方便须肆!深度學(xué)習(xí)的很多模型是用于處理圖片的,將圖片的像素作為輸入桩皿,每張圖片按照網(wǎng)格進行切分成存儲著像素信息的矩陣豌汇。
張量(Tensor)
除了矩陣以外,還有一種數(shù)據(jù)的輸入格式泄隔,叫“張量”拒贱。數(shù)據(jù)存儲在一條線上,叫向量佛嬉,存儲在一個平面上逻澳,叫矩陣,再復(fù)雜點暖呕,就是存儲在一個立方體上… …對!數(shù)據(jù)可以存儲在更高維度的空間上斜做。存儲在立方體上,就叫“方塊”湾揽?哦不瓤逼,叫張量笼吟!或者確切地說,叫3維張量霸旗。張量還有更高維度的形式贷帮,4維,5維诱告,…假設(shè)宇宙中存在這樣的數(shù)據(jù)結(jié)構(gòu)撵枢。一般來說,4維的張量就可以處理大多數(shù)深度學(xué)習(xí)任務(wù)了精居,更高維的應(yīng)用也有锄禽,比較不接地氣而已。張量是一個泛化的概念靴姿,可以描述任意空間結(jié)構(gòu)的數(shù)據(jù)沟绪。這里的維度不是數(shù)據(jù)的維度,而是指數(shù)據(jù)存儲結(jié)構(gòu)的維度空猜。向量是1維的張量,矩陣是2維的張量恨旱。
3維的張量也是用于處理圖片的輸入辈毯,只不過這個圖片的內(nèi)容更加豐富!基于矩陣的方法只能表示一個黑白的圖片搜贤,而無法表示彩色的圖片谆沃,因為這個網(wǎng)格平面里并沒有包含任何和與點的顏色有關(guān)的信息。于是仪芒,考慮到R.G.B三原色就可以表示任何色彩唁影,故可以用三個矩陣描述這個畫面,每個矩陣對應(yīng)一個顏色通道掂名。這樣据沈,一幅畫可以表示成多個“畫層”的疊加結(jié)果,每一層對應(yīng)一個R.G.B顏色饺蔑。由于畫面是多層的結(jié)構(gòu)锌介,故除了有長和寬,也有高的空間信息猾警。
除了在深度學(xué)習(xí)模型的初始輸入層的數(shù)據(jù)輸入具有3維的張量的結(jié)構(gòu)孔祸,其在中間的隱層中,也會出現(xiàn)3維的張量結(jié)構(gòu)发皿。隱層的張量結(jié)構(gòu)主要存在于CNN(Convolutional Neural Networks)的應(yīng)用中紫新,即卷積神經(jīng)網(wǎng)絡(luò)敦捧。在CNN中的每個卷積層,包含多個卷積核,每個卷積核用于捕捉畫面中某種特定的結(jié)構(gòu),即通過卷積操作姜凄,每個卷積核將對輸入的圖片進行轉(zhuǎn)化生成一個對應(yīng)的降維后的“畫層”。因此,即便CNN的隱層輸入只有一個“畫層”捣作,但由于卷積核很多,仍然會出現(xiàn)多個“畫層”鹅士,從而生成3維的張量的數(shù)據(jù)結(jié)構(gòu)券躁。
更高維的情況(Higher Dimensions)
除了3維的張量,還存在更高維度的張量掉盅,比如4維也拜,可以考慮時間的維度。例如基于深度學(xué)習(xí)模型識別某個影片中出現(xiàn)的人物趾痘,某個輸入的像素點表示的含義慢哈,不僅和像素點的位置、顏色相關(guān)永票,還和像素點出現(xiàn)的時間相關(guān)卵贱。
總結(jié):最后思考一個問題?為什么要用張量侣集,而不用向量表示輸入數(shù)據(jù)键俱。其根本在于,張量除了存儲了數(shù)據(jù)外世分,還記錄了數(shù)據(jù)在存儲時的空間位置编振。這種數(shù)據(jù)空間位置的信息對于預(yù)測任務(wù)是非常有價值的。如果將高維的張量數(shù)據(jù)都轉(zhuǎn)化為向量的結(jié)構(gòu)作為深度學(xué)習(xí)模型的輸入臭埋,則破壞了輸入變量原本的空間結(jié)構(gòu)踪央,丟失了數(shù)據(jù)固有蘊含的信息,使得深度學(xué)習(xí)模型的性能受到嚴重影響瓢阴。此外畅蹂,很多深度學(xué)習(xí)模型,如CNN炫掐,在模型設(shè)計時魁莉,本身就已經(jīng)利用了基于對數(shù)據(jù)空間位置結(jié)構(gòu)的假設(shè),因此需要在輸入數(shù)據(jù)變量時盡可能地保留和數(shù)據(jù)存儲相關(guān)的結(jié)構(gòu)信息募胃。
二旗唁、Inception v1-v4
1.Inception v1:
深層架構(gòu)與經(jīng)典計算機視覺模型結(jié)合
效率越來越重要,通過擴大網(wǎng)絡(luò)的size痹束,即深度和每層的units數(shù)量
但是會導(dǎo)致過擬合與參數(shù)過多計算量太大
so:全連接——>稀疏連接(同時也滿足了多尺度)
為什么加了一個1*1的卷積層之后检疫,計算量就減少了呢?維度就降低了呢祷嘶?
對于一個3*3的卷積屎媳,輸入維度是100*100*500(通道是500),輸出后是100*100*200(有200種3*3的卷積核夺溢,當(dāng)然可以數(shù)值一樣,但是一個3*3只能得到一個特征圖烛谊,一張)风响,那么這個卷積的參數(shù)為3*3*500*200(卷積大小*輸入維度*輸出維度)
所以,一個1*1的卷積丹禀,可以降低參數(shù)(即維度部分)状勤,將整個特征圖縱向變窄~
如下圖:
“#3×3 reduce” and “#5×5 reduce” stands for the number of 1×1 filters in the reduction
layer used before the 3×3 and 5×5 convolutions
2.Inception v2 & v3
注:文中的m,n說是filters,其實應(yīng)該是feature map的數(shù)量(通道數(shù))双泪,文中用詞不當(dāng)持搜。
首先與VGG進行對比,說雖然VGG精度很高焙矛,但是參數(shù)過多葫盼,計算量太大。
于是提出減少計算量的基礎(chǔ)上村斟,設(shè)計卷積網(wǎng)絡(luò)的原則:
@Avoid representational bottlenecks, especially early in the network贫导。
避免瓶頸(極細)的地方出現(xiàn),會阻塞網(wǎng)絡(luò)流
@Higher dimensional representations are easier to process locally within a network.
@Spatial aggregation can be done over lower dimensional embeddings without much or any loss in representational power.
@Balance the width and depth of the network.平衡深度和寬度
之后提出蟆盹,維度降低是inception模型減少計算量的主要方法
最原始的結(jié)構(gòu)
本文方法是脱盲,將大卷積拆成小卷積,同時保證感受野相同日缨,輸入輸出大小相同,以下是3種inception2的結(jié)構(gòu):
@5*5->3*3+3*3
@3*3->1*3+3*1計算量再一次減少掖看,并且n越大匣距,減少幅度越大。(7最合適哎壳,經(jīng)實驗)
@將上圖改為并行結(jié)構(gòu)
inception v3是所有如下v2的結(jié)合:
v3在raw的v2上做了如下變化:RMSProp替代SGD毅待,在類別全連接層后加入 LSR層,將7x7卷積核由三個3x3卷積核替代归榕。
Inception v4 and Inception-Resnet
在該論文中尸红,姑且將ResNet的核心模塊稱為residual connections,實驗結(jié)果表明刹泄,residual connections可以提高Inception網(wǎng)絡(luò)的準確率外里,并且不會提高計算量
下面是最厲害的Inception-resnet結(jié)構(gòu)
其中的+就是residual connection了。通過20個類似的模塊組合特石,Inception-ResNet構(gòu)建如下:
基于Inception-v3和Inception-v4盅蝗,文中分別得到了Inception-ResNet-v1和Inception-ResNet-v2兩個模型。另外姆蘸,文中還提到當(dāng)卷積核超過1000個的大網(wǎng)絡(luò)訓(xùn)練時墩莫,將殘差(residuals)縮小有助于訓(xùn)練的穩(wěn)定性芙委。這個做法同原始ResNet論文中的two-phase training的效果類似。
總結(jié)來講狂秦,Google Research團隊在這篇report中介紹了新的Inception-v4網(wǎng)絡(luò)灌侣,并結(jié)合最新的residual connection技術(shù),將ImageNet上圖像分類的結(jié)果刷到了3.08%了
(引用:作者:xinggang ?鏈接:http://www.reibang.com/p/329d2c0cfca9)