4.11 一维到三维推广-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
| 4.10 風(fēng)格代價函數(shù) | 回到目錄 | 4.12 總結(jié) |
一維到三維推廣 (1D and 3D Generalizations of Models)
你已經(jīng)學(xué)習(xí)了許多關(guān)于卷積神經(jīng)網(wǎng)絡(luò)(ConvNets)的知識,從卷積神經(jīng)網(wǎng)絡(luò)框架,到如何使用它進(jìn)行圖像識別、對象檢測、人臉識別與神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換。即使我們大部分討論的圖像數(shù)據(jù),某種意義上而言都是2D數(shù)據(jù),考慮到圖像如此普遍,許多你所掌握的思想不僅局限于2D圖像,甚至可以延伸至1D,乃至3D數(shù)據(jù)。
讓我們回頭看看在第一周課程中你所學(xué)習(xí)關(guān)于2D卷積,你可能會輸入一個14×14的圖像,并使用一個5×5的過濾器進(jìn)行卷積,接下來你看到了14×14圖像是如何與5×5的過濾器進(jìn)行卷積的,通過這個操作你會得到10×10的輸出。
如果你使用了多通道,比如14×14×3,那么相匹配的過濾器可能是5×5×3,如果你使用了多重過濾,比如16,最終你得到的是10×10×16。
事實證明早期想法也同樣可以用于1維數(shù)據(jù),舉個例子,左邊是一個EKG信號,或者說是心電圖,當(dāng)你在你的胸部放置一個電極,電極透過胸部測量心跳帶來的微弱電流,正因為心臟跳動,產(chǎn)生的微弱電波能被一組電極測量,這就是人心跳產(chǎn)生的EKG,每一個峰值都對應(yīng)著一次心跳。
如果你想使用EKG信號,比如醫(yī)學(xué)診斷,那么你將處理1維數(shù)據(jù),因為EKG數(shù)據(jù)是由時間序列對應(yīng)的每個瞬間的電壓組成,這次不是一個14×14的尺寸輸入,你可能只有一個14尺寸輸入,在這種情況下你可能需要使用一個1維過濾進(jìn)行卷積,你只需要一個1×5的過濾器,而不是一個5×5的。
二維數(shù)據(jù)的卷積是將同一個5×5特征檢測器應(yīng)用于圖像中不同的位置(編號1所示),你最后會得到10×10的輸出結(jié)果。1維過濾器可以取代你的5維過濾器(編號2所示),可在不同的位置中應(yīng)用類似的方法(編號3,4,5所示)。
當(dāng)你對這個1維信號使用卷積,你將發(fā)現(xiàn)一個14維的數(shù)據(jù)與5維數(shù)據(jù)進(jìn)行卷積,并產(chǎn)生一個10維輸出。
再一次如果你使用多通道,在這種場景下可能會獲得一個14×1的通道。如果你使用一個EKG,就是5×1的,如果你有16個過濾器,可能你最后會獲得一個10×16的數(shù)據(jù),這可能會是你卷積網(wǎng)絡(luò)中的某一層。
對于卷積網(wǎng)絡(luò)的下一層,如果輸入一個10×16數(shù)據(jù),你也可以使用一個5維過濾器進(jìn)行卷積,這需要16個通道進(jìn)行匹配,如果你有32個過濾器,另一層的輸出結(jié)果就是6×32,如果你使用了32個過濾器的話。
對于2D數(shù)據(jù)而言,當(dāng)你處理10×10×16的數(shù)據(jù)時也是類似的,你可以使用5×5×16進(jìn)行卷積,其中兩個通道數(shù)16要相匹配,你將得到一個6×6的輸出,如果你用的是32過濾器,輸出結(jié)果就是6×6×32,這也是32的來源。
所有這些方法也可以應(yīng)用于1維數(shù)據(jù),你可以在不同的位置使用相同的特征檢測器,比如說,為了區(qū)分EKG信號中的心跳的差異,你可以在不同的時間軸位置使用同樣的特征來檢測心跳。
所以卷積網(wǎng)絡(luò)同樣可以被用于1D數(shù)據(jù),對于許多1維數(shù)據(jù)應(yīng)用,你實際上會使用遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行處理,這個網(wǎng)絡(luò)你會在下一個課程中學(xué)到,但是有些人依舊愿意嘗試使用卷積網(wǎng)絡(luò)解決這些問題。
下一門課將討論序列模型,包括遞歸神經(jīng)網(wǎng)絡(luò)、LCM與其他類似模型。我們將探討使用1D卷積網(wǎng)絡(luò)的優(yōu)缺點,對比于其它專門為序列數(shù)據(jù)而精心設(shè)計的模型。
這也是2D向1D的進(jìn)化,對于3D數(shù)據(jù)來說如何呢?什么是3D數(shù)據(jù)?與1D數(shù)列或數(shù)字矩陣不同,你現(xiàn)在有了一個3D塊,一個3D輸入數(shù)據(jù)。以你做CT掃描為例,這是一種使用X光照射,然后輸出身體的3D模型,CT掃描實現(xiàn)的是它可以獲取你身體不同片段(圖片信息)。
當(dāng)你進(jìn)行CT掃描時,與我現(xiàn)在做的事情一樣,你可以看到人體軀干的不同切片(整理者注:圖中所示為人體軀干中不同層的切片,附CT掃描示意圖,圖片源于互聯(lián)網(wǎng)),本質(zhì)上這個數(shù)據(jù)是3維的。
一種對這份數(shù)據(jù)的理解方式是,假設(shè)你的數(shù)據(jù)現(xiàn)在具備一定長度、寬度與高度,其中每一個切片都與軀干的切片對應(yīng)。
如果你想要在3D掃描或CT掃描中應(yīng)用卷積網(wǎng)絡(luò)進(jìn)行特征識別,你也可以從第一張幻燈片(Convolutions in 2D and 1D)里得到想法,并將其應(yīng)用到3D卷積中。為了簡單起見,如果你有一個3D對象,比如說是14×14×14,這也是輸入CT掃描的寬度與深度(后兩個14)。再次提醒,正如圖像不是必須以矩形呈現(xiàn),3D對象也不是一定是一個完美立方體,所以長和寬可以不一樣,同樣CT掃描結(jié)果的長寬高也可以是不一致的。為了簡化討論,我僅使用14×14×14為例。
如果你現(xiàn)在使用5×5×5過濾器進(jìn)行卷積,你的過濾器現(xiàn)在也是3D的,這將會給你一個10×10×10的結(jié)果輸出,技術(shù)上來說你也可以再×1(編號1所示),如果這有一個1的通道。這僅僅是一個3D模塊,但是你的數(shù)據(jù)可以有不同數(shù)目的通道,那種情況下也是乘1(編號2所示),因為通道的數(shù)目必須與過濾器匹配。如果你使用16過濾器處理5×5×5×1,接下來的輸出將是10×10×10×16,這將成為你3D數(shù)據(jù)卷積網(wǎng)絡(luò)上的一層。
如果下一層卷積使用5×5×5×16維度的過濾器再次卷積,通道數(shù)目也與往常一樣匹配,如果你有32個過濾器,操作也與之前相同,最終你得到一個6×6×6×32的輸出。
某種程度上3D數(shù)據(jù)也可以使用3D卷積網(wǎng)絡(luò)學(xué)習(xí),這些過濾器實現(xiàn)的功能正是通過你的3D數(shù)據(jù)進(jìn)行特征檢測。CT醫(yī)療掃描是3D數(shù)據(jù)的一個實例,另一個數(shù)據(jù)處理的例子是你可以將電影中隨時間變化的不同視頻切片看作是3D數(shù)據(jù),你可以將這個技術(shù)用于檢測動作及人物行為。
總而言之這就是1D、2D及3D數(shù)據(jù)處理,圖像數(shù)據(jù)無處不在,以至于大多數(shù)卷積網(wǎng)絡(luò)都是基于圖像上的2D數(shù)據(jù),但我希望其他模型同樣會對你有幫助。
這是本周最后一次視頻,也是最后一次關(guān)于卷積神經(jīng)網(wǎng)絡(luò)的課程,你已經(jīng)學(xué)習(xí)了許多關(guān)于卷積網(wǎng)絡(luò)的知識,我希望你能夠在未來工作中發(fā)現(xiàn)許多思想對你有所裨益,祝賀你完成了這些視頻學(xué)習(xí),我希望你能喜歡這周的課后練習(xí),接下來關(guān)于順序模型的課程我們不見不散。
參考文獻(xiàn):
-
Florian Schroff, Dmitry Kalenichenko, James Philbin (2015). FaceNet: A Unified Embedding for Face Recognition and Clustering
-
Yaniv Taigman, Ming Yang, Marc’Aurelio Ranzato, Lior Wolf (2014). DeepFace: Closing the gap to human-level performance in face verification
-
The pretrained model we use is inspired by Victor Sy Wang’s implementation and was loaded using his code: https://github.com/iwantooxxoox/Keras-OpenFace
. -
Our implementation also took a lot of inspiration from the official FaceNet github repository: https://github.com/davidsandberg/facenet
-
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, (2015). A Neural Algorithm of Artistic Style (https://arxiv.org/abs/1508.06576
) -
Harish Narayanan, Convolutional neural networks for artistic style transfer. https://harishnarayanan.org/writing/artistic-style-transfer/
-
Log0, TensorFlow Implementation of “A Neural Algorithm of Artistic Style”. http://www.chioka.in/tensorflow-implementation-neural-algorithm-of-artistic-style
-
Karen Simonyan and Andrew Zisserman (2015). Very deep convolutional networks for large-scale image recognition (https://arxiv.org/pdf/1409.1556.pdf
) -
MatConvNet. http://www.vlfeat.org/matconvnet/pretrained/
課程板書
| 4.10 風(fēng)格代價函數(shù) | 回到目錄 | 4.12 總結(jié) |
總結(jié)
以上是生活随笔為你收集整理的4.11 一维到三维推广-深度学习第四课《卷积神经网络》-Stanford吴恩达教授的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.10 风格代价函数-深度学习第四课《
- 下一篇: 4.12 总结-深度学习第四课《卷积神经