學習範式

持續學習(continual learning)

/ kun-TIN-yoo-ul LER-ning /

人一輩子都在學新東西,卻不會把舊的抹掉:學會了開貨車,你不會就此忘了怎麼開轎車。機器在這件事上卻出奇地糟糕。持續學習——也叫終身學習——就是要造出這樣的模型:能隨時間不斷學會新任務,同時守住它早已掌握的東西。

攔路虎有個戲劇化的名字:災難性遺忘。神經網路把一切都存在同一套共享的權重裡。拿一個新任務去訓它,權重就會挪動去貼合新資料——這恰恰覆蓋掉了當初編碼舊任務的那些設定,舊任務於是可能幾乎徹底崩塌。所以持續學習多半是在「吸收新知」的同時去「捍衛舊識」:回放少量存下來的舊例子、保護對過往任務最要緊的那些權重,或者為新任務另闢一塊單獨的容量。它的理想,是從一連串不斷變化的任務流裡學習,最終對所有任務都拿得起來。

這之所以重要,是因為現實世界不會靜止——新的商品類別、新的俚語、新的詐騙手法層出不窮,而每來一樣就把一個龐大模型從零重訓一遍,要麼浪費要麼根本做不到。誠實地交代一下現狀:持續學習是一個活躍而尚未攻克的研究領域。每種方法都得有所取捨——存舊資料的記憶體、算力、或者能塞進多少新東西的上限——還沒有哪一種,能比得上人類一生中那種輕鬆而優雅地一點點累積技能的方式。

一個已學會識別十種動物的模型,之後又被拿去訓練另外十種——卻沒有再回看原先那十種。預設情況下,它如今能穩穩認出新的十種,對原來的十種卻錯得一塌糊塗:這就是災難性遺忘。在新一輪訓練裡摻進一小批舊例子的回放緩衝,就能讓原先的本事大體保住。

學了新的,可能抹掉舊的——這就是災難性遺忘。

核心的敵人是災難性遺忘:在新任務上訓練,會覆蓋掉承載舊知識的那套共享權重。還沒有哪種方法能徹底解決它——每種都得在記憶體、算力或「能塞進多少新知識」之間權衡。

又稱
lifelong learningincremental learning持续学习持續學習终身学习