李宏毅——终身学习lifelong learning
李宏毅——終身學(xué)習(xí)lifelong learning
- 導(dǎo)讀
- 要解決的問(wèn)題
- 如何解決
- 遺忘問(wèn)題
- Elastic Weight Consolidation(EWC)
- 基本思想
- 理解
- EWC的變形
- 其他方法
- 生成數(shù)據(jù)
- 新增類(lèi)
- knowledge transfer
- life-long vs transfer
- 如何衡量life-long learning
- GEM
- Model Expansion
- Progressive Neural Network
- expert gate
- Net2Net
- curiculum learning
導(dǎo)讀
人從小大大用同一個(gè)腦袋學(xué)習(xí)
但每個(gè)作業(yè)都訓(xùn)練同一個(gè)神經(jīng)網(wǎng)絡(luò)
為什么不用同一個(gè)網(wǎng)絡(luò)學(xué)習(xí)不同的任務(wù)呢?
終身學(xué)習(xí)的不同稱呼
LLL(life long learning)
continuous learning
never ending learning
incremental learning
可以做不同的任務(wù)
要解決的問(wèn)題
1、學(xué)過(guò)的舊東西記下來(lái),但要能學(xué)新的
例子:手寫(xiě)數(shù)字辨識(shí)
在一個(gè)三層的網(wǎng)絡(luò)中學(xué)習(xí)第一個(gè)有噪音的任務(wù),在任務(wù)1學(xué)到的東西可以用在任務(wù)2上。任務(wù)1的正確率甚至沒(méi)有任務(wù)2高,這個(gè)可以視為遷移學(xué)習(xí)。
讓機(jī)器學(xué)任務(wù)2后,任務(wù)2的準(zhǔn)確率更高,但是任務(wù)1的準(zhǔn)確率下降
是否是因?yàn)榫W(wǎng)絡(luò)過(guò)于簡(jiǎn)單?不是的,因?yàn)橥瑫r(shí)學(xué)任務(wù)1和任務(wù)2,能夠?qū)W的比較好
例子:問(wèn)答系統(tǒng)。
機(jī)器學(xué)習(xí)的訓(xùn)練資料是:文章、問(wèn)題、答案
bAbi訓(xùn)練集有20種不同的題型
機(jī)器從第一個(gè)任務(wù)開(kāi)始學(xué)習(xí),學(xué)到第20個(gè)。
看機(jī)器對(duì)題型5的回答,只有剛學(xué)完題型5時(shí)正確率比較高。
對(duì)于其他題型也是這樣的。
如果同時(shí)學(xué)20個(gè)任務(wù)的話,正確率還行。
證明網(wǎng)絡(luò)有能力學(xué)完這些東西,但是沒(méi)有做到。
這種現(xiàn)象叫做災(zāi)難遺忘。
如何解決
1、多任務(wù)學(xué)習(xí)
很難實(shí)現(xiàn),要保存所有的舊資料才行,學(xué)習(xí)可能很久(存儲(chǔ)、計(jì)算問(wèn)題)
遺忘問(wèn)題
Elastic Weight Consolidation(EWC)
基本思想
有一些weight重要,但是有一些不重要;保護(hù)重要weight,只調(diào)不重要的額。
做法:對(duì)于每一個(gè)theta,有一個(gè)守衛(wèi)參數(shù)b
修改loss,計(jì)算當(dāng)前參數(shù)與之前的參數(shù)之間的距離。
b用來(lái)表示保護(hù)theta的程度
可以將theta視為一種regularization
理解
假設(shè)有兩個(gè)任務(wù),網(wǎng)絡(luò)有兩個(gè)參數(shù)theta,顏色越深,說(shuō)明loss越小
學(xué)習(xí)任務(wù)1時(shí),參數(shù)從theta0學(xué)到thetab,再學(xué)習(xí)任務(wù)2時(shí),繼續(xù)訓(xùn)練,學(xué)習(xí)到theta* ,此時(shí)任務(wù)2的loss變小,但是任務(wù)2的變大
在EWC中,可以使用某種方法算重要性,比如算微分,theta1比較小,也就是說(shuō)在theta1上,改變參數(shù),對(duì)結(jié)果影響不大,b1可以設(shè)為比較小的值,但是theta2微分比較大,b2設(shè)置的比較大
移動(dòng)時(shí),盡量不要?jiǎng)觮heta2
當(dāng)然求導(dǎo)不是唯一的方法,可以用其他的方法。
原始EWC的實(shí)驗(yàn)結(jié)果
分別訓(xùn)練A,B,C,橫軸表示在不同任務(wù)上的表現(xiàn),縱軸表示訓(xùn)練階段
EWC的變形
其他方法
生成數(shù)據(jù)
生成數(shù)據(jù),來(lái)緩解數(shù)據(jù)過(guò)多占用內(nèi)存的問(wèn)題
先讓機(jī)器學(xué)task1,然后學(xué)task2,同時(shí)要訓(xùn)練generator,學(xué)會(huì)生成task1的數(shù)據(jù),此時(shí)就可以把task1的data丟掉,用生成的數(shù)據(jù)和task2的放在一起訓(xùn)練。
但是目前靠機(jī)器生成復(fù)雜數(shù)據(jù),能不能做的起來(lái)尚待研究
新增類(lèi)
如果訓(xùn)練任務(wù)需要不同的網(wǎng)絡(luò)呢?比如類(lèi)增量問(wèn)題
knowledge transfer
不為每個(gè)任務(wù)訓(xùn)練模型,讓不同模型之間互通有無(wú),也可以節(jié)省模型開(kāi)銷(xiāo)空間
life-long vs transfer
不同點(diǎn):在transfer時(shí),只在乎任務(wù)2,不在乎任務(wù)1點(diǎn)表現(xiàn),但是life-long希望都表現(xiàn)好
如何衡量life-long learning
通常用matrix,每個(gè)row代表學(xué)習(xí)的階段,column表示在任務(wù)X上的表現(xiàn)。
Accuracy是最后一行的平均
多不會(huì)遺忘:backward Transfer,學(xué)到某個(gè)階段時(shí)減去剛學(xué)過(guò)時(shí)的表現(xiàn),求平均
(通常為負(fù))
forward Transfer:表示能transfer到?jīng)]學(xué)的任務(wù)的表現(xiàn)
GEM
gradient Episodic Memory
在新的任務(wù)算出gradient,再計(jì)算之前的Gradient的方向。算出現(xiàn)在移動(dòng)的方向。這個(gè)方向不會(huì)傷害到原有的任務(wù),而且和當(dāng)前gradient的方向越近越好。
這種需要存一些過(guò)去的數(shù)據(jù)。
它的表現(xiàn):后續(xù)的學(xué)習(xí)不會(huì)影響之前的任務(wù),甚至能有所改善
Model Expansion
有可能真的學(xué)不下了,能不能擴(kuò)張模型
模型擴(kuò)張的速度應(yīng)該比任務(wù)來(lái)的速度慢。這個(gè)是個(gè)尚待研究的問(wèn)題,沒(méi)有太多研究。
Progressive Neural Network
一個(gè)網(wǎng)絡(luò)做任務(wù)1,網(wǎng)絡(luò)1的輸出當(dāng)作網(wǎng)絡(luò)2的輸入,網(wǎng)絡(luò)1、2的輸出都當(dāng)作網(wǎng)絡(luò)3的輸入
實(shí)操上做不了太多任務(wù)
expert gate
每個(gè)task訓(xùn)練一個(gè)網(wǎng)絡(luò),每個(gè)新任務(wù)進(jìn)來(lái),看和哪個(gè)舊任務(wù)最像,希望做到knoledege transfer。這里模型擴(kuò)張的速度和新任務(wù)到來(lái)的速度一樣,在任務(wù)較多的時(shí)候也是會(huì)有比較多的模型
Net2Net
讓網(wǎng)絡(luò)長(zhǎng)寬
直接加neuron的話,可能會(huì)加噪聲,所以如何加神經(jīng)元,但是不引入噪聲很重要
做法:把神經(jīng)元分裂,w仍然是c和d,但是分裂后變?yōu)閒/2,但是問(wèn)題是加入的神經(jīng)元的gradient都一樣,所以要加一個(gè)小小的noise
也不是每進(jìn)來(lái)一個(gè)任務(wù)就加網(wǎng)絡(luò),而是看訓(xùn)練效果怎么樣,決定是否expand
curiculum learning
在未來(lái)可能會(huì)有的問(wèn)題
這些任務(wù)的順序怎么排序
例子中,先學(xué)任務(wù)1,再學(xué)任務(wù)2,效果不好
但是先學(xué)任務(wù)2,再學(xué)任務(wù)1時(shí),一開(kāi)始任務(wù)1效果不好,但是沒(méi)有忘記
所以說(shuō)明,是否發(fā)生遺忘,和任務(wù)排序有非常重要的關(guān)系。
已有的研究
總結(jié)
以上是生活随笔為你收集整理的李宏毅——终身学习lifelong learning的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java实现zip压缩
- 下一篇: AD导入PCB后模型出现绿色叉叉报错的解