back to index

【機器學習 2022】各種奇葩的元學習 (Meta Learning) 用法


link |
00:01.000
好,那我們就開始來上課吧。
link |
00:06.000
好,各位同學大家好。那今天呢,想跟大家補充一些meta learning的知識。
link |
00:15.000
那在開始這堂課之前呢,我先預設你已經有meta learning的基本概念。
link |
00:24.000
那如果你還不知道什麼是meta learning的話,那你可以看一下我們過去上課的這兩段錄音。
link |
00:32.000
看完這兩段錄音以後,再來進入今天的課程。
link |
00:37.000
好,這個今天呢,會講四件事情。那我會講meta learning跟self supervised learning的關係。
link |
00:47.000
那講meta learning怎麼用在domain generalization上面,那meta learning怎麼用在knowledge distillation上面,還有meta learning怎麼用在lifelong learning上面。
link |
01:01.000
那self supervised learning, domain generalization, knowledge distillation,還有lifelong learning都是我們過去課堂上有講過的技術。
link |
01:10.000
那我們來看看meta learning跟這些技術有什麼樣的關聯性。
link |
01:17.000
好,那我們先從meta learning和self supervised learning之間的關聯性說起。
link |
01:24.000
那對self supervised learning,想必大家一點都不陌生。
link |
01:29.000
self supervised learning最具有代表性的技術就是Bert跟他的好朋友們。
link |
01:36.000
那Bert跟他的好朋友們,他們做的事情其實是找一個初始化的參數。
link |
01:44.000
其實是想要找一個比較好的參數的initialization的方式。
link |
01:50.000
從這個downstream的角度來看,self supervised learning做的事情就是找初始化的參數。
link |
01:57.000
那我們在之前的課程中,在介紹meta learning的時候也講過說,在meta learning裡面也有一系列的技術是在找參數的initialization。
link |
02:10.000
有一系列的技術他做的事情就是learn to initialize,他是想要用meta learning的方法來自動學出合適的初始化參數。
link |
02:21.000
那其中最具有代表性的就是memo。
link |
02:25.000
那Bert跟Memo他們做的事情聽起來目標是一樣的,他們都是要找初始化的參數。
link |
02:36.000
那Bert跟Memo他們之間有什麼樣的關係呢?
link |
02:42.000
那根據近年的文獻看來,雖然Bert跟Memo他們有共同的目標,
link |
02:50.000
但是他們並不是互斥的,往往Bert跟Memo他們是可以互相相輔相成的。
link |
02:59.000
怎麼說呢?我們來看看Bert這種self supervised learning的技術怎麼跟Memo結合在一起。
link |
03:08.000
好,那Memo其實有一個很重大的弱點,就是Memo是要認初始化的參數。
link |
03:17.000
Memo是用什麼方法認初始化的參數呢?
link |
03:21.000
Memo是用gradient descent的方法來認初始化的參數。
link |
03:26.000
但你只要用到gradient descent,你就需要initialization。
link |
03:32.000
所以有趣的地方是,雖然是在找initialized的參數,但是Memo本身也需要initialization。
link |
03:42.000
這就好像是印度人的傳說,說這個世界是站在一個烏龜的背上。
link |
03:53.000
那有人就問說,那烏龜又站在什麼東西上面呢?
link |
03:58.000
烏龜站在更大的烏龜背上,更大的烏龜又站在更大更大的烏龜背上。
link |
04:06.000
就好像Memo它本身是要學initialize的參數,但是它本身也是要initialize的。
link |
04:14.000
怎麼辦呢?這個Memo本身需要initialize,那Memo的initialization可以來自哪裡呢?
link |
04:24.000
那近年在文件上看起來,往往Memo的initialization,假設你做的是NLP相關的任務,往往Memo的initialization就是用BERT。
link |
04:35.000
用self-supervised learning學出來的參數,可以作為Memo的初始化參數。
link |
04:42.000
再透過Memo的技術,再去找更好的初始化參數。
link |
04:47.000
那把Memo跟BERT結合起來,有什麼樣的好處呢?
link |
04:53.000
那BERT,雖然現在我們都知道BERT在實務上這個結果非常好,但是BERT有一個重大的問題是
link |
05:02.000
這些self-supervised learning的objective其實跟downstream的任務並沒有直接的關係。
link |
05:11.000
我們知道BERT做的就是填空題,雖然很神奇的是,叫BERT做填空題以後,它在各式各樣的NLP的任務上都可以發揮作用。
link |
05:22.000
但是實際上BERT在pre-train的時候做的事情,跟我們實際上要它最終解的任務是有一段差距的,那這個差距有人叫做learning gate。
link |
05:35.000
也就是我們教BERT在pre-train的時候做的事情,跟我們真正要它做的事情中間是有一段差距的。
link |
05:44.000
而Memo就沒有這個問題,Memo跟BERT同樣是找初始化的參數,但是BERT找出來的初始化的參數雖然在實務上很強,
link |
05:54.000
但是並沒有特別保證它一定在downstream的任務上會有好的表現。
link |
06:00.000
但是Memo就不一樣,Memo找出來的這個初始化參數,Memo在找這個初始化參數的時候,
link |
06:08.000
它本來找初始化參數的目標就是為了要在我們關心的這些任務上得到好的表現。
link |
06:16.000
那如果你熟悉Memo的話,你會知道這系列meta-learning的方法都是要先收集一些訓練的任務。
link |
06:25.000
那我們就是去找一組初始化的參數在訓練的任務上可以得到好的結果。
link |
06:31.000
那如果訓練任務跟測試的任務它們有接近的分佈的話,那我們可以想像說在訓練的任務上可以有好的結果,
link |
06:41.000
初始化參數也可以被用在測試的任務上。
link |
06:45.000
所以如果我們比較Memo跟BERT,那Memo是比較有保障的。
link |
06:53.000
Memo在找這個初始化參數的時候,它的目標就是為了要在我們感興趣的那些任務上得到好的結果。
link |
07:03.000
但是Memo有一個劣勢,就是如果你要使用Memo這個技術,你需要準備訓練的任務。
link |
07:12.000
一方面Memo本身的運算量非常的龐大,另外一方面要準備這些訓練的任務也需要進行人工的標註。
link |
07:23.000
這些訓練的任務裡面的資料往往是需要標註的。
link |
07:28.000
而BERT不一樣,BERT的訓練本身可以用無所不在的大量的未標註資料來完成。
link |
07:36.000
所以BERT跟Memo它們各有所長各有所短,所以把它們結合在一起可能會是一個不錯的選擇。
link |
07:46.000
那在文獻上確實有非常多文章嘗試把Sale Supervised Model跟Memo結合在一起。
link |
07:55.000
那這邊就舉兩個例子,一個例子是做在Task Oriented的Semantic Parsing上。
link |
08:02.000
那如果你不知道這個是什麼沒有關係,反正就是某一個NLP的任務。
link |
08:07.000
在這個縱軸的值越大越好,那橫軸是訓練資料量,越往右代表所用的訓練資料越多。
link |
08:16.000
藍色這條線是BERT的結果,BERT是BERT的一個變形,那如果你不知道BERT是什麼沒有關係,它就是一種BERT的變形。
link |
08:26.000
那BERT給我們的結果是藍色的這一條線,那你可以把BERT再加Reptile,Reptile是一種Memo的變形。
link |
08:35.000
你可以用BERT當作Reptile它的初始化參數,再用Reptile去Update BERT的參數得到更好的初始化參數,那你得到的會是綠色的這一條線。
link |
08:51.000
那你發現說綠色這一條線比藍色這一條線的結果更好,尤其是在訓練資料特別少的時候,看起來把這個Field Supervised Learning再加上Meta Learning在訓練資料特別少的時候,它更具有優勢。
link |
09:08.000
好,那這是另外一篇Paper了,那這篇Paper是做在一些Natural Language Understanding的任務上,那這篇Paper同樣也顯示說如果你用BERT,你得到的是藍色的這一條線,縱軸是正確率,橫軸是訓練資料的量,那BERT是藍色這一條線。
link |
09:28.000
如果把BERT後面再加上Reptile,你會得到橙色的這一條線,那一樣你會發現說在訓練資料特別少的時候,把Field Supervised的Model BERT再加上Meta Learning的技術Reptile,可以得到特別顯著的進步。
link |
09:47.000
好,那像這樣子的文章還有很多,那我最近寫了一篇有關Meta Learning用在自然語言處理上面的Overview Paper,那我把連結放在這邊。
link |
10:02.000
好,那在這個Paper裡面有收集了近三年來把Memo或相關的技術用在自然語言處理上的文章,然後我特別統計了在做Memo的時候,他們都是怎麼做Initialization。
link |
10:19.000
那你會發現多數文章其實都是有用Wear Embedding或者是用BERT或Multilingual BERT來做Initialization,那真正完全從隨機的Initialization來Train Memo的文章其實是比較少的。
link |
10:39.000
好,那接下來要跟大家分享的是怎麼把Meta Learning的概念用在Knowledge Destination上。
link |
10:49.000
好,那我們在講模型的壓縮的時候,我們在講怎麼把大的Neural Network縮小的時候,跟大家介紹過Knowledge Destination這個技術。
link |
11:01.000
我們說Knowledge Destination這個技術就是你先Train一個大的Teacher Model,接下來你把大的Teacher Model的輸出當作是小的Student Model的學習目標,讓小的Student Model的輸出跟大的Teacher Model的輸出越接近越好。
link |
11:23.000
但是啊,這個大的Teacher Model它本身在訓練的時候就是當作一般的,假設我們現在做的是Image Classification的問題,那這個大的Teacher Model在訓練的時候就是當作一般的模型來解分類的問題。
link |
11:43.000
這個Teacher啊,它到底擅不擅長教學,我們不知道。那甚至呢,有文獻指出,在這個分類任務上做得特別好的Teacher,它本身不見得是特別擅長教學的。
link |
12:01.000
舉例來說,在這個Table 1裡面,有四個不同的模型,它們有不同的正確率,那Cupmix是正確率最高的模型。
link |
12:13.000
但是如果拿Student去跟這四個模型去學,你會發現呢,這個正確率最高的老師教出來的不見得是最厲害的學生。
link |
12:31.000
然後呢,也呈現了很類似的結果,這邊有四個不同大小的ResNet,越大的ResNet,它的正確率越高。
link |
12:43.000
那現在呢,用20層的ResNet去跟這四個不同程度的老師學習,結果發現,最爛的老師教出來的學生是最強的,正確率最高的老師教出來的學生反而是最弱的。
link |
12:59.000
所以老師本身的實力並不一定能夠反映在學生的成果上。
link |
13:07.000
這個我們的高等教育都假設最能做研究的人就是最會教學的人,但往往也不見得是這樣。
link |
13:13.000
好,那我們有沒有辦法讓這個Teacher Network學習怎麼去Teach呢?
link |
13:21.000
是有辦法的,我們可以用Meta Learning的概念,我們可以引進Meta Learning的概念,讓這個Teacher Network學習怎麼去Teach。
link |
13:31.000
那怎麼做呢?我們現在的這個TeacherNet,它的學習的目標不再是單純的分類的正確率,我們的TeacherNet學習的目標是Student跟Teacher學習以後的正確率。
link |
13:50.000
假設你有一個TeacherNet給你一些訓練資料,你有一個TeacherNet給你一些訓練資料,你先做一下Knowledge Destination,得到StudentNet。
link |
14:03.000
接下來你再拿另外一些資料來測試一下StudentNet的好壞,得到StudentNet在這個測試資料上的Testing Load。
link |
14:14.000
那TeacherNet它會Update它的參數,它Update的目標不是自己能夠做得多好,它Update的目標是Student可以做得多好。
link |
14:29.000
所以這個TeacherNet它不一定是一個正確率特別高的TeacherNet,但是它是一個Student跟它做完Knowledge Destination以後,結果會特別好的TeacherNet。
link |
14:42.000
好,這邊是簡單跟大家講一下怎麼把Meta Learning的概念用在Knowledge Destination上面。
link |
14:50.000
那如果你想要知道更多的詳情的話,可以閱讀以下這兩篇文章。
link |
14:56.000
那有人可能會覺得說,這個要Update這個TeacherNet,最終目標是要讓Student的結果變好,這個會不會很難學啊?
link |
15:06.000
那其實這個TeacherNet的Update不一定要Update一整個大模型的所有參數。
link |
15:13.000
舉例來說,在有的文章裡面,它只會去Update比如說TeacherNet的Output的Temperature。
link |
15:20.000
我不知道大家還記不記得我們說在做Knowledge Destination的時候,有一個重要的事情是,你會把Teacher的Output加上Temperature。
link |
15:28.000
如果你忘記的話,你再自己去複習那個過去的錄影。那這個Temperature到底要加多大呢?過去只能當作一個Hyperparameter,用人手來調。
link |
15:42.000
但是呢,透過這種Learn to Teach的方法,也許你可以用Learn to Teach的方法來Learn Temperature應該有多大。
link |
15:51.000
好,那這個是Knowledge Destination跟Meta Learning的結合。
link |
15:58.000
接下來呢,要跟大家分享Meta Learning跟Domain Adaptation的關係。
link |
16:06.000
那我們課堂上在講Domain Adaptation的時候,有給大家看過這個圖。
link |
16:11.000
那最簡單的是Knowledge Domain,我們有一些但是不多的Label Data。那像這種Case,你要用Meta Learning來處理,完全是可以的。
link |
16:23.000
我們知道Meta Learning,它特別擅長的就是解ViewShot Learning的題目。
link |
16:29.000
所以Meta Learning可以很自然的被用在有Label Data的Domain Adaptation上面。
link |
16:36.000
但是這邊呢,我想要特別跟大家分享的是一個比較Tricky的東西。
link |
16:42.000
怎麼把Meta Learning用在Domain Generalization上面?
link |
16:48.000
那什麼是Domain Generalization?Domain Generalization的意思就是說,我們對Target的Domain一無所知。
link |
16:56.000
我們對Target Domain一無所知的情況下,我們想訓練一個有比較好的Generalize能力的模型,就算是未知的Target Domain,它也可以有好的表現。
link |
17:09.000
這邊呢,再稍微講一下Domain Generalization的概念。
link |
17:14.000
那Domain Generalization想做到的事情就是,我們有一堆訓練的Domain。
link |
17:21.000
我們有一個Learning Algorithm,我們想用這一些來自不同Domain的資料去訓練一個模型。
link |
17:29.000
這個模型它很厲害,就算是在Target Domain上也有好的表現。
link |
17:36.000
那當我們要把Meta Learning用在Domain Generalization的時候,我們要做的事情就是Learn這個Learning Algorithm。
link |
17:45.000
Learn這個可以從不同Domain裡面學出一個模型,這個模型可以被用在新的Target Domain上的Learning Algorithm。
link |
17:55.000
那至於實際上是要Learn Learning Algorithm裡面的什麼東西,那就看你自己。
link |
18:02.000
比如說,如果是Memo那個系列的Worker,就是Learn Learning Algorithm裡面的Initialization。
link |
18:09.000
好,但是你仔細想一下會發現說,這個還真不知道該從何下手。
link |
18:16.000
為什麼?因為我們並沒有Target Domain的Data。
link |
18:21.000
如果我們有Target Domain的Data,你當然可以直接Learn一個Learning Algorithm,
link |
18:27.000
然後你的目標是要去Optimize在Target Domain上的Performance。
link |
18:32.000
但是不要忘了,在Domain Generalization這樣的任務裡面,Target Domain的資料,我們在訓練階段是拿不到的。
link |
18:41.000
那怎麼把Meta Learning的概念用在Domain Generalization上呢?
link |
18:47.000
這邊就有一個神奇的做法。
link |
18:50.000
既然Target Domain的資料我們實際上拿不到,那怎麼辦呢?
link |
18:55.000
我們就把Training的這些Domain裡面的其中一個Domain拿出來,讓它來假扮Target Domain。
link |
19:05.000
所以我們就把藍色的這個Domain拿出來,說它是我們現在的Target Domain。
link |
19:11.000
我們要在紅色跟黃色的Domain上訓練出來一個模型,希望可以被用在藍色的Domain上。
link |
19:20.000
所以我們就是有一個Learning Algorithm,它在紅色跟黃色的Domain上進行學習,學出一個模型。
link |
19:27.000
這個模型要被用在藍色的Domain上。
link |
19:31.000
這個藍色的Domain,這個資料我們是有的,所以我們就可以說,我們去Learn這個Learning Algorithm,
link |
19:38.000
比如說套用Memo等等方法,套用Memo,Learn這個Initialize的參數,
link |
19:44.000
它最終的目標是要讓藍色的這個Domain上的正確率越高越好。
link |
19:51.000
就找一個Initialization的參數,用紅色跟黃色的Domain進行訓練,
link |
19:55.000
但最終希望在藍色Domain上的結果越高越好。
link |
20:00.000
每一個這個Training的Domain都可以各自來扮演這個Target Domain。
link |
20:07.000
所以你先拿紅色的扮演Target Domain,那這個時候黃色跟藍色就負責訓練。
link |
20:13.000
這個黃色扮演Target Domain,紅色藍色就負責訓練。
link |
20:17.000
藍色扮演Target Domain,黃色紅色就負責訓練。
link |
20:20.000
那這邊每次不同的這個Domain來扮演Target Domain的時候,就是不同的Training的任務。
link |
20:29.000
我們就在這些Training的任務上Learn一個Learning的Algorithm,然後期待把它用在Testing的任務上。
link |
20:37.000
那Testing的任務就是我們最終真正關心的問題,把所有Training Domain裡面的資料倒在一起,
link |
20:44.000
期待在我們從來沒有看過的Target Domain上,在Training的時候從來沒有看過的Target Domain上,
link |
20:51.000
在這個綠色的Domain上,也可以有好的表現。
link |
20:55.000
好,那在文獻上呢,也有人嘗試過這種做法了。
link |
21:00.000
舉例來說,你可以看看這邊放的這個Reference,那這個圖呢是從Reference裡面截出來的啦。
link |
21:06.000
那你可以很明顯地看到說,他想要做的是這個Text Classification文件分類的任務。
link |
21:14.000
那他現在手上呢,有英文的資料,有法文的資料,有德文的資料,但是他的Target Domain是日文的資料。
link |
21:24.000
所以他的這個Training Task裡面呢,這個Task 1就是Train在英文、法文上,測試在德文上。
link |
21:31.000
Task 2就是Train在英文、德文上,測試在法文上。
link |
21:36.000
Task 3就是Train在法文、德文上,測試在英文上。
link |
21:40.000
這些是他的訓練的任務,在這些訓練的任務上,找一個Learning Algorithm。
link |
21:45.000
那實際上他用的是一個叫MGL的方法,那詳細我們這邊就不講,總之就是找一個Learning Algorithm。
link |
21:52.000
然後在測試的時候呢,我們測試的任務是要Train在英文、法文、德文上,然後呢,用在日文上。
link |
22:01.000
所以這是訓練的任務,這是測試的任務,用這些訓練的任務,Learn一個Learning Algorithm。
link |
22:08.000
期待這個Learning Algorithm在測試的任務,看到這些Data的時候,Learn出來的Model,可以Generalize到沒有看過的Data,可以Generalize到日文上面。
link |
22:20.000
好,那我們已經知道說呢,Meta Learning可以拿來幫助這個Domain Adaptation或Domain Generalization。
link |
22:31.000
但是Meta Learning本身也有可能會遇到需要做Domain Adaptation或Domain Generalization的狀況。
link |
22:42.000
什麼意思呢?為什麼我們需要做Domain Adaptation?那是因為我們的訓練資料跟測試資料有可能有很不一樣的分佈。
link |
22:53.000
而在Meta Learning上,有另外一個層次的分佈差異的問題。
link |
22:59.000
在Meta Learning上,你有可能會遇到你的訓練任務跟測試任務,他們分佈是不像的狀況。
link |
23:08.000
這個時候,你需要另外一個層級的Domain Adaptation。
link |
23:15.000
所以Meta Learning可以拿來幫助Machine Learning裡面的Domain Adaptation。
link |
23:21.000
但是另外一方面,Meta Learning本身可能自己也會需要Domain Adaptation,但這是另外一個Level的Domain Adaptation。
link |
23:32.000
當你的訓練任務跟測試任務很不一樣的時候,那要怎麼在這樣的訓練任務上面訓練出一個Learning Algorithm,可以Apply在不太一樣的測試任務上面,這是一個尚待研究的問題。
link |
23:47.000
在下面放了一篇相關的論文給大家參考。
link |
23:52.000
最後一個想跟大家分享的主題,是Meta Learning怎麼用在Lifelong Learning上?
link |
24:01.000
那這邊很快的幫大家複習一下Lifelong Learning。
link |
24:05.000
一般人對AI的想像是這個樣子的,我們先給我們的模型資料集1,那模型就學會任務1,再給他資料集2,模型就學會任務1加2。
link |
24:17.000
你不斷教他不斷教他,幾千年後他就會變成天王。
link |
24:23.000
但是我們知道說實際上今天的Machine Learning的訓練過程並不是這樣的。
link |
24:30.000
如果你今天讓你的Model先看過Data1再看過Data2,他很有可能會只記得在Data2上學過的東西,但是不記得在DataSet1上面學過的東西。
link |
24:45.000
那這種狀況叫做Catastrophic Forgetting。
link |
24:50.000
那在過去的課程中,我們已經講過了一系列可以處理Catastrophic Forgetting的方法。
link |
24:58.000
那Meta Learning有沒有可能強化這些方法呢?是有可能的。
link |
25:04.000
我今天這邊舉個例子說明Meta Learning怎麼用在Selective Synaptic Staticity上。
link |
25:11.000
那這類的方法又叫做Regularization Based的方法。
link |
25:16.000
好,那現在假設我們有一個DataSet1,然後我們用DataSet1訓練一個模型,這個模型叫做Data。
link |
25:27.000
那接下來呢,在這個Lifelong Learning的Scenario裡面,我們會有DataSet2。
link |
25:33.000
那DataSet2會拿來再調整Theta的參數,得到Theta'.
link |
25:40.000
那我們這邊期待可以做到的事情是Theta'不只要能夠處理DataSet2的Data,
link |
25:50.000
他也仍然要可以記得過去學過的東西,他也要可以處理DataSet1裡面的Data。
link |
25:59.000
那怎麼辦呢?在之前課堂上,我們已經提過了一系列Regularization的方法,比如說EWC、SI、NAS等等。
link |
26:09.000
但是這些方法,他們是人所設計的,人設計了一些Contract讓ThetaUpdate變成Theta'的時候,不要忘記過去學到的東西。
link |
26:25.000
那除了用人來設計Regularization以外,有沒有可能透過Meta Learning的力量來找一個比較好的Learning Algorithm,
link |
26:37.000
這個比較好的Learning Algorithm,它是可以避免Catastrophe Forgetting的呢?是有可能的。
link |
26:45.000
我們有可能用Meta Learning的方法來Learn一個Learning Algorithm。
link |
26:50.000
那這個Learning Algorithm的目標,不是單純要讓Testing Set上的正確率變高。
link |
26:57.000
我們之前一般在講Meta Learning的時候,我們要Learn的Learning Algorithm,我們Learn這個Learning Algorithm的人的目標,
link |
27:04.000
往往都是期待說找到一個Learning Algorithm,它可以在Testing的Data上有比較低的Loss或者是比較高的正確率。
link |
27:14.000
但這邊我們要處理的是Catastrophe Forgetting的問題,所以你可以改一下Meta Learning的目標。
link |
27:21.000
你可以說我們要Learn一個Learning Algorithm,這個Learning Algorithm它的目標是要避免Catastrophe Forgetting。
link |
27:29.000
也就是說我們要找一個Learning Algorithm,這個Learning Algorithm把Theta Update變成Theta Prime以後,
link |
27:36.000
不只可以學會新的東西,也不忘記舊的東西。
link |
27:42.000
那有可能用Meta Learning的方法找到這樣子的Learning Algorithm嗎?
link |
27:47.000
是有可能的,以下我列了兩篇文章給大家參考。
link |
27:53.000
好,那就像剛才我們講Domain Adaptation的時候,我們說Meta Learning可以幫助Domain Adaptation,
link |
28:02.000
但是Meta Learning本身可能也需要Domain Adaptation,那在Lifelong Learning其實也是一樣的狀況。
link |
28:11.000
我們說Meta Learning可以幫助我們Learn出一個Learning Algorithm,這個Learning Algorithm比較有機會可以避免Catastrophe Forgetting。
link |
28:20.000
但是Meta Learning本身也有可能會遇到Catastrophe Forgetting的狀況。
link |
28:27.000
假設你現在你在訓練這個Learning Algorithm的時候,你有一系列的訓練任務,你有一系列的Training Task,
link |
28:38.000
你先用第一組Training Task來找一個Learning Algorithm,接下來再拿第二組的Learning Task來找Learning Algorithm,
link |
28:46.000
接下來再拿第三組的Training Task來找Learning Algorithm,那你仍然有可能遇到Catastrophe Forgetting的問題,
link |
28:55.000
你仍然有可能看完這一組訓練的任務以後找出來的Learning Algorithm,它只在黃色的這組任務上面,
link |
29:03.000
黃色的這組任務上面可以發揮作用,在看到過去藍色的訓練任務的時候可能就沒有辦法解了。
link |
29:13.000
那你仍然有可能會遇到Meta Learning本身仍然有可能會遇到Catastrophe Forgetting的問題。
link |
29:20.000
所以Meta Learning可以避免Catastrophe Forgetting,但Meta Learning本身也有可能遇到Catastrophe Forgetting的問題。
link |
29:29.000
那怎麼解?以下再列出兩篇文章,那這邊我們就不細講,我再列出兩篇文章給大家參考。
link |
29:38.000
今天就是很簡短的跟大家介紹Meta Learning還有以前我們所講過的種種技術,
link |
29:46.000
Self Supervised Learning, Domain Generalization, Noise Desolation,還有Lifelong Learning之間的關係。
link |
29:52.000
好,那如果你想學更多跟Meta Learning有關的事情,尤其是Meta Learning怎麼被用在自然語言處理上的話,
link |
30:03.000
那歡迎參考我最近寫的一篇Overview Paper,那我把連結放在這裡。
link |
30:09.000
好,那我講一件跟課程無關的事情,那其實我現在人在美東參加Frederick Janelik Memorial Summer Workshop,
link |
30:19.000
那我會帶領一個團隊跟很多厲害的學者一起研究怎麼把Self Supervised Learning的技術用在語音上。
link |
30:29.000
好,那如果你有興趣想知道我們打算做什麼的話,可以線上聽一下6月27號的Opening,
link |
30:38.000
那我的演講的時間是在台灣時間的晚上11點10分。
link |
30:44.000
最後呢,我要感謝台智雲提供給我們運算資源,
link |
30:51.000
讓我們可以在Workshop的期間做更多的嘗試,跑更大的模型。
link |
30:59.000
好,所以感謝台智雲,台智雲是台灣做深度學習的人的神隊友。
link |
31:06.000
好,那今天課就上到這邊,謝謝大家,謝謝。