圖像分類

圖像分類---深度學(xué)習(xí)

cifarclassify

實現(xiàn)常用圖像分類算法

CV-News-Classification

圖像分類入門 -圖像分類的概念

背景與意義

所謂圖像分類問題,就是已有固定的分類標(biāo)簽集合,然后對于輸入的圖像,從分類標(biāo)簽集合中找出一個分類標(biāo)簽,最后把分類標(biāo)簽分配給該輸入圖像。雖然看起來挺簡單的,但這可是計算機視覺領(lǐng)域的核心問題之一,并且有著各種各樣的實際應(yīng)用。在后面的課程中,我們可以看到計算機視覺領(lǐng)域中很多看似不同的問題(比如物體檢測和分割),都可以被歸結(jié)為圖像分類問題。

一個簡單的例子

以下圖為例,圖像分類模型讀取該圖片,并生成該圖片屬于集合 {cat, dog, hat, mug}中各個標(biāo)簽的概率。需要注意的是,對于計算機來說,圖像是一個由數(shù)字組成的巨大的3維數(shù)組。在這個例子中,貓的圖像大小是寬248像素,高400像素,有3個顏色通道,分別是紅、綠和藍(簡稱RGB)。如此,該圖像就包含了248X400X3=297600個數(shù)字,每個數(shù)字都是在范圍0-255之間的整型,其中0表示全黑,255表示全白。我們的任務(wù)就是把這些上百萬的數(shù)字變成一個簡單的標(biāo)簽,比如“貓”。


image.png

圖像分類的任務(wù),就是對于一個給定的圖像,預(yù)測它屬于的那個分類標(biāo)簽(或者給出屬于一系列不同標(biāo)簽的可能性)。圖像是3維數(shù)組,數(shù)組元素是取值范圍從0到255的整數(shù)。數(shù)組的尺寸是寬度x高度x3,其中這個3代表的是紅、綠和藍3個顏色通道。


分類的種類

圖像分類包括通用圖像分類、細(xì)粒度圖像分類等。圖1展示了通用圖像分類效果,即模型可以正確識別圖像上的主要物體。

圖片

圖1. 通用圖像分類

圖2展示了細(xì)粒度圖像分類-花卉識別的效果,要求模型可以正確識別花的類別。
圖片

圖2. 細(xì)粒度圖像分類展示

分類的難點

對于人來說,識別出一個像“貓”一樣視覺概念是簡單至極的,然而從計算機視覺算法的角度來看就值得深思了。我們在下面列舉了計算機視覺算法在圖像識別方面遇到的一些難點,要記住圖像是以3維數(shù)組來表示的,數(shù)組中的元素是亮度值。

  • 視角變化(Viewpoint variation):同一個物體,攝像機可以從多個角度來展現(xiàn)。
  • 大小變化(Scale variation):物體可視的大小通常是會變化的(不僅是在圖片中,在真實世界中大小也是變化的)。
  • 形變(Deformation):很多東西的形狀并非一成不變,會有很大變化。
  • 遮擋(Occlusion):目標(biāo)物體可能被擋住。有時候只有物體的一小部分(可以小到幾個像素)是可見的。
  • 光照條件(Illumination conditions):在像素層面上,光照的影響非常大。
  • 背景干擾(Background clutter):物體可能混入背景之中,使之難以被辨認(rèn)。
  • 類內(nèi)差異(Intra-class variation):一類物體的個體之間的外形差異很大,比如椅子。這一類物體有許多不同的對象,每個都有自己的外形。

圖片

面對以上所有變化及其組合,好的圖像分類模型能夠在維持分類結(jié)論穩(wěn)定的同時,保持對類間差異足夠敏感。


常用的圖像數(shù)據(jù)集

數(shù)據(jù)是視覺識別研究中最重要的因素之一,通 常我們更多關(guān)注于模型、算法本身,事實上,數(shù)據(jù)在 視覺任務(wù)中的作用越來越明顯.大數(shù)據(jù)時代的到來, 也使得研究人員開始更加重視數(shù)據(jù).在數(shù)據(jù)足夠多 的情況下,我們甚至可以使用最簡單的模型、算法, 比如最近鄰分類、樸素貝葉斯分類器都能得到很好 的效果.鑒于數(shù)據(jù)對算法的重要性,我們將在本節(jié)對 視覺研究中物體分類與檢測方面的主流數(shù)據(jù)集進行概 述。

圖片

MNIST 數(shù)據(jù)集

早期物體分類研究集中于一些較為簡單的特定 任務(wù),如OCR、形狀分類等.OCR中數(shù)字手寫識別 是一個得到廣泛研究的課題,相關(guān)數(shù)據(jù)庫中最著名 的是MNIST數(shù)據(jù)庫.MNIST是一個數(shù)字手寫識 別領(lǐng)域的標(biāo)準(zhǔn)評測數(shù)據(jù)集,數(shù)據(jù)庫大小是60000,一 共包含10類阿拉伯?dāng)?shù)字,每類提供5000張圖像進 行訓(xùn)練,1000張進行測試.MNIST的圖像大小為 28×28,即784維,所有圖像為手寫數(shù)字,存在較大 的形變.

CIFAR 數(shù)據(jù)集

CIFAR-10和CIFAR-100數(shù)據(jù)庫是Tiny images的兩個子集,分別包含了10類和100類物 體類別.這兩個數(shù)據(jù)庫的圖像尺寸都是32×32,而 且是彩色圖像.CIFAR-10包含6萬的圖像,其中 5萬用于模型訓(xùn)練,1萬用于測試,每一類物體有 5000張圖像用于訓(xùn)練,1000張圖像用于測試. CIFAR-100與CIFAR-10組成類似,不同的是包含 了更多的類別:20個大類,大類又細(xì)分為100個小 類別,每類包含600張圖像.CIFAR-10和CIFAR-100數(shù)據(jù)庫尺寸較小,但是數(shù)據(jù)規(guī)模相對較大,非常 適合復(fù)雜模型特別是深度學(xué)習(xí)模型訓(xùn)練,因而成為 深度學(xué)習(xí)領(lǐng)域主流的物體識別評測數(shù)據(jù)集.

Caltech 數(shù)據(jù)集

Caltech-101是第一個規(guī)模較大的一般物體識 別標(biāo)準(zhǔn)數(shù)據(jù)庫,除背景類別外,它一共包含了101類 物體,共9146張圖像,每類中圖像數(shù)目從40到800 不等,圖像尺寸也達到300左右.Caltech-101是以 物體為中心構(gòu)建的數(shù)據(jù)庫,每張圖像基本只包含一 個物體實例,且居于圖像中間位置.物體尺寸相對圖 像尺寸比例較大,且變化相對實際場景來說不大,比 較容易識別.Caltech-101每類的圖像數(shù)目差別較 大,有些類別只有很少的訓(xùn)練圖像,也約束了可以使 用的訓(xùn)練集大小.Caltech-256與類Caltech-101類 似,區(qū)別是物體類別從101類增加到了256類,每類 包含至少80張圖像.圖像類別的增加,也使得 Caltech-256上的識別任務(wù)更加困難,使其成為檢 驗算法性能與擴展性的新基準(zhǔn)。

15 Scenes 數(shù)據(jù)集

15 Scenes是由Lazebnik等人在Li等人的13 Scenes數(shù)據(jù)庫的基礎(chǔ)上加入了兩個新的場景構(gòu)成的,一共有15個 自然場景,4485張圖像,每類大概包含200~400張 圖像,圖像分辨率約為300×250.15 Scenes數(shù)據(jù)庫 主要用于場景分類評測,由于物體分類與場景分類 在模型與算法上差別不大,該數(shù)據(jù)庫也在圖像分類 問題上得到廣泛的使用

PASCAL VOC 數(shù)據(jù)集

PASCAL VOC從2005年到2012年每年都發(fā)布關(guān)于分類、檢測、分割等任務(wù)的數(shù)據(jù)庫,并在相應(yīng)數(shù)據(jù)庫上舉行了算法競賽,極大地推動了視覺研究的發(fā)展進步.最初2005年P(guān)ASCAL VOC數(shù)據(jù)庫只包含人、自行車、摩托車、汽車共4類,2006年類別數(shù)目增加到10類,2007年開始類別數(shù)目固定為20類,以后每年只增加部分樣本.PACAL VOC數(shù)據(jù)庫中物體類別均為日常生活中常見的物體,如交通工具、室內(nèi)家具、人、動物等.PASCAL VOC數(shù)據(jù)庫共包含9963張圖片,圖片來源包括filker等互聯(lián)網(wǎng)站點以及其他數(shù)據(jù)庫,每類大概包含96~2008張圖像,均為一般尺寸的自然圖像.PASCAL VOC數(shù)據(jù)庫與Caltech-101相比,雖然類別數(shù)更少,但由于圖像中物體變化極大,每張圖像可能包含多個不同類別物體實例,且物體尺度變化很大,因而分類與檢測難度都非常大.該數(shù)據(jù)庫的提出,對物體分類與檢測的算法提出了極大的挑戰(zhàn),也催生了大批優(yōu)秀的理論與算法,將物體識別的研究推向了一個新的高度.

ImageNet 數(shù)據(jù)集

隨著分類與檢測算法的進步,很多算法在以上 提到的相關(guān)數(shù)據(jù)庫上性能都接近飽和,同時隨著大 數(shù)據(jù)時代的到來、硬件技術(shù)的發(fā)展,也使得在更大規(guī) 模的數(shù)據(jù)庫上進行研究和評測成為必然.ImageNet是由Li主持構(gòu)建的大規(guī)模圖像數(shù)據(jù)庫,圖像類別按照WordNet構(gòu)建,全庫截止2013年共有1400萬張圖像,2.2萬個類別,平均每類包含1000張圖像.這是目前視覺識別領(lǐng)域最大的有標(biāo)注的自然圖像分辨率的數(shù)據(jù)集,盡管圖像本身基本還是以目標(biāo)為中心構(gòu)建的,但是海量的數(shù)據(jù)和海量的圖像類別,使得該數(shù)據(jù)庫上的分類任務(wù)依然極具挑戰(zhàn)性.除此 之外,ImageNet還構(gòu)建了一個包含1000類物體 120萬圖像的子集,并以此作為ImageNet大尺度視 覺識別競賽的數(shù)據(jù)平臺,也逐漸成為物體分類算法 評測的標(biāo)準(zhǔn)數(shù)據(jù)集.

SUN數(shù)據(jù)集

SUN數(shù)據(jù)庫的構(gòu)建是希望給研究人員提供一個覆蓋較大場景、位置、人物變化的數(shù)據(jù)庫,庫中的場景名是從WordNet中的所有場景名稱中得來的.SUN數(shù)據(jù)庫包含兩個評測集,一個是場景識別數(shù)據(jù)集,稱為SUN-397,共包含397類場景,每類至少包含100張圖片,總共有108754張圖像.另一個評測集為物體檢測數(shù)據(jù)集,稱為SUN2012,包含16873張圖像。

Tiny images 數(shù)據(jù)集

Tiny images是一個圖像規(guī)模更大的數(shù)據(jù)庫, 共包含7900萬張32×32圖像,圖像類別數(shù)目有 7.5萬,盡管圖像分辨率較低,但還是具有較高的區(qū)分度,而其絕無僅有的數(shù)據(jù)規(guī)模,使其成為大規(guī)模分 類、檢索算法的研究基礎(chǔ).

我們也可以發(fā)現(xiàn),物體類別越多,導(dǎo)致類間差越小,分類與檢測任務(wù)越困難,圖像數(shù)目、圖像尺寸的大小,則直接對算法的可擴展性提出了更高的要求, 如何在有限時間內(nèi)高效地處理海量數(shù)據(jù)、進行準(zhǔn)確 的目標(biāo)分類與檢測成為當(dāng)前研究的熱點.

圖像分類入門 2-圖像分類的基本方法

傳統(tǒng)的圖像分類方法

一般來說,圖像分類通過手工特征或特征學(xué)習(xí)方法對整個圖像進行全部描述,然后使用分類器判別物體類別,因此如何提取圖像的特征至關(guān)重要。在深度學(xué)習(xí)算法之前使用較多的是基于詞袋(Bag of Words)模型的物體分類方法。詞袋方法從自然語言處理中引入,即一句話可以用一個裝了詞的袋子表示其特征,袋子中的詞為句子中的單詞、短語或字。對于圖像而言,詞袋方法需要構(gòu)建字典。最簡單的詞袋模型框架可以設(shè)計為底層特征抽取、特征編碼、分類器設(shè)計三個過程。

模型簡介

圖像識別領(lǐng)域大量的研究成果都是建立在PASCAL VOC、ImageNet等公開的數(shù)據(jù)集上,很多圖像識別算法通常在這些數(shù)據(jù)集上進行測試和比較。PASCAL VOC是2005年發(fā)起的一個視覺挑戰(zhàn)賽,ImageNet是2010年發(fā)起的大規(guī)模視覺識別競賽(ILSVRC)的數(shù)據(jù)集,本節(jié)中我們基于這些競賽介紹圖像分類模型。

詞袋模型(Bag-of-Words)

詞袋模型(Bag-of- Words)最初產(chǎn)生于自然語言 處理領(lǐng)域,通過建模文檔中單詞出現(xiàn)的頻率來對文檔進行描述與表達.簡單說就是講每篇文檔都看成一個袋子(因為里面裝的都是詞匯,所以稱為詞袋,Bag of words即因此而來),然后看這個袋子里裝的都是些什么詞匯,將其分類。如果文檔中豬、馬、牛、羊、山谷、土地、拖拉機這樣的詞匯多些,而銀行、大廈、汽車、公園這樣的詞匯少些,我們就傾向于判斷它是一篇描繪鄉(xiāng)村的文檔,而不是描述城鎮(zhèn)的.Csurka等人于2004年首次 將詞包的概念引入計算機視覺領(lǐng)域,由此開始大量 的研究工作集中于詞包模型的研究。在2012年之前,詞袋模型是VOC競賽 中物體分類算法的基本框架,幾乎所有的參賽算法 都是基于詞袋模型。通常完整建立圖像識別模型一般包括底層特征提取、特征編碼、空間約束、分類器設(shè)計、模型融合等幾個階段。

圖片

向量中每個元素表示詞典中相關(guān)元素在文檔中出現(xiàn)的次數(shù)。不過,在構(gòu)造文檔向量的過程中可以看到,我們并沒有表達單詞在原來句子中出現(xiàn)的次序(這是本Bag-of-words模型的缺點之一,不過瑕不掩瑜甚至在此處無關(guān)緊要)

  • 底層特征提取: 底層特征提取是物體分類框架中的第一步,底層特征提取方式有兩種:一種是基于興趣點檢測,另一種是采用密集提取的方式。
    • 興趣點檢測算法通過某種準(zhǔn)則選擇具有明確定義的、局部紋理特征比較明顯的像素點、邊緣、角點、區(qū)塊等,并且通常能夠獲得一定的幾何不變性,從而可以在較小的開銷下得到更有意義的表達,最常用的興趣點檢測算子有Harris角點檢測子、FAST(Features from Accelerated Segment Test)算子、 LoG(Laplacian of Gaussian)、DoG(Difference of Gaussian)等。
    • 密集提取的方式則是從圖像中按固定的步長、尺度提取出大量的局部特征描述,大量的局部描述盡管具有更高的冗余度,但信息更加豐富,后面再使用詞包模型進行有效表達后通常可以得到比興趣點檢測更好的性能.常用的局部特征包括SIFT(Scale-Invariant Feature Transform,尺度不變特征轉(zhuǎn)換)、HOG(Histogram of Oriented Gradient,方向梯度直方圖)、LBP(Local Binary Pattern,局部二值模式)等等。

從上表可以看出,2012年之前歷年最好的物體分類算法都采用了多種特征年采樣方式上密集提取與興趣點檢測相結(jié)合,底層特征描述也采用了多種特征描述子,這樣做的好處是,在底層特征提取階段,通過提取到大量的冗余特征,最大限度的對圖像進行底層描述,防止丟失過多的有用信息,這些底層描述中的冗余信息主要靠后面的特征編碼和特征匯聚得到抽象和簡并。事實上,近年來得到廣泛關(guān)注的深度學(xué)習(xí)理論中一個重要的觀點就是手工設(shè)計的底層特征描述子作為視覺信息處理的第一步,往往會過早地丟失有用的信息,直接從圖像像素學(xué)習(xí)到任務(wù)相關(guān)的特征描述是比手工特征更為有效的手段。

  • 特征編碼: 密集提取的底層特征中包含大量的冗余與噪聲,為提高特征表達的魯棒性,需要使用一種特征變換算法對底層特征進行編碼,從而獲得更具區(qū)分性、更加魯棒的特征表達,這一步對物體識別的性能具有至關(guān)重要的作用,因而大量的研究工作都集中在尋找更加強大的特征編碼方法,重要的特征編碼算法包括向量量化編碼、核詞典編碼、稀疏編碼、局部線性約束編碼、顯著性編碼、Fisher向量編碼、超向量編碼等。

    • 向量量化編碼:向量量化編碼是簡單的特征編碼,它的出現(xiàn)甚至比詞包模型的提出還要早.向量量化編碼是通過一種量化的思想,使用一個較小的特征集合(視覺詞 典)來對底層特征進行描述,達到特征壓縮的目的. 向量量化編碼只在最近的視覺單詞上響應(yīng)為1,因而又稱為硬量化編碼、硬投票編碼,這意味著向量量化編碼只能對局部特征進行很粗糙的重構(gòu).但向量量化編碼思想簡單、直觀,也比較容易高效實現(xiàn),因而從2005年第一屆PASCAL VOC競賽以來,就得到了廣泛的使用.
    • 軟量化編碼(核詞典編碼):在實際圖像中,圖像局部特征常常存在一定的模糊性,即一個局部特征可能和多個視覺單詞差別很小,這個時候若使用向量量化編碼將只利用距離最近的視覺單詞,而忽略了其他相性很高的視覺單詞.為了克服這種模糊性問題, van Gemert 等人提出了軟量化編碼(又稱核視覺詞典編碼)算法:局部特征不再使用一個視覺單詞描述,而是由距離最近的犓個視覺單詞加權(quán)后進行描述,有效解決了視覺單詞的模糊性問題,提高了物體識別的精度。
    • 稀疏編碼:稀疏表達理論近年來在視覺研究領(lǐng)域得到了大量的關(guān)注,稀疏編碼通過最小二乘重構(gòu)加入稀疏約束來實現(xiàn)在一個過完備基上響應(yīng)的稀疏性。約束是最直接的稀疏約束,但通常很難進行優(yōu)化,近年來更多使用的是約束, 可以更加有效地進行迭代優(yōu)化,得到稀疏表達.2009年Yang等人將稀疏編碼應(yīng)用到物體分類領(lǐng)域, 替代了之前的向量量化編碼和軟量化編碼,得到一 個高維的高度稀疏的特征表達,大大提高了特征表達的線性可分性,僅僅使用線性分類器就得到了當(dāng)時最好的物體分類結(jié)果,將物體分類的研究推向了 一個新的高度上.稀疏編碼在物體分類上的成功也不難理解,對于一個很大的特征集合(視覺詞典),一個物體通常只和其中較少的特征有關(guān),例如,自行車通常和表達車輪、車把等部分的視覺單詞密切相關(guān), 與飛機機翼、電視機屏幕等關(guān)系很小,而行人則通常在頭、四肢等對應(yīng)的視覺單詞上有強響應(yīng).但稀疏編碼存在一個問題,即相似的局部特征可能經(jīng)過稀疏編碼后在不同的視覺單詞上產(chǎn)生響應(yīng),這種變換的不 連續(xù)性必然會產(chǎn)生編碼后特征的不匹配,影響特征 的區(qū)分性能.
    • 局部線性約束編碼:為了解決稀疏編碼產(chǎn)生的特征不匹配問題,研究人員又提出了局部線性約束編碼。它通過加入局部線性約束,在一個局 部流形上對底層特征進行編碼重構(gòu),這樣既可以保 證得到的特征編碼不會有稀疏編碼存在的不連續(xù)問 題,也保持了稀疏編碼的特征稀疏性.局部線性約束 編碼中,局部性是局部線性約束編碼中的一個核心 思想,通過引入局部性,一定程度上改善了特征編碼 過程的連續(xù)性問題,即距離相近的局部特征在經(jīng)過 編碼之后應(yīng)該依然能夠落在一個局部流形上.局部 線性約束編碼可以得到稀疏的特征表達,與稀疏編 碼不同之處就在于稀疏編碼無法保證相近的局部特 征編碼之后落在相近的局部流形.從上表可以看出, 2009年的分類競賽冠軍采用了混合高斯模型聚類 和局部坐標(biāo)編碼(局部線性約束編碼是其簡化版 本),僅僅使用線性分類器就取得了非常好的性能.
    • 顯著性編碼:顯著性編 碼引入了視覺顯著性的概念,如果一個局部特征 到最近和次近的視覺單詞的距離差別很小,則認(rèn)為 這個局部特征是不“顯著的”,從而編碼后的響應(yīng)也 很小.顯著性編碼通過這樣很簡單的編碼操作,在 Caltech101/256,PASCAL VOC2007等數(shù)據(jù)庫上 取得了非常好的結(jié)果,而且由于是解析的結(jié)果,編碼 速度也比稀疏編碼快很多.Huang等人發(fā)現(xiàn)顯著 性表達配合最大值匯聚在特征編碼中有重要的作 用,并認(rèn)為這正是稀疏編碼、局部約束線性編碼等之 所以在圖像分類任務(wù)上取得成功的原因.
    • 超向量編 碼與Fisher向量編碼:超向量編 碼,F(xiàn)isher向量編碼是近年提出的性能最好的 特征編碼方法,其基本思想有相似之處,都可以認(rèn)為 是編碼局部特征和視覺單詞的差.Fisher向量編碼 同時融合了產(chǎn)生式模型和判別式模型的能力,與傳 統(tǒng)的基于重構(gòu)的特征編碼方法不同,它記錄了局部 特征與視覺單詞之間的一階差分和二階差分.超向 量編碼則直接使用局部特征與最近的視覺單詞的差 來替換之前簡單的硬投票.這種特征編碼方式得到 的特征向量表達通常是傳統(tǒng)基于重構(gòu)編碼方法的 M倍(M是局部特征的維度).盡管特征維度要高出 很多,超向量編碼和Fisher向量編碼在PASCAL VOC、ImageNet等極具挑戰(zhàn)性、大尺度數(shù)據(jù)庫上獲 得了當(dāng)時最好的性能,并在圖像標(biāo)注、圖像分類、圖 像檢索等領(lǐng)域得到應(yīng)用.2011年ImageNet分類競 賽冠軍采用了超向量編碼,2012年VOC競賽冠軍 則是采用了向量量化編碼和Fisher向量編碼.
  • 空間特征約束: 特征編碼之后一般會經(jīng)過空間特征約束,也稱作空間特征匯聚。特征匯聚是指在一個空間范圍內(nèi),對每一維特征取最大值或者平均值,可以獲得一個緊致的、一定特征不變形的特征表達,同時也避免了使用特征 集進行圖像表達的高額代價.金字塔特征匹配是一種常用的特征聚會方法,這種方法提出將圖像均勻分塊,在分塊內(nèi)做特征匯聚。

  • 通過分類器分類: 經(jīng)過前面步驟之后一張圖像可以用一個固定維度的向量進行描述,接下來就是學(xué)習(xí)一個分類器對圖像進行分類。通常使用的分類器包括K緊鄰、神經(jīng)網(wǎng)絡(luò)、SVM(Support Vector Machine, 支持向量機)、隨機森林等。而使用核方法的SVM是最為廣泛的分類器,在傳統(tǒng)圖像分類任務(wù)上性能很好。

圖像分類入門 3-圖像分類的基本方法

深度學(xué)習(xí)模型

深度學(xué)習(xí)模型是另一類物體分類算法,其基本思想是通過有監(jiān)督或者無監(jiān)督的方式學(xué)習(xí)層次化的特征表達,來對物體進行從底層到高層的描述.主流的深度學(xué)習(xí)模型包括自動編碼器(Auto-encoder)、受限波爾茲曼機(Restricted Boltzmann Machine,RBM)、深度信念網(wǎng)絡(luò)(Deep Belief Nets,DBN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、生物啟發(fā)式模型等.

  • 自動編碼器:自動編碼器(Auto-encoder)是20世紀(jì)80年代提出的一種特殊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并且在數(shù)據(jù)降維、特征提取等方面得到廣泛應(yīng)用.自動編碼器由編碼器和解碼器組成,編碼器將數(shù)據(jù)輸入變換到隱藏層表達,解碼器則負(fù)責(zé)從隱藏層恢復(fù)原始輸入.隱藏層單元數(shù)目通常少于數(shù)據(jù)輸入維度,起著類似“瓶頸”的作用,保持?jǐn)?shù)據(jù)中最重要的信息,從而實現(xiàn)數(shù)據(jù)降維與特征編碼.自動編碼器是基于特征重構(gòu)的無監(jiān)督特征學(xué)習(xí)單元,加入不同的約束,可以得到不同的變化,包括去噪自動編碼器(Denoising Autoencoders)、稀疏自動編碼器(Sparse Autoencoders)等,這些方法在數(shù)字手寫 識別、圖像分類等任務(wù)上取得了非常好的結(jié)果.

  • 受限玻爾茲曼機是一種無向二分圖模型,是 一種典型的基于能量的模型(Energy Based Models,EBM).之所以稱為“受限”,是指在可視層和隱藏層之間有連接,而在可視層內(nèi)部和隱藏層內(nèi)部不存在連接.受限玻爾茲曼機的這種特殊結(jié)構(gòu),使得它具有很好的條件獨立性,即給定隱藏層單元,可視層單元之間是獨立的,反之亦然.這個特性使得它可以實現(xiàn)同時對一層內(nèi)的單元進行并行Gibbs采樣.受限玻爾茲曼機通常采用對比散度(Contrastive Divergence,CD)算法進行模型學(xué)習(xí).受限玻爾茲曼機作為一種無監(jiān)督的單層特征學(xué)習(xí)單元,類似于前面提到的特征編碼算法,事實上加了稀疏約束的受限玻爾茲曼機可以學(xué)到類似稀疏編碼那樣的Gabor 濾波器模式.

  • 深度信念網(wǎng)絡(luò)(DBN)是一種層次化的無 向圖模型.DBN的基本單元是RBM(Restricted Boltzmann Machine),首先先以原始輸入為可視層, 訓(xùn)練一個單層的RBM,然后固定第一層RBM權(quán)重,以RBM隱藏層單元的響應(yīng)作為新的可視層,訓(xùn)練下一層的RBM,以此類推.通過這種貪婪式的監(jiān)督訓(xùn)練,可以使整個DBN模型得到一個比較好的初始值,然后可以加入標(biāo)簽信息,通過產(chǎn)生式或者判別式方式,對整個網(wǎng)絡(luò)進行有監(jiān)督的精調(diào),進一步改善網(wǎng)絡(luò)性能.DBN的多層結(jié)構(gòu),使得它能夠?qū)W習(xí)得到層次化的特征表達,實現(xiàn)自動特征抽象,而無監(jiān)督預(yù)訓(xùn)練過程則極大改善了深度神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)量不夠時嚴(yán)重的局部極值問題.Hinton等人通過這種方式,成功將其應(yīng)用于手寫數(shù)字識別、語音識別、基于內(nèi)容檢索等領(lǐng)域.

  • 卷積神經(jīng)網(wǎng)絡(luò)(CNN)最早出現(xiàn)在20世紀(jì) 80年代,最初應(yīng)用于數(shù)字手寫識別,取得了一定的成功.然而,由于受硬件的約束,卷積神經(jīng)網(wǎng)絡(luò)的高強度計算消耗使得它很難應(yīng)用到實際尺寸的目標(biāo)識別任務(wù)上.Hubel和Wiesel在貓視覺系統(tǒng)研究工作的基礎(chǔ)上提出了簡單、復(fù)雜細(xì)胞理論,設(shè)計出來一 種人工神經(jīng)網(wǎng)絡(luò),之后發(fā)展成為卷積神經(jīng)網(wǎng)絡(luò).卷積神經(jīng)網(wǎng)絡(luò)主要包括卷積層和池化層,卷積層通過用固定大小的濾波器與整個圖像進行卷積,來模擬Hubel和Wiesel提出的簡單細(xì)胞.池化層則是一種降采樣操作,通過取卷積得到的特征圖中局部區(qū)塊的最大值、平均值來達到降采樣的目的,并在這個過程中獲得一定的不變性.池化層用來模擬Hubel和Wiesel理論中的復(fù)雜細(xì)胞.在每層的響應(yīng)之后通常還會有幾個非線性變換,如sigmoid、tanh、relu等, 使得整個網(wǎng)絡(luò)的表達能力得到增強.在網(wǎng)絡(luò)的最后通常會增加若干全連通層和一個分類器,如 softmax分類器、RBF分類器等.卷積神經(jīng)網(wǎng)絡(luò)中卷積層的濾波器是各個位置共享的,因而可以大大降低參數(shù)的規(guī)模,這對防止模型過于復(fù)雜是非常有益的,另一方面,卷積操作保持了圖像的空間信息,因而特別適合于對圖像進行表達


圖片

CNN網(wǎng)絡(luò)示例


  • 卷積層(convolution layer): 執(zhí)行卷積操作提取底層到高層的特征,發(fā)掘出圖片局部關(guān)聯(lián)性質(zhì)和空間不變性質(zhì)。卷積層在CNN中扮演著很重要的角色——特征的抽象和提取
  • 池化層(pooling layer): 執(zhí)行降采樣操作。通過取卷積輸出特征圖中局部區(qū)塊的最大值(max-pooling)或者均值(avg-pooling)。降采樣也是圖像處理中常見的一種操作,可以過濾掉一些不重要的高頻信息。池化操作(Pooling)用于卷積操作之后,其作用在于特征融合和降維,其實也是一種類似卷積的操作,只是池化層的所有參數(shù)都是超參數(shù),都是不用學(xué)習(xí)得到的。
  • 全連接層(fully-connected layer,或者fc layer): 輸入層到隱藏層的神經(jīng)元是全部連接的。
    它還有一個作用是去除空間信息(通道數(shù)),是一種將三維矩陣變成向量的過程(一種全卷積操作)
  • 非線性變化: 卷積層、全連接層后面一般都會接非線性變化層,例如Sigmoid、Tanh、ReLu等來增強網(wǎng)絡(luò)的表達能力,在CNN里最常使用的為ReLu激活函數(shù)。
  • Dropout [10] : 在模型訓(xùn)練階段隨機讓一些隱層節(jié)點權(quán)重不工作,提高網(wǎng)絡(luò)的泛化能力,一定程度上防止過擬合。

下面是卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域中比較有名的幾種結(jié)構(gòu):

  • LeNet: 第一個成功的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用,是Yann LeCun在上世紀(jì)90年代實現(xiàn)的。當(dāng)然,最著名還是被應(yīng)用在識別數(shù)字和郵政編碼等的LeNet結(jié)構(gòu)。

  • AlexNet:AlexNet卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺領(lǐng)域中受到歡迎,它由Alex Krizhevsky,Ilya Sutskever和Geoff Hinton實現(xiàn)。AlexNet在2012年的ImageNet ILSVRC 競賽中奪冠,性能遠遠超出第二名(16%的top5錯誤率,第二名是26%的top5錯誤率)。這個網(wǎng)絡(luò)的結(jié)構(gòu)和LeNet非常類似,但是更深更大,并且使用了層疊的卷積層來獲取特征(之前通常是只用一個卷積層并且在其后馬上跟著一個池化層)。

  • GoogLeNet: ILSVRC 2014的勝利者是谷歌的Szeged等實現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)。它主要的貢獻就是實現(xiàn)了一個奠基模塊,它能夠顯著地減少網(wǎng)絡(luò)中參數(shù)的數(shù)量(AlexNet中有60M,該網(wǎng)絡(luò)中只有4M)。還有,這個論文中沒有使用卷積神經(jīng)網(wǎng)絡(luò)頂部使用全連接層,而是使用了一個平均池化,把大量不是很重要的參數(shù)都去除掉了。GooLeNet還有幾種改進的版本,最新的一個是Inception-v4。

  • VGGNet: ILSVRC 2014的第二名是Karen Simonyan和 Andrew Zisserman實現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò),現(xiàn)在稱其為VGGNet。它主要的貢獻是展示出網(wǎng)絡(luò)的深度是算法優(yōu)良性能的關(guān)鍵部分。他們最好的網(wǎng)絡(luò)包含了16個卷積/全連接層。網(wǎng)絡(luò)的結(jié)構(gòu)非常一致,從頭到尾全部使用的是3x3的卷積和2x2的池化。他們的預(yù)訓(xùn)練模型是可以在網(wǎng)絡(luò)上獲得并在Caffe中使用的。VGGNet不好的一點是它耗費更多計算資源,并且使用了更多的參數(shù),導(dǎo)致更多的內(nèi)存占用(140M)。其中絕大多數(shù)的參數(shù)都是來自于第一個全連接層。后來發(fā)現(xiàn)這些全連接層即使被去除,對于性能也沒有什么影響,這樣就顯著降低了參數(shù)數(shù)量。

  • ResNet: 殘差網(wǎng)絡(luò)(Residual Network)是ILSVRC2015的勝利者,由何凱明等實現(xiàn)。它使用了特殊的跳躍鏈接,大量使用了批量歸一化(batch normalization)。這個結(jié)構(gòu)同樣在最后沒有使用全連接層。讀者可以查看何愷明的的演講(視頻,PPT),以及一些使用Torch重現(xiàn)網(wǎng)絡(luò)的實驗。ResNet當(dāng)前最好的卷積神經(jīng)網(wǎng)絡(luò)模型(2016年五月)。何凱明等最近的工作是對原始結(jié)構(gòu)做一些優(yōu)化,可以看論文Identity Mappings in Deep Residual Networks,2016年3月發(fā)表。

兩類模型的聯(lián)系和區(qū)別

這里我們將最為流行的詞包模型與卷積神經(jīng)網(wǎng)絡(luò)模型進行對比,發(fā)現(xiàn)兩者其實是極為相似的.在詞包模型中,對底層特征進行特征編碼的過程,實際上近似等價于卷積神經(jīng)網(wǎng)絡(luò)中的卷積層,而池化層所進行的操作也與詞包模型中的池化操作一樣.不同之處在于,詞包模型實際上相當(dāng)于只包含了一個卷積層和一個池化層,且模型采用無監(jiān)督方式進行特征表達學(xué)習(xí),而卷積神經(jīng)網(wǎng)絡(luò)則包含了更多層的簡單、復(fù)雜細(xì)胞,可以進行更為復(fù)雜的特征變換,并且其學(xué)習(xí)過程是有監(jiān)督過程的,濾波器權(quán)重可以根據(jù)數(shù)據(jù)與任務(wù)不斷進行調(diào)整,從而學(xué)習(xí)到更有意義的特征表達.從這個角度來看,卷積神經(jīng)網(wǎng)絡(luò)具有更為強大的特征表達能力,因此它在圖像識別任務(wù)中的出色性能就很容易解釋了.

參考文獻

圖像識別

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內(nèi)容