Few-shot Learning(1)—機(jī)器學(xué)習(xí)中的任務(wù)優(yōu)化空間
今天深度學(xué)習(xí)之所以成功,大量的數(shù)據(jù)是不可缺少的必要條件。我們訓(xùn)練的模型都是吃過(guò)見(jiàn)過(guò)后才有現(xiàn)在這樣良好的表現(xiàn)。不過(guò)實(shí)際情況要收集到足夠多的數(shù)據(jù)并非易事,今天我們就這個(gè)問(wèn)題來(lái)學(xué)習(xí) Few-shot Learning。
上面的公式是用于估測(cè)模型,通常我們輸入一個(gè)公式 x 給函數(shù) h,這個(gè)函數(shù) h 是模型學(xué)習(xí)到的。然后這個(gè) L 表示預(yù)測(cè)值和真實(shí)值之間的差值,對(duì)這個(gè)差值在整個(gè)數(shù)據(jù)樣本上求積分來(lái)評(píng)估這個(gè)函數(shù) h 的擬合程度。
可以利用上面公式來(lái)找讓 R(h) 最小時(shí),所對(duì)應(yīng)的函數(shù) h,實(shí)際是無(wú)法遍歷所有的模型和參數(shù),所以需要函數(shù)集進(jìn)行限制,從而縮小模型在整個(gè)空間搜索范圍。這里 H 表示我們定義一個(gè)函數(shù)集,也就是在整個(gè)空間內(nèi)劃分出一定空間,模型搜索問(wèn)題將僅限定在這個(gè)空間內(nèi)進(jìn)行。函數(shù)集 H 可以是 VGG、ResNet 等,函數(shù)集越復(fù)雜也就是函數(shù)表達(dá)能力越強(qiáng),在整個(gè)空間所占范圍也就是越大,淺藍(lán)色圈就越大,同時(shí)搜索時(shí)間也會(huì)更長(zhǎng)。其實(shí)對(duì)于樣本的概率分布也是未知的,我們收集的樣本只是數(shù)據(jù)的一部分。
那么現(xiàn)在就是將搜索最優(yōu)函數(shù)限定在 H 空間進(jìn)行搜索了。之前我們已經(jīng)知道了數(shù)據(jù)的概率p(x,y) 分布也是未知的。我們只能以一定數(shù)量的樣本來(lái)估計(jì)總體分布情況,當(dāng)然這樣做也是存在誤差的。
因?yàn)閷?duì)于整個(gè)數(shù)據(jù)集概率分布是未知的,所以用 I 樣本代表著整體數(shù)據(jù)集。然后使用這些數(shù)據(jù)來(lái)訓(xùn)練出一個(gè)模型。
然后在這樣的數(shù)據(jù)集上在限定空間內(nèi)搜索出一個(gè)最優(yōu)函數(shù)用綠色塊表示搜索到模型在整個(gè)搜索空間的位置。
接下里就從黃色 start 開(kāi)始在搜索空間進(jìn)行搜索到在 I 樣本的數(shù)據(jù)集上得到函數(shù) h 下標(biāo) l 整個(gè)函數(shù)。那么橘黃色虛線表示真實(shí)模型和我們估計(jì)的模型之間差距表示為
其實(shí)這里誤差分別來(lái)源于近似誤差(approximation error)和估計(jì)誤差(estimation error)
第一步我們選擇一個(gè)函數(shù)集,那么什么是函數(shù)集呢,例如 VGG、ResNet 或者 DenseNet 這些都可以看成一個(gè)函數(shù)集 H,那么在整個(gè)算法中我們能夠控制的是 I 和 H。所以我們可以通過(guò)增加 H 復(fù)雜性也就是擴(kuò)大 H 空間以及增加 I,不過(guò)通常情況下實(shí)際我們能夠收集到 I 都會(huì)很小。
- 所以今天出現(xiàn)了過(guò)擬合的最直接的方式就是增加數(shù)量,也就是加大 I (數(shù)據(jù))
- 也就是為 H 添加一些約束空間,縮小搜索空間(模型)
- 還有就是合理給出一個(gè)初始值(算法)