「範例卷積神經網絡」和信息最大化

2020-11-29 雷鋒網

雷鋒網(公眾號:雷鋒網)按:本文由圖普科技編譯自《Exemplar CNNs and Information Maximization》,雷鋒網獨家首發。

前幾周,我針對一篇題為《Unsupervised Learning by Predicting Noise》的論文寫了自己的解讀和看法。在文章中,我提到了解讀這一方法的另一個角度——信息最大化,即尋找有限熵數據的非線性表徵,同時最大程度地保留輸入的信息。

在那篇文章中,我簡單地提了一下「Exemplar-CNNs」的方法。這一方法也能被理解為「卷積神經網絡範例」。我是從下面這篇論文中了解到這個方法的:

《 Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》Dosovitskiy, Fischer, Springenberg, Riedmiller & Brox (2014)

在此之前我從沒見過「範例」與「卷積神經網絡」的組合,所以我認為這可能是論文所做的的「首創」。

本文內容摘要:

  • 本文對「範例卷積神經網絡」的訓練方法僅作了簡單簡單的概述,所以如果想要獲得更多、更真實的信息,請閱讀論文原文。

  • 本文簡要介紹了「變分信息最大化」,並將其運用到了「範例卷積神經網絡」的案例中。

  • 我們在案例中只使用了一個數量適中的訓練圖像集,「範例卷積神經網絡」恰恰利用了這一點,把數據分布表示為一個經驗分布(離散有限可能性的分布)。

  • 假設我們離散了分布,使之變得不連續,那麼「範例卷積神經網絡」就能夠被推導成為「種子圖像」和其表徵之間的互信息的一個下界。

「範例卷積神經網絡」概述

在前面提到的論文中,Dosovistkiy等人採用的方法其實很簡單。從一個未經標記的資料庫中取出適量有趣的圖像,把這些圖像稱為「種子圖像」或者是「範例」。你需要對每一個圖像進行各種各樣的轉換,你可以更改「種子圖像」的顏色,或者把它旋轉至不同的方向。而這些轉換後的圖像集合就是一個「代理圖像集」。下圖就是對一隻鹿的「種子圖像」進行各種轉換之後得到的圖像集:


每一張範例圖像都需要經過轉換,形成一個「代理圖像集」。所以,你有多少張「種子圖像」,就會有多少個「代理圖像集」。完成以後,你就可以開始一個卷積網絡的訓練了。你需要讓它通過一張轉換後的圖像,推測其「種子圖像」的各項指數。所以,如果你有8000個「種子圖像」,你就需要解決8000個圖像分類的問題。那麼相應地,你的卷積網絡也就具備了8000維度的分類功能。

當然了,「種子圖像」數量越多,網絡訓練的難度就越大,到最後網絡掌握的分類功能的維度也就越高。論文的作者們表示,8000個「種子圖像」尚在網絡分類功能可處理的範圍之內,而且這8000個圖像的訓練就已足夠讓我們達到比較理想的效果了。

下面我想補充的是——我們在「範例卷積神經網絡」中建立的「馬爾科夫鏈」的圖像模型視圖。

變分信息最大化的視圖

「信息最大化」能夠根據信息測量變量的不同,採取不同的方式來進行表徵學習。為了進一步了解「範例卷積神經網絡」,我們來看下圖的「馬爾科夫鏈」:

上圖中的X表示「種子圖像」,Tαx表示轉換後的圖像(隨機抽樣變換參數α),Z=g(Tαx;Θ)表示採用了隨機圖像並計算了其表徵的一個映射。所以,從Tαx到的Z箭頭事實上是一個確定性映射。

如果我們把z看作是x的表徵,那麼實現「互信息」║[X,Z]的最大化就是有意義的。這個「互信息」有一個下界,這個下界就是標準的「變分下限」。

如果我們的變分集Q涵蓋了真實情境Px∣z,那麼這一下界就是確定的。

「範例卷積神經網絡」的特別之處就在於,它利用了「分布Px實際上是N觀測值的一個經驗分布」這一事實。這是當我們推導一個損失函數時,通常被我們否定的一種情況,只有在最後才能代替經驗分布,構造一個無偏估計值。這裡,我們很大程度上是依靠這樣一個事實——我們只有N觀測值,而且N與數據維度D相比較小。用N來模擬離散分布,比模擬圖像分布要簡單得多。

如果我們有N的「種子圖像」Xn,那麼我們就可以勉強用X來表示下面的經驗分布:

假如Z的分布被稍稍地離散了,那麼賦予Z的情境也會被離散,只是離散的比例不同。

因此,在這種情況下,一個僅根據不同比例離散分布的變分集合Q就變得非常必要了:

上面公式中,W代表的是q的參數,πn(Z,W)表示形成了一個有效的離散概率分布。這樣才會使得。如果我們讓離散比例πn(Z,W)靈活地任意變化,變分集合Q就能意識到其後部內容,而我們對「互信息」的限制就會比較嚴格。使用上面對qΘ的定義,我們可以把下界表達為:

從x可以得到其表徵z,使用其中的原理,我們可以依據轉換參數α的期望值,寫出以下表達式:

表達式左邊的部分看上去很像是「範例卷積神經網絡」學習的「N式」分類問題:我們可以把其中的πn看作是「N式」的分類器,這個分類器需要一張任意轉換過的圖像,然後估測出「代理集合」n。上面的方程式事實上是這個分類器的「損失函數」。

為獲得真正的「範例卷積神經網絡」方程式,我們需要做的最後一件事是進一步限制Q。因此,我們只能讓離散比例π符合以下的邏輯回歸式:

如果我們把這些值重新代入之前得出的方程式,那麼我們就會得到論文中提到的「多項損失函數」(與論文中的方程式5相對比):

因此,我們已經證明了「範例卷積神經網絡」進行優化的目標函數,實際上是限制「種子圖像」和轉換後圖像的表徵g(Tαx)間的「互信息」的一個下界。

這個「互信息」下界的限制有多嚴格?

「互信息」的下界限制其實可能並不是那麼的嚴格,因為π(z,Θ)僅受限於線性分類器。但是如果我們決心嚴格限制互信息,那麼這個下界是完全可能更加嚴格的。確實,如果我們不考慮最後一層g,而是把一些中間的隱藏層視作表徵,把上面的一些層視作是q的一部分,那麼這個所謂的下界限制就仍然是有效的,而且中間層的限制就會更嚴格。

那些非寬鬆的界限並不一定就是故障所在,相反,它可能還是一個特色。僅考慮q的邏輯回歸模型,實際上是一個比信息優化更嚴格的目標函數。就像我之前經常提到的,「互信息」本身對表徵的可逆再參量化並不敏感,因此它不能夠自己找到已還原了的表徵。所以,僅考慮下界的問題可能更適用於這個案例。你不僅需要用z來保留關於x的信息,還需要一個線性可辨性的格式,如果你之後想要把表徵用於線性分類器的話,那麼這個線性可辨性就是一個相當有用的屬性。

到底什麼東西才能被用作表徵?

最後,一個這樣的問題出現了——到底什麼樣的函數或映射應該被用作表徵呢?關於這個問題,你有三個選項:

  • 作者是把g(x,Θ)的層用作表徵本身的。這在我看來是有些難以理解的,因為這個函數從未經過一個真實圖像補丁的訓練,它只受過轉換過的圖像補丁Tαx的訓練。我認為作者這一做法的原因是,儘管受到種子補丁的訓練較少,但是這個函數已經經過大量轉換過的圖像的訓練,所以它是完全有能力成為表徵的。作者還提出,最後一層最終將會被訓練得越來越不容易受轉換圖像的影響。

  • 你可以使用一個隨機表徵g(Tαx,Θ),但是過不久這個表徵就會顯得很累贅,不好處理。因為你必須每次都抽樣檢查α,對它進行評估,並且整合α上面建立的所有表徵。

  • 你可以使用的方法。如果g是轉換圖像的不變量,那麼它就能表示成。實際上,如果g不是轉換圖像的不變量,那可能更有可能是不變的。

最後,就像我在前面說的,你可以把g的中間層當作表徵,而不是最後一層。你還是可以訓練那些中間層,讓他們實現信息最大化,事實上那些中間層的界限還更嚴格一些。其實作者也是這樣做的:他們集合了各個層的特徵,然後考慮了所有中間層之上的一個線性SVM。

總結

「範例卷積神經網絡」是「自監督學習」的一個絕佳例子。採用一個未經標記的資料庫,並在此之上建立一個代理的監督式學習任務來幫助表徵學習。像我在本文中說的,「範例卷積神經網絡」還能被理解為——尋找一個信息最大化的表徵。

相對簡單的用於變分界限的變分分布可能是個非常有益的東西,而設立嚴格的界限可能反而會讓事情變得更糟。誰知道呢?但是在這個框架內建立「範例卷積神經網絡」,確實讓我們更好地理解了其工作原理。

雷鋒網特約稿件,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 反思卷積神經網絡:圖像角度泛化上的困難重重
    毫無疑問,卷積神經網絡在圖像處理及周邊領域的開發進程和研究突破中發揮著重要作用。 但是,這不代表卷積神經網絡表現完美。 研究人員經常會遇到一個問題:他們往往由於過於追求理論和完美數據集而深陷其中。然而事與願違,要求數據準確度到小數點後幾位其實往往與現實情況中圖像處理的實際用處恰恰相反。
  • 卷積神經網絡(CNN)新手指南
    然而最經典的,或者說最流行的神經網絡使用範例是將其用於圖像處理領域。提到圖像處理,本文主要介紹的是如何使用卷積神經網絡來進行圖像分類。強烈建議那些有興趣的讀者去了解他們的功能和作用,但一般來說他們提供的非線性和尺寸留存有助於提高網絡的魯棒性,同時還能控制過度擬合。一個經典的卷積神經網絡架構看起來是這樣的:
  • 梯度上升可視化卷積神經網絡
    為什麼我的CNN網絡模型訓練出來的東西總是過度擬合?已經改了很多次參數都不行,到底是樣本有問題還是網絡模型定義有問題?問題在哪來?CNN網絡模型中的每一層學習的是些什麼特徵?為什麼有的人說第一層卷積核提取的是邊緣信息特徵,有的人卻說第一層卷積核提取的是顏色特徵?到底是兩者都有還是什麼回事?CNN網絡可不可以減掉幾層然後保持相同的精度和損失率呢?
  • YJango的卷積神經網絡——介紹
    圖片識別--卷積神經網絡卷積神經網絡就是讓權重在不同位置共享的神經網絡。局部連接在卷積神經網絡中,我們先選擇一個局部區域,用這個局部區域去掃描整張圖片。 局部區域所圈起來的所有節點會被連接到下一層的一個節點上。為了更好的和前饋神經網絡做比較,我將這些以矩陣排列的節點展成了向量。
  • 基於卷積神經網絡的目標檢測算法簡介
    在卷積神經網絡中,輸入圖像通過多個卷積層和池化層進行特徵提取,逐步由底層特徵變為高層特徵;高層特徵再經過全連接層和輸出層進行特徵分類,產生一維向量,表示當前輸入圖像的類別。根據每層的功能,卷積神經網絡可劃分為兩個部分:由輸入層、卷積層和池化層構成特徵提取器,以及由全連接層和輸入層構成分類器。
  • 淺析人工智慧的卷積神經網絡與圖像處理
    淺析人工智慧的卷積神經網絡與圖像處理 demi 發表於 2019-11-02 11:23:43 在人工智慧深度學習技術中,有一個很重要的概念就是卷積神經網絡 CNN(Convolutional Neural
  • 深度學習入門:淺析卷積神經網絡
    至今已有數種深度學習方法,如卷積神經網絡(CNN)、自編碼神經網絡(包括Auto encoder和Sparse Coding)和深度置信網絡(DBN),並在各個領域中取得了極好的效果。針對這些問題,人們提出了卷積神經網絡,從而很好地解決了上面的三個問題。與常規神經網絡不同,卷積神經網絡的各層中的神經元是3維排列的:寬度、高度和深度(這個深度指的是某層數據的第三個維度,而不是整個網絡的深度,整個網絡的深度指的是網絡的層數)。下圖是一個卷積神經網絡,它的神經元被排列在3個維度(寬、高和深度)。
  • 卷積神經網絡理解(一):濾波器的意義
    卷積神經網絡的發展二. 卷積神經網絡的重要性三. 卷積神經網絡與圖像識別四.濾波器一.卷積神經網絡的發展卷積神經網絡受到視覺細胞研究的啟發,1962年,Hubel和Wiesel發現初級視覺皮層中的神經元會響應視覺環境中特定的簡單特徵(比如有向的邊等)。
  • 解析卷積神經網絡的應用
    解析卷積神經網絡的應用 貿澤電子 發表於 2019-08-21 15:29:46 目前,人們對性能強大且結構複雜的計算機已是司空見慣。
  • 了解1D和3D卷積神經網絡|Keras
    當我們說卷積神經網絡(CNN)時,通常是指用於圖像分類的2維CNN。但是,現實世界中還使用了其他兩種類型的卷積神經網絡,即1維CNN和3維CNN。在本指南中,我們將介紹1D和3D CNN及其在現實世界中的應用。我假設你已經大體上熟悉卷積網絡的概念。
  • 卷積神經網絡的卷積到底是什麼
    卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。 歷史 卷積神經網絡最初是由福島核電站在1980年引入的,當時名為Neocognitron。
  • 圖像識別技術——卷積神經網絡CNN詳解
    前言卷積神經網絡不同於神經網絡,在圖片處理這方面有更好的表現。本文主要對神經網絡和卷積神經網絡做了簡要的對比,著重介紹了卷積神經網絡的層次基礎,同時也簡要介紹了卷積神經網絡參數更新方式和其優缺點,並結合具體實例對卷積神經網絡的工作方式做了介紹。
  • 卷積神經網絡(CNN)介紹與實踐
    - 來源:http://cs231n.github.io/classification/為了「教會」一種算法如何識別圖像中的對象,我們使用特定類型的人工神經網絡:卷積神經網絡(CNN)。他們的名字源於網絡中最重要的一個操作:卷積。卷積神經網絡受到大腦的啟發。
  • 使用Keras構建具有自定義結構和層次圖卷積神經網絡
    來源:DeepHub IMBA本文約3600字,建議閱讀5分鐘本文為你介紹了如何構建具有自定義結構和層次的神經網絡:Keras中的圖卷積神經網絡(GCNN)。如何構建具有自定義結構和層次的神經網絡:Keras中的圖卷積神經網絡(GCNN)在生活中的某個時刻我們會發現,在Tensorflow Keras中預先定義的層已經不夠了!我們想要更多的層!我們想要建立一個具有創造性結構的自定義神經網絡!幸運的是,通過定義自定義層和模型,我們可以在Keras中輕鬆地執行此任務。
  • 卷積神經網絡算法結構分析及其工作效率的影響因素
    2012年Krizhevsky等提出的卷積神經網絡卷積神經網絡算法結構分析。就目前算法的發展狀況而言,卷及神經網絡作為當前在圖像識別領域的主流算法,被諸多工作團隊所廣泛接受,而對於圖像識別的研究重點,也從尋找更為優秀的算法,轉移到了對卷積神經網絡算法本身的優化上,並且在應用領域,也在近年取得了長足進展。
  • 一文讀懂卷積神經網絡工作原理
    卷積神經網絡(Convolutional Neural Network, CNN)是人工神經網絡的一種,是當下語音分析和圖像識別領域的研究熱點。這篇文章用最簡明的語言和最直觀的圖像,帶你入門CNN。準備好了嗎?
  • 卷積神經網絡中的參數共享/權重複制
    但是了解這個簡單的概念有助於更廣泛地理解卷積神經網絡的內部。卷積神經網絡(cnn)能夠使那些通過網絡饋送的圖像在進行仿射變換時具有不變性。 這個特點提供了識別偏移圖案、識別傾斜或輕微扭曲的圖像的能力。仿射不變性的這些特徵是由於CNN架構的三個主要屬性而引入的。
  • MSRA視頻理解新突破,實現199層三維卷積神經網絡
    如今,隨著網際網路帶寬的提升和高速行動裝置的普及,信息的獲取途徑和傳播途徑也在與日增加,視頻逐漸成為網際網路多媒體消費的重要組成部分。然而目前視頻識別的相關研究多數使用的是基於圖像的卷積神經網絡(如微軟研究院在 2015 提出的殘差神經網絡 ResNet)來學習視頻特徵,這種方法僅僅是對單幀圖像的 CNN 特徵進行融合,因此往往忽略了相鄰的連續視頻幀間的聯繫以及視頻中的動作信息。目前,視頻專用的深度神經網絡還很缺乏。
  • 卷積神經網絡超詳細總結
    1)網絡結構**卷積神經網絡整體架構:**卷積神經網絡是一種多層的監督學習神經網絡,隱含層的卷積層和池採樣層是實現卷積神經網絡特徵提取功能的核心模塊。該網絡模型通過採用梯度下降法最小化損失函數對網絡中的權重參數逐層反向調節,通過頻繁的迭代訓練提高網絡的精度。
  • Nature Communications:人工智慧地震信息挖掘——基於高效分類多尺度濾波卷積神經網絡的自動化設計
    耿智等-NC:人工智慧地震信息挖掘——基於高效分類多尺度濾波卷積神經網絡的自動化設計人工神經網絡(ANN)在數據驅動的自然和信息科學研究領域(例如圖像圖形學、材料、生物學和醫學、天文地理以及地球科學)的應用正在迅猛發展。