本發(fā)明屬于特征提取及神經網(wǎng)絡領域,尤其涉及一種基于高斯分布的矩陣變量的受限玻爾茲曼機的圖像識別方法。
背景技術:
人工神經網(wǎng)絡(Artificial Neural Network,ANN)是一種通過模仿生物神經網(wǎng)絡的結構和功能而建立起來的計算模型,是很具有代表性的一類機器學習方法。典型的ANN是由大量的簡單處理節(jié)點(人工神經元)構成,這些節(jié)點是具有層次結構的,并且以指定方式互相關聯(lián)。一些節(jié)點對外部可見而另外一些對外部隱藏,兩個節(jié)點間的關聯(lián)即權重。訓練一個ANN模型即是要根據(jù)訓練數(shù)據(jù)計算權重系數(shù)。
玻爾茲曼機(Boltzmann Machine,BM)是Hinton和Sejnowski于1985年提出的一種根植于統(tǒng)計力學的隨機神經網(wǎng)絡。BM由一個可見層和一個隱藏層組成,兩層節(jié)點之間以及隱藏層的節(jié)點間擁有對稱的雙向連接權重。在訓練時,將訓練數(shù)據(jù)集作為可見層的輸入,神經元的輸出只有兩種狀態(tài)(未激活、激活),一般用二進制的0和1表示,狀態(tài)的取值根據(jù)概率統(tǒng)計法則決定。
BM具有強大的無監(jiān)督學習能力,能夠學習數(shù)據(jù)中復雜的規(guī)則。但是,BM的同層節(jié)點間具有相互關聯(lián),所以導致其難以訓練。為克服這一問題,Smolensky引入了一種限制的波爾茲曼機(Restricted Boltzmann Machine,RBM)。RBM與BM具有相同的層次結構,而不同的是RBM模型的同層節(jié)點間不再具有連接權重。RBM具有很好的性質:在給定可見層節(jié)點狀態(tài)(輸入數(shù)據(jù))時,各隱藏層節(jié)點的激活條件獨立;反之,在給定隱藏層節(jié)點狀態(tài)時,可見層節(jié)點的激活亦條件獨立。這種修改簡化了涉及到的公式,并大大加快了算法的學習速度。此外,Roux和Bengio從理論上證明,只要隱單元的數(shù)目足夠多,RBM能夠擬合任意離散分布。在求解模型時,可通過Gibbs采樣得到服從RBM節(jié)點分布的隨機樣本,但Gibbs采樣迭代次數(shù)較多,而當RBM中節(jié)點數(shù)較多時,學習速度仍然很慢。為了解決采樣速度慢的問題,Hinton提出了RBM的快速學習算法——對比散度(Contrastive Divergence,CD),此方法可以通過一次迭代得到樣本的近似。還有一些研究者在CD算法的基礎上,對其作了進一步改進。例如Tieleman于年提出了持續(xù)對比散度(Persistent Contrastive Divergence,PCD)算法,Tieleman和Hinton進一步改進了PCD算法,提出了快速持續(xù)對比散度(Fast Persistent Contrastive Divergence,F(xiàn)PCD)算法。目前,RBM被應用于深度信念網(wǎng)絡(Deep Belief Nets,DBN)的多層結構的構建,以及不同的機器學習問題,如數(shù)據(jù)降維、人臉識別、協(xié)同過濾等。
原始的BM和RBM的輸入和輸出節(jié)點都是二值的,這就帶來了兩個主要的限制:(1)這種模型僅適用于二值數(shù)據(jù)的或近似于二值數(shù)據(jù)的數(shù)據(jù)集,而很多現(xiàn)實世界中的數(shù)據(jù)不能用二值數(shù)據(jù)近似;(2)二值的隱藏層節(jié)點不能完整地表達數(shù)據(jù)降維或特征提取后的信息。為了克服這些問題,人們改進RBM模型,使其接受連續(xù)值作為輸入,例如GBRBM(Gaussian Bernoulli RBM):GBRBM的可見層節(jié)點服從高斯分布,其隱藏層節(jié)點仍然是二進制數(shù)據(jù),服從伯努利分布。GBRBM比RBM擁有更好的表達能力,并且GBRBM能夠適用于更多的領域。Cho等人于2011年提出了IGBRBM(Improved Gaussian Bernoulli RBM),IGBRBM是對GBRBM進行了改進,應用了自適應的學習率,克服了模型訓練難度大、收斂速度慢等問題。
經典的RBM模型主要用于輸入為一維向量數(shù)據(jù)。然而,現(xiàn)實世界中的數(shù)據(jù)往往是高維的,并且其內部具有相關結構,例如圖像、視頻等。傳統(tǒng)的RBM總是將高維數(shù)據(jù)進行向量化,得到一維數(shù)據(jù)。但向量化后,原始數(shù)據(jù)的結構被破壞,并且造成了維度災難。因此出現(xiàn)了高階玻爾茲曼機,Nguyen at al.提出了張量數(shù)據(jù)的RBM(Tensor-variate RBM,TvRBM),Qi at al.提出了矩陣數(shù)據(jù)的RBM(Matrix Variate RBM,MVRBM)。但它們的可視層和隱藏層都是滿足Bernoulli分布的二值數(shù)據(jù),并不能很好的擬合現(xiàn)實中的數(shù)據(jù),因此對于分布在實數(shù)域上的圖像的識別效果較差。
由于IGBRBM模型中,隱藏層節(jié)點取0或1值,服從二項分布,所以由此模型得到的隱藏層輸出損失了原始數(shù)據(jù)的信息。所以本發(fā)明修改IGBRBM模型,假設RBM的可視層單元和隱藏層單元均不再取單一的0或1值,即不再令模型的可視層和隱藏層節(jié)點服從二項分布。由于Welling指出,RBM中的隱藏層節(jié)點和可見層節(jié)點的分布可以為任意的指數(shù)族分布,所以本發(fā)明假設RBM的可視層和隱藏層均滿足高斯分布。由于經典的RBM模型只能對一維數(shù)據(jù)進行建模,而當高維數(shù)據(jù)作為輸入時,需要先對輸入樣本進行向量化,這樣做破壞了樣本的空間內部結構。因此借鑒MVRBM的思想,對二維樣本直接建模。最終形成了本發(fā)明的模型——矩陣變量高斯分布受限玻爾茲曼機(MVGRBM)。
技術實現(xiàn)要素:
本發(fā)明提出了一種圖像識別方法,采用基于高斯分布的受限玻爾茲曼機模型,用于對二維圖像進行特征提取,記為MVGRBM。此模型能夠直接對圖像進行建模,而不需要向量化,保留了原始樣本的結構信息。由于MVGRBM的可視層和隱藏層服從參數(shù)不同的高斯分布,可視層服從高斯分布能夠更加精確地擬合輸入值為實數(shù)的樣本,隱藏層服從高斯分布可以使得特征矩陣分布在實數(shù)域上,故特征矩陣能夠表達更加豐富的信息。
為實現(xiàn)上述目的,本發(fā)明采用如下的技術方案:
一種基于高斯分布的受限玻爾茲曼機模型的圖像識別方法,包括以下步驟:
步驟1、建立基于高斯分布的矩陣變量受限玻爾茲曼機模型
將經典的受限玻爾茲曼機模型擴展到高維空間,給出其能量函數(shù)為:
E(X,Y)=∑i∑jxijaij+∑k∑lyklbkl-∑i∑j∑k∑lωijklxijykl
表示一張大小為I×J的原始圖像,表示使用此模型提取的圖像特征矩陣,其大小為K×L;表示圖像的偏移量,表示圖像特征矩陣的偏移量,
假設圖像的每個像素點服從高斯分布,即圖像的第(i,j)個像素點的方差為圖像特征矩陣的每個元素服從高斯分布,即第(k,l)個元素的方差為原始圖像與特征矩陣的連接權重是一個四階張量此模型的能量函數(shù)為:
令wijkl=ukivlj,用兩個矩陣和代替張量則需要求解的參數(shù)數(shù)量降低為K×I+L×J,
將能量函數(shù)改寫成矩陣的形式:
其中,
分別計算出圖像和特征矩陣的條件概率:
步驟2、矩陣變量受限玻爾茲曼機模型求解
使用極大似然估計訓練MVGRBM模型。
其中,為模型需要求解的參數(shù),表示在參數(shù)給定的情況下,得到原始圖像的概率,要使得到原始圖像的概率最大,需要求這個函數(shù)的極大值,假設圖像集共有N張圖片,那么圖像集的對數(shù)極大似然估計定義為:
使用梯度上升法求解參數(shù),首先對參數(shù)求偏導,得到參數(shù)偏導數(shù)的通式:
對于每個參數(shù),其偏導數(shù)為:
其中,
利用上面求得的偏導數(shù)得到參數(shù)的梯度:
其中,α為學習率,λ為控制訓練收斂速度的動量項,β控制權重參數(shù)在迭代更新時梯度太大;輸入圖像的訓練集,利用參數(shù)梯度更新各參數(shù),迭代多次,得到使似然函數(shù)達到最大的模型。
步驟3、基于高斯分布的矩陣變量受限玻爾茲曼機模型進行圖像識別。
作為優(yōu)選,步驟3中利用上文得到的模型,結合最近鄰方法,對于圖像的測試集做識別,具體方法為:
3.1、將測試圖像輸入到模型中,得到測試圖像的特征矩陣;
3.2、此特征矩陣與訓練集每一張圖像的特征矩陣求距離,得到距離最小的訓練樣本;
3.3、將此訓練樣本的標簽作為測試樣本的標簽;
3.4、對每張測試圖像重復上述過程。
附圖說明
圖1為本發(fā)明圖像識別方法的流程圖。
具體實施方式
如圖1所示,本發(fā)明提供一種基于高斯分布的受限玻爾茲曼機模型的圖像識別方法,包括以下步驟:
步驟1、建立基于高斯分布的矩陣變量受限玻爾茲曼機模型
Qi at al.將經典的受限玻爾茲曼機模型擴展到高維空間,給出其能量函數(shù)為:
E(X,Y)=ΣiΣjxijaij+ΣkΣlyklbkl-ΣiΣjΣkΣlwijklxijykl (1)
表示一張大小為I×J的原始圖像,表示使用此模型提取的圖像特征矩陣,其大小為K×L;表示圖像的偏移量,表示圖像特征矩陣的偏移量。
本發(fā)明假設圖像的每個像素點服從高斯分布,即圖像的第(i,j)個像素點的方差為圖像特征矩陣的每個元素服從高斯分布,即第(k,l)個元素的方差為原始圖像與特征矩陣的連接權重是一個四階張量此模型的能量函數(shù)為:
由于原始圖像與特征矩陣的連接權重是一個四階張量,則需要計算I×J×K×L個參數(shù),計算復雜度高。為了降低參數(shù)求解的復雜度,本發(fā)明令wijkl=ukivlj,用兩個矩陣和代替張量則需要求解的參數(shù)數(shù)量降低為K×I+L×J。
將能量函數(shù)改寫成矩陣的形式:
其中
分別計算出圖像和特征矩陣的條件概率:
步驟2、矩陣變量受限玻爾茲曼機模型求解
本發(fā)明使用極大似然估計訓練MVGRBM模型。
其中為模型需要求解的參數(shù)。表示在參數(shù)給定的情況下,得到原始圖像的概率。要使得到原始圖像的概率最大,需要求這個函數(shù)的極大值。為了簡化計算復雜度通常采用對數(shù)似然函數(shù)。假設圖像集共有N張圖片,那么圖像集的對數(shù)極大似然估計定義為:
使用梯度上升法求解參數(shù)。首先對參數(shù)求偏導,得到參數(shù)偏導數(shù)的通式:
對于每個參數(shù),其偏導數(shù)為:
其中
利用上面求得的偏導數(shù)得到參數(shù)的梯度:
其中,α為學習率,λ為控制訓練收斂速度的動量項,β控制權重參數(shù)在迭代更新時梯度太大。輸入圖像的訓練集,利用參數(shù)梯度更新各參數(shù),迭代多次,可以得到使似然函數(shù)達到最大的模型。
步驟3、基于高斯分布的矩陣變量受限玻爾茲曼機模型的圖像識別
利用上文得到的模型,結合最近鄰方法,對于圖像的測試集做識別,具體方法為:
1)將測試圖像輸入到模型中,得到測試圖像的特征矩陣;
2)此特征矩陣與訓練集每一張圖像的特征矩陣求距離,得到距離最小的訓練樣本;
3)將此訓練樣本的標簽作為測試樣本的標簽;
4)對每張測試圖像重復上述過程。
實施例1
本發(fā)明通過與同類方法的對比實驗,來說明本發(fā)明對于圖像識別的有效性,對比的方法有傳統(tǒng)RBM,IGBRBM,MVRBM。本發(fā)明的實驗還探索了訓練過程中,迭代次數(shù)對于識別準確度的影響。
本發(fā)明在以下數(shù)據(jù)庫上進行了實驗:
MNIST Database:MNIST數(shù)據(jù)庫為手寫數(shù)字數(shù)據(jù)庫,包含0~9十個數(shù)字的60,000張訓練圖片以及10,000張測試圖片。每張圖片的大小為28*28的灰度圖像。
ETH-80 Database:ETH-80數(shù)據(jù)庫包含8類物體,每一類包含10個不同的物體的41個不同視角的圖片,總共3,280張圖片。將每張圖片下采樣到32*32,并將每張圖片轉化為灰度圖像。
Ballet Database:Ballet數(shù)據(jù)庫包含從芭蕾舞DVD中截取的44段視頻。每段視頻包含107到506幀。整個數(shù)據(jù)集包含8種復雜動作。將每一幀圖像下采樣為32*32大小,并把圖像轉化為灰度圖像。
1手寫數(shù)字圖像識別實驗
表一MNIST數(shù)據(jù)庫識別準確率
表一展示了在不同的迭代次數(shù)下,RBM、IGBRBM、MVRBM以及本發(fā)明的模型MVGRBM對于MNIST手寫數(shù)字數(shù)據(jù)庫的測試集的識別準確率??梢钥吹奖景l(fā)明的模型在迭代1000次時識別準確率最高,結果為0.9700。并且在迭代100次時,結果好于其他的三種方法,這說明本發(fā)明的方法在迭代次數(shù)較少時可以達到更好的效果,其效率優(yōu)于其他三種方法。
2物體圖像識別實驗
本發(fā)明在ETH-80物體庫上做分類實驗。ETH-80庫共有8類,每類物體的每個實例有41張不同視角的圖片,故隨機選出21張圖片做訓練,剩余的20張做測試。則訓練集共1680張圖片,測試集共1600張圖片。測試集的分類準確率如表二所示。
表二ETH-80數(shù)據(jù)庫識別準確率
從表二中可以看出,本發(fā)明的方法對于物體圖像的識別準確率明顯優(yōu)于其他三種方法,識別準確率為0.8894。并且在迭代次數(shù)較少時,其識別準確率接近此方法的最好水平。但在迭代次數(shù)增加時,例如2000次,此時識別準確率反而低于迭代1000次時的值。這說明訓練次數(shù)過大,會造成過擬合現(xiàn)象。
3芭蕾舞視頻序列識別實驗
在Ballet視頻數(shù)據(jù)庫上做分類實驗。Ballet數(shù)據(jù)庫共包含8種動作,每種動作隨機選取200張圖片作為訓練集,剩下的圖片作為測試集。分類準確率如表三所示。
表三Ballet數(shù)據(jù)庫識別準確率
表三的結果表明使用本發(fā)明的方法對于芭蕾舞視頻的識別效果好于同類方法,其識別準確率為0.9357.并且,本發(fā)明的方法在訓練的迭代次數(shù)較少的情況下,仍能獲得較好的識別準確率。
表一到表三均證明使用本發(fā)明的模型識別效果較好,這得益于模型假設輸入圖像與圖像的特征矩陣都服從高斯分布。并且三組實驗均在訓練迭代次數(shù)較少的情況下,達到較高的識別準確度,這大大加速了模型的訓練過程。
本發(fā)明提出了一種改進的受限玻爾茲曼機模型,并利用此模型進行圖像識別。其關鍵點為模型的輸入接受矩陣形式的圖像,而不需要向量化,模型提取的圖像的特征為矩陣形式,并且輸入圖像和特征矩陣均服從高斯分布。相比于經典的RBM,此模型能夠直接對二維數(shù)據(jù)進行建模而不破壞其空間內部結構,并且可以更加精準的建模非二值數(shù)據(jù),因此在重構效果上比傳統(tǒng)RBM更好。此模型的隱藏層為模型提取的特征,也是分布在實數(shù)域上的,這意味著特征包含了更多的信息,利用此模型提取的信息進行作為分類器的輸入,可以得到比同類方法更好的識別準確率。
以上所述,僅是本發(fā)明的較佳實驗例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術方案的保護范圍。