深度學習論文翻譯解析(五):Siamese Neural Networks for One-shot Image Recognition

論文標題:Siamese Neural Networks for One-shot Image Recognition算法

論文做者: Gregory Koch   Richard Zemel Ruslan Salakhutdinov網絡

論文地址:https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf
架構

聲明:小編翻譯論文僅爲學習,若有侵權請聯繫小編刪除博文,謝謝!框架

            小編是一個機器學習初學者,打算認真研究論文,可是英文水平有限,因此論文翻譯中用到了Google,並本身逐句檢查過,但仍是會有顯得晦澀的地方,若有語法/專業名詞翻譯錯誤,還請見諒,並歡迎及時指出。機器學習

 摘要

  爲機器學習應用程序學習一個好的特徵的過程可能在計算上很是昂貴,而且在數據不多的狀況下可能會變得困難。一個典型的例子就是一次學習設置,在這種狀況下,咱們必須僅給出每一個新類的一個示例,就能夠正確的作出預測。在本文中,咱們探索了一種學習孿生神經網絡的方法,該方法採用獨特的結構天然對輸入之間的類似性進行排名。一旦網絡被調整好,咱們就能夠利用強大的判別功能,將網絡的預測能力不只用於新數據,並且適用於未知分佈中的全新類別。使用卷積架構,咱們能夠在單次分類任務上得到近乎最早進的性能,從而超過其餘深度學習模型的強大結果。函數

   人類展示出強大的獲取和識別新模式的能力。特別是,咱們觀察到,當受到刺激時,人們彷佛可以快速理解新概念,而後在未來的感知中認識到這些概念的變化(Lake等,2011)。機器學習已成功用於各類應用程序中的最早進性能,例如Web搜索,垃圾郵件檢測,字幕生成以及語音和圖像識別。可是,當被迫對幾乎沒有監督信息的數據進行預測時,這些算法一般會崩潰。咱們但願概括這些不熟悉的類別,而無需進行大量的從新培訓,因爲數據有限或在在線預測設置(例如網絡檢索)中,從新培訓可能即昂貴又不可能。性能

   圖1:使用Omniglot 數據集進行20次單發分類任務的示例。孤獨的測試圖像顯示在29張圖像的網格上方,表明咱們能夠爲測試圖像選擇的可能看不見的類型。這20張圖片是咱們每一個類別中惟一已知的示例。學習

   一個特別有趣的任務是在這樣的限制下進行分類:咱們可能只觀察每一個可能類的單一示例。這杯稱爲單次學習,這是咱們在該工做中提出的模型的主要重點(Fei-Feiet等,2006;Lake等,2011)。這應該與零散學習區分開來,在零散學習中,模型沒法查看目標類別中的任何示例(Palatucci等,2009)。測試

  經過開發特定領域的功能或推理程序能夠一直解決一次性學習的問題,這些功能或推理程序具備針對目標任務的高度區分性。結果,結合了這些方法的系統在相似狀況下每每會表現出色,但沒法提供可應用於其餘相似問題的可靠解決方案。在本文中,咱們提出了一種新穎的方法,該方法能夠限制輸入結構的假設,同時自動獲取使模型可以成功地從幾個示例中成功推廣的特徵。咱們創建在深度學習框架的基礎上,該框架使用多層非線性來捕獲不變性以在輸入空間中進行變換,一般是經過利用具備許多參數的模型,而後使用大量數據來防止過分擬合(Bengio,2009;Hinton等,2006)。這些功能很是強大,由於咱們能夠在不強加先驗的狀況下學習他們,儘管學習算法自己的成本可能很高。優化

   圖2,咱們的整體策略。1)訓練模型以區分相同/不一樣對的集合。2)根據學習到的特徵映射進行歸納以評估新類別,以進行驗證。

   一般,咱們經過具備監督性的基於度量的方法使用孿生神經網絡來學習圖像表示,而後將該網絡的功能從新用於一次學習,而無需進行任何從新訓練。

  在咱們的實驗中,咱們將注意力集中在字符識別上,儘管基本方法幾乎能夠用於任何形式(圖二)。對於這個領域,咱們使用大量的孿生卷積神經網絡,其中a)可以學習通用圖像特徵,這些特徵對於作出關於未知類分佈的預測很是有用,即便這些新分佈中的例子不多。 b)使用標準優化技術對從元數據採用的對進行輕鬆訓練;c)經過利用深度學習技術,提供了一種不依賴於特定領域知識的競爭性方法。

  要開發用於單次圖像分類的模型,咱們的目標是首先學習一個能夠區分圖像對的類身份的神經網絡,這是圖像識別的標準驗證任務。咱們假設,在驗證方面表現出色的網絡應該推廣到一鍵式分佈。驗證模型學習根據輸入對屬於相同類別或不一樣類別的可能性來識別輸入對。而後可使用該模型以成對的方式針對測試圖像評估新圖像,每一個新穎類剛好一個。而後根據驗證網絡將得分最高的配對授予一次任務的最高几率。若是驗證模型學習到的特徵足以確認或拒絕一組字母中的字符的身份,那麼對於其餘字母來講,他們應該就足夠了,只要該模型已暴露於各類字母中以鼓勵之間的差別學習的功能。

   整體而言,對一次性學習算法的研究還很不成熟,而且機器學習社區對此的關注還頗有限。可是,本文以前還有一些關鍵的工做領域。

  一鍵式學習的開創性工做能夠追溯到2000年初的李飛飛等人。做者開發了一個變種的貝葉斯框架,用於 oneshot 圖像分類,前提是在給定類別中只有不多的示例可用時,能夠利用先前學習的類別來幫助預測將來的類別(Fe-Fei等,2003;Fei-Fei 等)等(2006)。最近,Lake等人。從認知科學的角度解決了一次性學習的問題,經過一種被稱爲「層次貝葉斯程序學習」(HBPL)的方法解決了用於字符識別的一次性學習(2013)。在一系列的幾篇論文中,做者模擬了生成字符的過程,以將圖像分解成小塊(Lake等,2011;2012)。HBPL的目標是肯定所觀察像素的結構說明。可是,因爲聯合參數空間很大,所以在HBPL下進行推理很困難,從而致使難以解決的集成問題。

   一些研究人員考慮了其餘方法或轉移學習方法。湖等。最近有一些工做,該工做針對語言原語來識別未知說話者的新單詞(2014年)。Maas和Kemp在使用貝葉斯網絡預測 Ellis Island 乘客數據的屬性(2009年)的著做中只有少數發表,Wu和Dennis在機器人制動的路徑規劃算法的背景下解決了一次性學習(2012)。Lim着重研究如何經過調整衡量損失函數中的每一個訓練樣本應加權每一個類別多少的度量,來「借用」 訓練集中其餘類別的示例。對於某些類別幾乎沒有示例的數據集,此想法可能頗有用,它提供了一種靈活且連續的方式,將類別間信息歸入模型。

   圖三,用於邏輯分類P的二進制分類的簡單兩層孿生網絡。網絡的結構在頂部和底部進行復制,以造成雙胞胎網絡,每一層都有共享的權重矩陣。

 3,用於圖像驗證的深度孿生網絡

  孿生網絡由Bromley 和 LeCun 於 1990年代首次引入,以解決做爲圖像匹配問題的簽名驗證(Bromley等, 1993)。孿生神經網絡由雙胞胎網絡組成,該雙胞胎網絡接受不一樣的輸入,可是在頂部由能量函數鏈接。此函數在每側的最高層特徵表示之間計算一些度量(圖3)。雙網之間的參數是綁定的,加權綁定保證了兩個及其類似的圖像可能沒法經過各自的網絡映射到特徵空間中很是不一樣的位置,由於每一個網絡都計算相同的功能。並且,網絡是對稱的,所以每當咱們向雙胞胎網絡呈現兩個不一樣的圖像時,最上層的鏈接層將計算相同的度量,就像咱們要呈現相同的兩個圖像但像相對的雙胞胎同樣。

   在LeCun等人中,做者使用了包含兩個項的對比能力函數,以減小類似對的能力並不類似對的能量(2005年)。可是,在本文中,咱們使用雙特徵向量h1和h2之間的加權L1距離結合S型激活,將其映射到區間 [0, 1]。所以,交叉熵目標是訓練網絡的天然選擇。請注意,在LeCun等人中,他們直接學習了類似性指標,該類似性指標由能量損失隱式定義,而咱們按照 Facebook DeepFace論文中的方法(Taigman等人,2014)固定了上述指標。咱們性能最佳的模型在徹底鏈接的層和頂級能量函數以前使用多個卷積層。在許多大型計算機視覺應用中,特別是在圖像識別任務中,卷積神經網絡已經取得了優異的成績(Bengio,2009; Krizhevsky等,2012; Simonyan&Zisserman,2014; Srivastava,2013)。

   有幾個因素使卷積網絡特別有吸引力。局部連通性能夠大大減小模型中的參數數量,從而固有的提供某種形式的內置正則化,儘管卷積層在計算上比標準非線性要貴。一樣,在這些網絡中使用的卷積運算具備直接過濾的解釋,其中每一個特徵圖都與輸入特徵進行卷積,以將模式識別爲像素分組。所以,每一個卷積層的輸出對應於原始輸入控件中的重要控件特徵,併爲簡單變換提供了必定的魯棒性。最後,如今可使用很是快的CUDA庫來構建大型卷積網絡,而無需花費大量的訓練時間(Mnih,2009年; Krizhevsky等人,2012年; Simonyan&Zisserman,2014年)。

  如今,咱們詳細介紹了孿生網絡的結構以及實驗中使用的學習算法的細節。

   咱們的標準模型時一個孿生卷積神經網絡,每一個L層都具備 N1 個單位,其中h1,l 表明第一個雙胞胎在 l 層中的隱藏矢量, h2,l 表明第二隊雙胞胎的相同。咱們在前 L-2 層中僅使用整流線性(ReLU)單元,而在其他層中使用 S型單元。

  該模型由一系列卷積層組成,每一個卷積層使用單個通道,並具備大小可變且固定步長爲1的濾波器。將卷積濾波器的數量指定爲16的倍數以優化性能。網絡將ReLU激活功能應用於輸出特徵圖,還能夠選擇在最大池化以後使用過濾器大小和跨度爲2。所以,沒層中的第K個過濾器採用以下形式:

   其中Wl-1 , l是第 l 層特徵圖的三維張量,咱們採用 * 是有效的卷積運算,對應於僅返回哪些在每一個卷積濾波器和輸入特徵圖之間徹底重疊的結果的輸出單元。

   圖四,選擇用於驗證任務的最佳的卷積架構。沒有顯示連體雙胞胎,但在4096個單位的徹底鏈接層以後當即加入連體,其中計算了向量之間的L1份量方向距離。

  最終卷積層中的單位被展平爲單個向量。該卷積層以後是一個徹底鏈接的層,而後再一層計算每一個孿生雙胞胎之間的感應距離度量,該距離度量被提供給單個S型輸出單元。更準確的說,預測矢量爲 P=),其中 其中σ是S型激活函數。 最後一層在第 (L-1)隱藏層的學習特徵空間上引入度量,並對兩個特徵之間的類似性進行評分。αj是模型在訓練過程當中學習的其餘參數,加權了份量方向距離的重要性。這爲網絡定義了最後的 Lth全鏈接層,該層將兩個孿生雙胞胎相連。

   咱們在上面描述了一個示例(圖4),該示例顯示了咱們考慮的模型的最大版本。該網絡還爲驗證任務中的任何網絡提供了最佳結果。

3.2 Learning

損失功能:令M表明小批量的大小,其中 i 索引第 i 個小批量。如今讓 y(x1, x2) 是一個長度爲M的向量,其中包括小批量的標籤,其中,當 x1 和 x2 來自同一字符類時,咱們假設  y(x1, x2) =1 ,不然,咱們在如下形式中的二進制分類器上強加一個正規化的交叉熵目標:

優化器:這個目標與標準的反向傳播算法結合在一塊兒,在該算法中,因爲權重的關係,整個雙子網絡的梯度是相加的。咱們將學習速率ηj,動量µj和L2正則化權重λj分層定義,從而將小批量大小固定爲128,所以在時間點T的更新規則以下:

   其中 ∇wkj 是相對於某層第 j 個神經元和連續層第 k 個神經元之間權重的偏導數。

權重初始化。咱們從零均值和 10-2的標準差的正態分佈初始化卷積層中的全部網絡權重。誤差也從正態分佈初始化卷積層中的全部網絡權重。誤差也從正態分佈初始化,但平均值爲 0.5,標準差爲10-2。在徹底鏈接的層中,以與卷積層相同的方式來初始化誤差,可是權重時從更寬的正態分佈中得出的,均值爲零,標準差爲 2*10-1。

 學習時間表。儘管咱們爲每一層設置了不一樣的不學了,可是每一個epoch的學習率在網絡上均勻降低了 1%,所以  η(T)j =0.99η(T -1)j。 咱們發現,經過對學習速率進行退火,網絡可以更輕鬆地收斂到局部最小值,而不會陷入錯誤代表。咱們將動量固定爲每層從 0.5 開始,每一個時代線性增長,直達達到值 j,即第 j 層的各個動量項。

  咱們對每一個網絡進行了最多200個epochs的訓練。可是監視了從驗證集中的字母和抽屜隨機生成的320個 oneshot 學習任務集中的一次驗證錯誤。當驗證錯誤在20個epochs內未減小時,咱們根據一次驗證錯誤中止並在最佳時期使用模型的參數。若是在整個學習計劃中驗證錯誤繼續減小,咱們將保存此過程生成的模型的最終狀態。

 超參數優化。咱們仨還有貝葉斯優化框架Whetlab的Beta版來執行超參數選擇。對於學習計劃和正則化超參數,咱們設置分層學習率ηj∈[10-4,10-1],分層動量µj∈[0,1]和分層L2正則化懲罰λj∈[0,0.1]。對於網絡超參數,咱們讓卷積濾波器的大小在3x3到20x20之間變化,而每層中的卷積濾波器的數量在16到256之間(使用16的倍數)變化。全鏈接層的範圍從128打破4096單位不等,也是16的倍數。咱們將優化器設置爲最大化一次驗證設置的準確性。分配給單個Whetlab迭代的分數是在任什麼時候期發現的該指標的最高值。

仿射失真。此外,咱們在訓練集上增長一些仿射失真(圖五)。對於每一個圖像對x1,x2,咱們生成了一對仿射變換T1,T2,以產生x1 = T1(x1),x2 = T2(x2),其中T1,T2由多維均勻分佈隨機肯定。 所以,對於任意變換T,咱們有T =(θ,ρx,ρy,sx,sy,tx,tx),其中θ∈[−10.0,10.0],ρx,ρy∈[−0.3,0.3],sx, sy∈[0.8,1.2]和tx,ty∈[−2,2]。 轉換的每一個這些份量都以0.5的機率包括在內。

   圖5,Omniglot數據集中爲單個字符串生成的隨機放射失真的樣子

4,實驗

  咱們在首先描述的Omniglot數據集的子集上訓練了模型。而後咱們提供有關驗證和單發性能的詳細信息。

4.1 Omniglot 數據集

  Omniglot數據集是由Brenden Lake及其同事在麻省理工學院經過亞馬遜的Mechanical Turk收集的,以產生一個標準的基準,能夠從手寫字符識別領域的一些示例中學習(Lake等,2011)。1Omniglot包含了來自50個字母的示例從諸如拉丁語和韓語等公認的國際語言到不爲人知的當地方言。它還包括一些虛構的字符集,例如Aurek-Besh和Klingon(圖6)。

每一個字母中的字母數量從大約15個字符到最多40個字符不等。這些字母中的全部字符都是由20個抽屜中的每一個抽屜一次生成的,Lake將數據分爲40個字母背景集和10個字母評估集。咱們保留這兩個術語是爲了與能夠從背景集生成的正常訓練,驗證和測試集區分開,以調整模型以進行驗證。背景集用於經過學習超參數和特徵映射來開發模型。相反,評估集僅用於測量單次分類性能。

   圖6. Omniglot數據集包含來自世界各地字母的各類不一樣圖像。

4.2 驗證

  爲了訓練咱們的驗證網絡,咱們經過對隨機相同和不一樣的樣本對進行採樣,將三個不一樣的數據集大小與30000,90000和120000 個訓練示例放在一塊兒。咱們預留了總培訓數據的 60%:50個字母中的30個字母和20個抽屜的12個抽屜。

  咱們固定了每一個字母的訓練樣本數量,以使每一個字母在優化過程當中都能獲得相同的表示,儘管這不能保證每一個字母中的各個字符類。經過添加仿射失真,咱們還生成了與這些大小中的每一個大小的加強版本相對應的數據集的附加副本。咱們爲每一個訓練示例添加了八個變換,所以相應的數據集包含 270000,810000和1350000有效示例。

  爲了監控培訓期間的表現,咱們使用了兩種策略。首先,咱們建立了一個驗證集,用於從10個字母和4個其餘抽屜中提取的10,000個示例對進行驗證。咱們保留了最後10個字母和4個抽屜用於測試,在這裏咱們將它們限制爲與Lake等人使用的相同。 (Lake et al。,2013)。咱們的其餘策略是利用相同的字母和抽屜爲驗證集生成一組320次單次識別試驗,以模擬評估集中的目標任務。實際上,肯定中止時間的第二種方法至少與驗證任務的驗證錯誤同樣有效,所以咱們將其用做終止標準。
  在下表(表1)中,咱們列出了六種可能的訓練集的最終驗證結果,其中列出的測試準確性在最佳驗證檢查點和閾值處報告。咱們報告了六個不一樣訓練運行的結果,這些結果改變了訓練集的大小和切換的失真。

  在圖7中,咱們從驗證任務的前兩個性能最高的網絡中提取了前32個濾波器,這些濾波器在具備仿射失真和圖3所示架構的90k和150k數據集上進行了訓練。過濾器之間的適應性,很容易看出某些過濾器相對於原始輸入空間承擔了不一樣的角色。

   表一,Omniglot驗證任務的準確性(孿生卷積神經網絡)

  圖7,孿生網絡學習到的第一層卷積濾波器的示例。經過過濾器具備不一樣的做用:一些過濾器尋找很是小的逐點特徵,而另外一些過濾器則發揮更大的邊緣檢測器的做用。

 4.3 單樣本學習

  一旦咱們優化了孿生網絡以完成驗證任務,就能夠在一次學習中展現咱們所學功能的區分潛力。假設給定一個測試圖像 X,咱們但願將其分類爲C類之一。咱們還獲得了其餘一些圖像{xc} C c = 1,這是表明這些C類中每一個類別的列向量的集合。如今,咱們可使用 x, xc做爲輸入查詢網絡,範圍爲C=1 .......  c2 而後預測與最大類似度相對應的類別。

   爲了憑經驗估計一次性學習成績,Lake開發了20種字母內部分類任務,其中首先從爲評估集保留的字母中選擇一個字母,而後隨機抽取20個字符。還從評估抽屜池中選擇了二十個抽屜中的兩個。而後,這兩個抽屜將產生二十個字符的樣本。第一個抽屜產生的每一個字符都表示爲測試圖像,並分別與第二個抽屜中的全部二十個字符進行比較,目的是從第二個抽屜的全部字符中預測與測試圖像相對應的類別。圖7顯示了一次學習實驗的一個單獨示例。此過程對全部字母重複兩次,所以,十個評估字母表中的每個都有40個一次學習試驗。這總共構成了400次單次學習試驗,由此計算出分類準確性。

  表2給出了一次性結果。咱們借鑑(Lake等人,2013)的基線結果與咱們的方法進行比較。咱們還包括來自具備兩個徹底鏈接層的非卷積孿生網絡的結果。

   表2. 將每種類型的網絡與基準的最佳單次準確度進行比較。

   咱們的卷積方法達到了92%,比HBPL自己之外的任何模型都強。 這僅略低於人爲錯誤率。 雖然HBPL整體上顯示出更好的結果,但咱們表現最好的卷積網絡並未包含有關字符或筆觸的任何其餘先驗知識,例若有關繪圖過程的生成信息。 這是咱們模型的主要優點。

   表3,MNIST 10 對1 單分類任務的結果

4.4 MNIST單分類訓練

  Omniglot數據集包含少許樣本,用於每種可能的字母類別。所以,原始做者將其稱爲「 MNIST轉置」,其類數遠遠超過訓練實例的數量(Lake等,2013)。咱們認爲監視在Omniglot上訓練的模型能夠很好地推廣到MNIST會頗有意思,在MNIST中,咱們將MNIST中的10位數字視爲字母,而後評估10向單發分類任務。咱們遵循與Omniglot相似的程序,在MNIST測試集上進行了400次單次試驗,但不包括對訓練集的任何微調。全部28x28圖像均被上採樣至35x35,而後提供給咱們的模型的簡化版本,該模型在Omniglot的35x35圖像上進行了訓練,這些圖像被下采樣了3倍。咱們還評估了此任務的最近鄰基線。

  表3顯示了該實驗的結果。最近的鄰居基準提供與Omniglot類似的性能,而卷積網絡的性能降低幅度更大。可是,咱們仍然能夠從Ominglot上學到的功能中得到合理的歸納,而無需對MNIST進行任何培訓。

5,總結

  咱們提出了一種經過首先學習深度卷積暹羅神經網絡進行驗證來執行單發分類的策略。咱們概述了將網絡性能與爲Omniglot數據集開發的現有最新分類器進行比較的新結果。咱們的網絡大大超越了全部可用的基準,而且接近先前做者所得到的最佳數字。咱們認爲,這些網絡在此任務上的強大性能不只代表咱們的度量學習方法能夠實現人類水平的準確性,並且該方法應擴展到其餘領域的單次學習任務,尤爲是圖像分類。

  在本文中,咱們僅考慮經過使用全局仿射變換處理圖像對及其失真來訓練驗證任務。咱們一直在嘗試一種擴展算法,該算法利用有關單個筆劃軌跡的數據來產生最終的計算失真(圖8)。但願經過在筆劃上施加局部仿射變換並將其覆蓋到合成圖像中,咱們但願咱們能夠學習更好地適應新示例中常見變化的特徵。

   圖8.針對Omniglot中不一樣字符的兩組筆畫變形。 列描繪了從不一樣抽屜中抽取的字符。 第1行:原始圖片。 第2行:全局仿射變換。 第3行:筆畫仿射變換。 第4行:在筆劃變換之上分層的全局仿射變換。 請注意,筆畫變形如何會增長噪音並影響各個筆畫之間的空間關係。

相關文章
相關標籤/搜索