Lifelong learning (LLL) 希望讓機器學一個模型就可以做各種不同的tasks,為了達成這件事,需要解決至少三個問題:
Knowledge Retention
機器是有腦洞的,當機器學好第一個task後,如果給他接著學第二個task,學完之後,第一個task就幾乎忘光了。
因此我們希望機器可以把之前學過的東西通通記下來,但也不能為了讓機器不忘記之前學過的東西,而導致學不了新的東西
Knowledge Transfer
Model Expansion
我們先來看看機器的腦洞有多大
以下圖左為例,機器在學第一個任務時,可以做到90分,這時候他還沒看過任務二的資料,但一樣給他做任務二,他可以得到96分,也不差
在機器學完任務二之後,他任務二確實可以做得更好,來到97%,但任務一卻崩壞了,只剩80%
可見機器學完任務二之後,任務一的內容忘了一大半
不過,會發生這種現象並不是因為機器的腦容量(model大小)不夠,因為如果同時給機器學任務一與任務二,他是可以同時學好的(上圖右)
同樣的例子在文字辨識上也有,下圖左是給機器訓練20道題目,看他回答正確率,可以發現,當讓機器學某一組訓練資料時,他幾乎只有那組資料的題型可以打的很好,其他題型都答不太出來(例如訓練到第15題,基期會把其他題目學過的都忘光,只記得第15題)
不過腦洞會這麼大也不是因為機器的model capacity太小,實際上,同時給他學20題,他正確率也不會太差(下圖右),可見的機器是學的起來的,只是他不要而已