back to index

Life Long Learning (5/7)


link |
00:01.000
好,那剛才講的是要讓機器記住過去的知識,那我們不只希望機器可以記住過去的知識,我們還希望機器可以做到說,它學不同的任務,可以把不同的任務間的知識作為transfer,那這是什麼意思呢?
link |
00:18.120
在講Live Room Learning的時候,可能同學會有一個想法是說,今天既然有不同的任務,為什麼我們不像我們做作業一樣,每一個任務都獨立地去訓練一個模型就好了呢?
link |
00:31.380
要解任務一的時候,我們就訓練一個模型,要解任務二的時候,我們訓練一個模型,要解任務三的時候,我們訓練一個模型。
link |
00:37.660
我們要解三個不同的任務,就訓練三個不同的模型,我們就不需要在意機器會不會遺忘過去的任務這樣的問題。
link |
00:45.300
但是如果我們每一個任務都訓練不同的模型,我們其實會少了一個非常重要的資訊,就是不同任務間的knowledge的轉換。
link |
00:55.840
因為我們期待機器它今天學了任務一以後,它也許可以在未來把任務二做得更好,學了任務一、二以後,在未來可以把任務三做得更好。
link |
01:04.760
我們希望機器它今天學了一個東西以後,可以觸類旁通,可以把其他事情做得更好,就好像你學了線性代數以後,你可能在聽機器學習課程的時候,你就有比較好的基礎。
link |
01:17.000
或者是你在聽了機器學習的課程以後,回過頭去再回想過去線性代數的課程,你可能會有不同的體驗,我們希望機器可以做到這樣子的事情。
link |
01:26.880
所以我們不能夠為每一個任務都訓練一個模型,我們希望可以一直使用同一個模型,這樣才能夠讓不同任務的資訊、知識可以互通有無。
link |
01:38.920
這是我們之所以不每一個任務訓練一個模型的第一個理由。
link |
01:42.720
第二個理由就是你的儲存是有限的,所以今天假設你有一千個任務,也許你不能夠存一千個模型,你希望一個模型就可以解一千個任務。
link |
01:57.120
好,那講到Noise Transfer,有些人就會想到說,這個不就是Transfer Learning想要解決的問題嗎?
link |
02:04.800
這確實就是Transfer Learning想要解決的問題。在Transfer Learning裡面,我們期待說先讓機器學了任務一以後,它可以在任務二上做得更好。
link |
02:15.320
但是Transfer Learning跟Live Learning不一樣的地方是,在Transfer Learning裡面,我們只在意說機器學了任務一以後,能不能夠接下來在任務二上做得更好。
link |
02:27.120
至於它學完任務二以後,它還會不會做任務一,這個不是Transfer Learning要討論的問題。
link |
02:35.040
所以可以想像這個Live Learning是比Transfer Learning更進一步,它多考慮一件事。
link |
02:42.160
在Live Learning裡面,我們當然希望可以做到Transfer Learning可以做的事情,我們當然希望說機器學了任務一以後,可以把任務二做得更好。
link |
02:50.400
但同時我們又希望魚與熊掌可以兼得,吃燒餅不要掉芝麻,希望說它學了任務二以後,它不只任務二可以做得好,做任務一還是可以繼續地做。
link |
03:03.680
所以這個是Live Learning跟Transfer Learning不一樣的地方。
link |
03:07.160
你可以想像說Live Learning裡面包含了Transfer Learning想要解的問題,它一方面希望做到Knowledge Transfer,但同時也要做到Knowledge Retention。