機(jī)器學(xué)習(xí)和優(yōu)化問題
很多機(jī)器學(xué)習(xí)方法可以歸結(jié)為優(yōu)化問題,對(duì)于一個(gè)參數(shù)模型,比如神經(jīng)網(wǎng)絡(luò),用來表示的話,訓(xùn)練模型其實(shí)就是下面的參數(shù)優(yōu)化問題:
其中L是loss function,比如神經(jīng)網(wǎng)絡(luò)中分類常用的cross-entropy。
CNN學(xué)到了什么?
特征(Representation)。把原始圖像看做一個(gè)維度是像素×通道的向量,經(jīng)過各種復(fù)雜的CNN結(jié)構(gòu),其實(shí)只不過成了另一個(gè)向量。這個(gè)向量所在的空間也許有更好的線性可分性,也許是相似樣本的“距離”更近,原始的數(shù)據(jù)經(jīng)過變換到了這里之后,就是特征。
可視化CNN
那么有個(gè)問題來了,如何可視化一個(gè)CNN結(jié)構(gòu)學(xué)到的特征呢?答案有很多,其中一種就是本文的主題:不再通過優(yōu)化求解網(wǎng)絡(luò)的參數(shù),而是求解輸入圖像。
優(yōu)化網(wǎng)絡(luò)的輸入,是相對(duì)于“正統(tǒng)”的機(jī)器學(xué)習(xí)優(yōu)化參數(shù)而言的。當(dāng)一個(gè)CNN訓(xùn)練完全后,我們可以固定好參數(shù),把輸入作為可訓(xùn)練的量,根據(jù)目的給定一個(gè)新的目標(biāo)函數(shù)。
把這種方法最早用在深度學(xué)習(xí)里大概是Bengio組在2009年的一個(gè)Tech report:《Visualizing Higher-Layer Features of a Deep Network》。文章里提出了下面的優(yōu)化問題