笨蛋ANN不想忘記

學習,已經是我們習以為常的事情,不論是義務教育的強迫學習,或是宮崎英高的BOSS怎麼打,都需要我們持續的學習,且不會忘記過去所學過的事物。

但這件事情在簡單的人工神經網路(Artificial Neural Network,ANN)是做不到的,當我們想讓他學習兩件事情,他學會了後一件,就忘記前一件,回去學前一件,又忘記後一件,雖然ANN對於某些事物處裡的比人類要來的更快更精準,例如辨識車牌,但在持續學習這件事情上,他真的需要一些額外的幫助。

為了解決這件事,重播這個架構在ANN中出現了,重播這件事與人類的複誦很像,我們國中要背課文時,要整段背下來,需要我們在腦中或是嘴上不斷的重複,而重播要在ANN中重現,最簡單的方式便是把之前學的所有資料全部存放在某個地方,而在當要學習第二件事情時,將原先存放的資料和現有的資料合起來,一起送進神經網路中進行訓練,如圖一。
圖一

當然這方法也有許多的缺點,比如需要的空間很大,要學習100件事情就要存放100份資料,所以也就產生了許多的變種的重播方式。

圖二為其中一種變種,他將原先儲存資料的區域變化成一個產生器,此產生器可以將輸入的資料轉化成一個smple z,這個過程有點像是壓縮,讓他所需的儲存空間變小,而當要訓練下一個任務時,就可以將這組sample z反向傳播,這過程有點像是解壓縮,再將這組資料與第二個任務所需的資料合併,一起送入主模型訓練,也可以產生不忘記過去任務的效果。
圖二

最後是變種的變種,也就是以下paper所建構的模型(圖三),他們將右側的產生器以及主要模型合併再一起,從途中可以得知,主模型中也出現了反向傳播的概念,此時每一層的神經元都會同時保留反向傳播的舊資料以及正像傳播的新資料,非常有趣,如果有需要更深入的解釋,詳見參考資料。
圖三


撰文:唐朝洋


參考資料:
van de Ven, Gido M., Hava T. Siegelmann, and Andreas S. Tolias. "Brain-inspired replay for continual learning with artificial neural networks." Nature communications 11.1 (2020): 1-14.

留言