sparse coding
稀疏編碼系列:
- (一)----Spatial Pyramid 小結(jié)
- (二)----圖像的稀疏表示——ScSPM和LLC的總結(jié)
- (三)----理解sparse coding
- (四)----稀疏模型與結(jié)構(gòu)性稀疏模型
---------------------------------------------------------------------------
???????
??????? 本文的內(nèi)容主要來(lái)自余凱老師在CVPR2012上給的Tutorial。前面在總結(jié)ScSPM和LLC的時(shí)候,引用了很多Tutorial上的圖片。其實(shí)這個(gè)Tutorial感覺(jué)寫的挺好的,所以這次把它大致用自己的語(yǔ)言描述一下。不過(guò)稀疏編碼是前兩年比較火的東西,現(xiàn)在火的是deep learning了。
1、What is sparse coding?
?????? 1988年,神經(jīng)稀疏編碼的概念由Mitchison提出,由牛津大學(xué)的Rolls等正式引用。靈長(zhǎng)目動(dòng)物顎葉視覺(jué)皮層和貓視覺(jué)皮層的電生理實(shí)驗(yàn)報(bào)告和一些相關(guān)模型的研究結(jié)果都說(shuō)明了視覺(jué)皮層復(fù)雜刺激的表達(dá)是采用稀疏編碼原則的。研究表明:初級(jí)視覺(jué)皮層V1區(qū)第四層有5000萬(wàn)個(gè)(相當(dāng)于基函數(shù)),而負(fù)責(zé)視覺(jué)感知的視網(wǎng)膜和外側(cè)膝狀體的神經(jīng)細(xì)胞只有100萬(wàn)個(gè)左右(理解為輸出神經(jīng)元)。說(shuō)明稀疏編碼是神經(jīng)信息群體分布式表達(dá)的一種有效策略。1996年,加州大學(xué)伯克利分校的Olshausen等在Nature雜志發(fā)表論文指出:自然圖像經(jīng)過(guò)稀疏編碼后得到的基函數(shù)類似V1區(qū)簡(jiǎn)單細(xì)胞感受野的反應(yīng)特性(空間局部性、空間方向性、信息選擇性)。
?????? 典型的sparse coding的過(guò)程分為訓(xùn)練和測(cè)試。
?????? Training:給定一些訓(xùn)練樣本(training samples)[?x1, x2, …, xm(in Rd)],學(xué)習(xí)一本字典的基(bases)[Φ1,Φ2……(also in?Rd)]。可是用k-means等無(wú)監(jiān)督的方法,也可以用優(yōu)化的方法(這時(shí)training完了同時(shí)也得到了這些training samples的codes,這是一個(gè)LASSO和QP問(wèn)題的循環(huán)迭代);
?????? Coding:用優(yōu)化的方法求解測(cè)試樣本的codes(此時(shí)字典已經(jīng)學(xué)得)。經(jīng)典的方法是求解LASSO:
??????????????????(1)
????????自我學(xué)習(xí)就是在Training的時(shí)候采用大量無(wú)標(biāo)注的自然圖像訓(xùn)練字典,然后對(duì)帶標(biāo)注的圖像進(jìn)行編碼得到特征codes。
?
2、Connections to RBMs, autoencoders
????? (1)式(經(jīng)典的稀疏編碼)有幾個(gè)特點(diǎn):
??????????? ——系數(shù)a是稀疏的;
??????????? ——a的維數(shù)一般比x的維數(shù)大;
??????????? ——編碼過(guò)程a=f(x)是一個(gè)非線性的關(guān)于x的隱函數(shù)(即我們沒(méi)有f(x)的顯示表達(dá),因?yàn)榍蠼釲ASSO沒(méi)有解析解);
??????????? ——重建過(guò)程x'=g(a)是一個(gè)線性的顯示的關(guān)于a的函數(shù)(X’=ΣaiΦi)。
???????? 而RBM和自編碼的特點(diǎn)則是:
?????????? ——有顯示的f(x);
?????????? ——不會(huì)必然得到稀疏的a,但是如果我們?cè)黾酉∈璧募s束(如稀疏自編碼,稀疏RBM),通常能得到更好的效果(進(jìn)一步說(shuō)明sparse helps learning)。
???????? 從廣義上說(shuō),滿足這么幾個(gè)條件的編碼方式a=f(x)都可以叫稀疏編碼:
?????????? 1) a是稀疏的,且通常具有比x更高的維數(shù);
???????????2) f(x)是一個(gè)非線性的映射;(jiang1st2010注:該條要求存疑,見(jiàn)下面解釋。)
?????????? 3) 重建的過(guò)程x'=g(a),使得重建后的x'與x相似。
????????? 因此,sparse RBM,sparse auto-encoder,甚至VQ都可以算是一種sparse coding。(jiang1st2010注:第二條要求稱f(x)是一個(gè)非線性映射,然而SPM中用到的VQ是一個(gè)線性映射,原因可以參見(jiàn)這里和這里。余凱老師也是LLC論文的作者,似乎存在矛盾?不過(guò)這是個(gè)小問(wèn)題了,沒(méi)必要深究。)
?
3、Sparse activations vs. sparse models
???????? 現(xiàn)在可以用a=f(x)表示稀疏編碼的問(wèn)題了。它可以分解成兩種情況:
???????? 1)sparse model:f(x)的參數(shù)是稀疏的
????????????????? --例如:LASSO f(x)=<w,x>,其中w要求是稀疏的。(jiang1st2010注:這個(gè)例子中f(x)也是線性的!)
????????????????? --這是一個(gè)特征選擇的問(wèn)題:所有的x都挑選相同的特征子集。
??????????????????--hot topic.
?????????2)sparse activation:f(x)的輸出是稀疏的
????????????????? --就是說(shuō)a是稀疏的。
????????????????? --這是特征學(xué)習(xí)的問(wèn)題:不同的x會(huì)激活不懂的特征子集。
???????????????????????????????????????????
?
4、Sparsity vs. locality
?????? 其實(shí)這個(gè)問(wèn)題在這里已經(jīng)談過(guò)了。簡(jiǎn)單的說(shuō)就是sparsity不一定導(dǎo)致locality,而locality肯定是sparse的。sparse不比locality好,因?yàn)閘ocality具有smooth的特性(即相鄰的x編碼后的f(x)也是相鄰的),而僅僅sparse不能保證smooth。smooth的特性對(duì)classification會(huì)具有更好的效果,并且設(shè)計(jì)f(x)時(shí),應(yīng)盡量保證相似的x在它們的codes中有相似的非0的維度。
?
???????? Tutorial上展示了(1)中取不同的λ,字典中各項(xiàng)呈現(xiàn)的效果:
??????
???
??????? 作者想說(shuō)明的問(wèn)題是分類效果越好的情況下,basis會(huì)更清晰地表現(xiàn)出屬于某幾個(gè)特定的類。但是我沒(méi)太看明白。
?
5、Hierarchical sparse coding
????????這里圖3曾說(shuō)明了SIFT本身就是一個(gè)Coding+Pooling的過(guò)程,所以SPM是一個(gè)兩層的Coding+Pooling。而Hierarchical sparse coding就是兩層的coding都是sparse coding,如下圖:
???????? 整個(gè)HSC的第一層就從pixel層級(jí)開始(不需要手動(dòng)設(shè)計(jì)SIFT特征了),經(jīng)過(guò)兩層SC后,形成codes。這個(gè)過(guò)程可以從無(wú)標(biāo)注的數(shù)據(jù)中學(xué)習(xí),就是self-taught learning。從pixel層級(jí)開始,這點(diǎn)和DNN啥的很像了。
????????? 從結(jié)果來(lái)看,HSC的性能會(huì)比SIFT+SC稍微好些。
????????
?????????? Tutorial的最后列舉了關(guān)于SC的其他主題,我也不懂,這里就不廢話了。
-----------------
轉(zhuǎn)載出處:http://blog.csdn.net/jwh_bupt/article/details/9902949
總結(jié)
以上是生活随笔為你收集整理的sparse coding的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阿里云服务器共享型、计算型和通用型有什么
- 下一篇: Reason: Cannot pass