小樣本學(xué)習(xí)(Few-shot Learning)綜述
摘要: 人類非常擅長通過極少量的樣本識(shí)別一個(gè)新物體,比如小孩子只需要書中的一些圖片就可以認(rèn)識(shí)什么是“斑馬”棕所,什么是“犀藕恚”俊鱼。在人類的快速學(xué)習(xí)能力的啟發(fā)下那婉,研究人員希望機(jī)器學(xué)習(xí)模型在學(xué)習(xí)了一定類別的大量數(shù)據(jù)后卸亮, ...
分類非常常見,但如果每個(gè)類只有幾個(gè)標(biāo)注樣本熄赡,怎么辦呢姜挺?
筆者所在的阿里巴巴小蜜北京團(tuán)隊(duì)就面臨這個(gè)挑戰(zhàn)。我們打造了一個(gè)智能對(duì)話開發(fā)平臺(tái)--Dialog Studio彼硫,以賦能第三方開發(fā)者來開發(fā)各自業(yè)務(wù)場景中的任務(wù)型對(duì)話炊豪,其中一個(gè)重要功能就是對(duì)意圖進(jìn)行分類。大量平臺(tái)用戶在創(chuàng)建一個(gè)新對(duì)話任務(wù)時(shí)拧篮,并沒有大量標(biāo)注數(shù)據(jù)词渤,每個(gè)意圖往往只有幾個(gè)或十幾個(gè)樣本。
面對(duì)這類問題串绩,有一個(gè)專門的機(jī)器學(xué)習(xí)分支--Few-shot Learning 來進(jìn)行研究和解決缺虐。過去一年,我們對(duì) Few-shot Learning 進(jìn)行了系統(tǒng)的梳理和研究礁凡,將Few-shot Learning和Capsule Network 融合志笼,提出了Induction Network,在文本分類上做到了新的state-of-the-art把篓。
創(chuàng)新總是基于對(duì)已有成果的梳理和思考纫溃,這篇綜述算是一個(gè)小結(jié),寫出來和大家一起分享韧掩,一起討論紊浩。
本文先介紹Few-shot Learning 定義;由于最近幾年Few-shot Learning 在圖像領(lǐng)域的進(jìn)展領(lǐng)先于在自然語言處理領(lǐng)域疗锐,所以第二部分結(jié)合其在圖像處理領(lǐng)域的研究進(jìn)展坊谁,詳細(xì)介紹Few-shot Learning 的三類典型方法及每種方法的代表性模型;接下來介紹在自然語言處理領(lǐng)域的研究進(jìn)展以及我們對(duì)metric-based 的方法進(jìn)行系統(tǒng)總結(jié)后提出的few-shot learning framework滑臊。
問題定義
人類非常擅長通過極少量的樣本識(shí)別一個(gè)新物體口芍,比如小孩子只需要書中的一些圖片就可以認(rèn)識(shí)什么是“斑馬”,什么是“犀殴途恚”鬓椭。在人類的快速學(xué)習(xí)能力的啟發(fā)下,研究人員希望機(jī)器學(xué)習(xí)模型在學(xué)習(xí)了一定類別的大量數(shù)據(jù)后关划,對(duì)于新的類別小染,只需要少量的樣本就能快速學(xué)習(xí),這就是Few-shot Learning 要解決的問題贮折。
Few-shot Learning 是Meta Learning在監(jiān)督學(xué)習(xí)領(lǐng)域的應(yīng)用裤翩。Meta Learning,又稱為learning to learn调榄,在meta training 階段將數(shù)據(jù)集分解為不同的 meta task踊赠,去學(xué)習(xí)類別變化的情況下模型的泛化能力呵扛,在 meta testing 階段,面對(duì)全新的類別筐带,不需要變動(dòng)已有的模型今穿,就可以完成分類。?
形式化來說烫堤,few-shot 的訓(xùn)練集中包含了很多的類別荣赶,每個(gè)類別中有多個(gè)樣本。在訓(xùn)練階段鸽斟,會(huì)在訓(xùn)練集中隨機(jī)抽取C個(gè)類別拔创,每個(gè)類別K個(gè)樣本(總共 CK個(gè)數(shù)據(jù)),構(gòu)建一個(gè)meta-task富蓄,作為模型的支撐集(support set)輸入剩燥;再從這C個(gè)類中剩余的數(shù)據(jù)中抽取一批(batch)樣本作為模型的預(yù)測對(duì)象(batch set)。即要求模型從 C*K個(gè)數(shù)據(jù)中學(xué)會(huì)如何區(qū)分這C個(gè)類別立倍,這樣的任務(wù)被稱為C-way K-shot問題灭红。
訓(xùn)練過程中,每次訓(xùn)練(episode)都會(huì)采樣得到不同meta-task口注,所以總體來看变擒,訓(xùn)練包含了不同的類別組合,這種機(jī)制使得模型學(xué)會(huì)不同meta-task 中的共性部分寝志,比如如何提取重要特征及比較樣本相似等娇斑,忘掉meta-task中task 相關(guān)部分。通過這種學(xué)習(xí)機(jī)制學(xué)到的模型材部,在面對(duì)新的未見過的meta-task 時(shí)毫缆,也能較好地進(jìn)行分類。
圖1:Few-shot Learning示例
圖1 展示的是一個(gè)2-way 5-shot 的示例乐导,可以看到meta training 階段構(gòu)建了一系列meta-task 來讓模型學(xué)習(xí)如何根據(jù)support set 預(yù)測batch set 中的樣本的標(biāo)簽苦丁;meta testing 階段的輸入數(shù)據(jù)的形式與訓(xùn)練階段一致(2-way 5-shot),但是會(huì)在全新的類別上構(gòu)建support set和batch物臂。
在圖像領(lǐng)域的研究現(xiàn)狀
早期的Few-shot Learning算法研究多集中在圖像領(lǐng)域旺拉,如圖2所示,F(xiàn)ew-shot Learning模型大致可分為三類:Mode Based鹦聪,Metric Based和Optimization Based账阻。
圖2:Few-shot Learning模型分類
其中Model Based方法旨在通過模型結(jié)構(gòu)的設(shè)計(jì)快速在少量樣本上更新參數(shù),直接建立輸入x和預(yù)測值P 的映射函數(shù)泽本;Metric Based方法通過度量batch 集中的樣本和support集中樣本的距離,借助最近鄰的思想完成分類姻僧;Optimization Based方法認(rèn)為普通的梯度下降方法難以在few-shot場景下擬合规丽,因此通過調(diào)整優(yōu)化方法來完成小樣本分類的任務(wù)蒲牧。
Model Based方法
Santoro 等人[3]提出使用記憶增強(qiáng)的方法來解決Few-shot Learning任務(wù)《妮海基于記憶的神經(jīng)網(wǎng)絡(luò)方法早在2001 年被證明可以用于meta-learning冰抢。他們通過權(quán)重更新來調(diào)節(jié)bias,并且通過學(xué)習(xí)將表達(dá)快速緩存到記憶中來調(diào)節(jié)輸出艘狭。
然而挎扰,利用循環(huán)神經(jīng)網(wǎng)絡(luò)的內(nèi)部記憶單元無法擴(kuò)展到需要對(duì)大量新信息進(jìn)行編碼的新任務(wù)上。因此巢音,需要讓存儲(chǔ)在記憶中的表達(dá)既要穩(wěn)定又要是元素粒度訪問的遵倦,前者是說當(dāng)需要時(shí)就能可靠地訪問,后者是說可選擇性地訪問相關(guān)的信息官撼;另外梧躺,參數(shù)數(shù)量不能被內(nèi)存的大小束縛。神經(jīng)圖靈機(jī)(NTMs)和記憶網(wǎng)絡(luò)就符合這種必要條件傲绣。
文章基于神經(jīng)網(wǎng)絡(luò)圖靈機(jī)(NTMs)的思想掠哥,因?yàn)镹TMs能通過外部存儲(chǔ)(external memory)進(jìn)行短時(shí)記憶,并能通過緩慢權(quán)值更新來進(jìn)行長時(shí)記憶秃诵,NTMs可以學(xué)習(xí)將表達(dá)存入記憶的策略续搀,并如何用這些表達(dá)來進(jìn)行預(yù)測。由此菠净,文章方法可以快速準(zhǔn)確地預(yù)測那些只出現(xiàn)過一次的數(shù)據(jù)禁舷。
文章基于LSTM等RNN的模型,將數(shù)據(jù)看成序列來訓(xùn)練嗤练,在測試時(shí)輸入新的類的樣本進(jìn)行分類榛了。
具體地,在t時(shí)刻煞抬,模型輸入
霜大,也就是在當(dāng)前時(shí)刻預(yù)測輸入樣本的類別,并在下一時(shí)刻給出真實(shí)的label革答,并且添加了external memory存儲(chǔ)上一次的 x 輸入战坤,這使得下一次輸入后進(jìn)行反向傳播時(shí),可以讓y(label)和x建立聯(lián)系残拐,使得之后的x能夠通過外部記憶獲取相關(guān)圖像進(jìn)行比對(duì)來實(shí)現(xiàn)更好的預(yù)測途茫。
圖3:Memory Augmented Model
Meta Network[12] 的快速泛化能力源自其“快速權(quán)重”的機(jī)制,在訓(xùn)練過程中產(chǎn)生的梯度被用來作為快速權(quán)重的生成溪食。模型包含一個(gè)meta learner和一個(gè)base learner囊卜,meta learner用于學(xué)習(xí)meta task之間的泛化信息,并使用memory 機(jī)制保存這種信息,base learner用于快速適應(yīng)新的task栅组,并和meta learner交互產(chǎn)生預(yù)測輸出雀瓢。
Metric Based方法?
如果在Few-shot Learning的任務(wù)中去訓(xùn)練普通的基于cross-entropy的神經(jīng)網(wǎng)絡(luò)分類器,那么幾乎肯定是會(huì)過擬合玉掸,因?yàn)樯窠?jīng)網(wǎng)絡(luò)分類器中有數(shù)以萬計(jì)的參數(shù)需要優(yōu)化刃麸。
相反,很多非參數(shù)化的方法(最近鄰司浪、K-近鄰泊业、Kmeans)是不需要優(yōu)化參數(shù)的,因此可以在meta-learning的框架下構(gòu)造一種可以端到端訓(xùn)練的few-shot分類器啊易。該方法是對(duì)樣本間距離分布進(jìn)行建模吁伺,使得同類樣本靠近,異類樣本遠(yuǎn)離认罩。下面介紹相關(guān)的方法箱蝠。
如圖4 所示,孿生網(wǎng)絡(luò)(Siamese Network)[4] 通過有監(jiān)督的方式訓(xùn)練孿生網(wǎng)絡(luò)來學(xué)習(xí)垦垂,然后重用網(wǎng)絡(luò)所提取的特征進(jìn)行one/few-shot學(xué)習(xí)宦搬。
圖4:Siamese Network
具體的網(wǎng)絡(luò)是一個(gè)雙路的神經(jīng)網(wǎng)絡(luò),訓(xùn)練時(shí)劫拗,通過組合的方式構(gòu)造不同的成對(duì)樣本间校,輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在最上層通過樣本對(duì)的距離判斷他們是否屬于同一個(gè)類页慷,并產(chǎn)生對(duì)應(yīng)的概率分布憔足。在預(yù)測階段,孿生網(wǎng)絡(luò)處理測試樣本和支撐集之間每一個(gè)樣本對(duì)酒繁,最終預(yù)測結(jié)果為支撐集上概率較高的類別滓彰。
相比孿生網(wǎng)絡(luò),匹配網(wǎng)絡(luò)(Match Network)[2]為支撐集和Batch集構(gòu)建不同的編碼器州袒,最終分類器的輸出是支撐集樣本和query之間預(yù)測值的加權(quán)求和揭绑。
如圖5所示,該文章也是在不改變網(wǎng)絡(luò)模型的前提下能對(duì)未知類別生成標(biāo)簽郎哭,其主要?jiǎng)?chuàng)新體現(xiàn)在建模過程和訓(xùn)練過程上他匪。對(duì)于建模過程的創(chuàng)新,文章提出了基于memory和attention的matching nets夸研,使得可以快速學(xué)習(xí)邦蜜。
對(duì)于訓(xùn)練過程的創(chuàng)新,文章基于傳統(tǒng)機(jī)器學(xué)習(xí)的一個(gè)原則亥至,即訓(xùn)練和測試是要在同樣條件下進(jìn)行的悼沈,提出在訓(xùn)練的時(shí)候不斷地讓網(wǎng)絡(luò)只看每一類的少量樣本贱迟,這將和測試的過程是一致的。
進(jìn)一步井辆,支撐集樣本embedding模型g能繼續(xù)優(yōu)化关筒,并且支撐集樣本應(yīng)該可以用來修改測試樣本的embedding模型 f溶握。
這個(gè)可以通過如下兩個(gè)方面來解決杯缺,即:1)基于雙向LSTM學(xué)習(xí)訓(xùn)練集的embedding,使得每個(gè)支撐樣本的embedding是其它訓(xùn)練樣本的函數(shù)睡榆;2)基于attention-LSTM來對(duì)測試樣本embedding萍肆,使得每個(gè)Query樣本的embedding 是支撐集embedding的函數(shù)。文章稱其為FCE(fully-conditional embedding)胀屿。
圖5:Match Network
原型網(wǎng)絡(luò)(Prototype Network)[5]基于這樣的想法:每個(gè)類別都存在一個(gè)原型表達(dá)塘揣,該類的原型是support set在embedding空間中的均值。然后宿崭,分類問題變成在embedding空間中的最近鄰亲铡。
如圖6所示,c1葡兑、c2奖蔓、c3分別是三個(gè)類別的均值中心(稱 Prototype),將測試樣本x進(jìn)行embedding后讹堤,與這3個(gè)中心進(jìn)行距離計(jì)算吆鹤,從而獲得x的類別。
圖6:Prototype Network
文章采用在Bregman散度下的指數(shù)族分布的混合密度估計(jì)洲守,文章在訓(xùn)練時(shí)采用相對(duì)測試時(shí)更多的類別數(shù)疑务,即訓(xùn)練時(shí)每個(gè)episodes采用20個(gè)類(20 way),而測試對(duì)在5個(gè)類(5 way)中進(jìn)行梗醇,其效果相對(duì)訓(xùn)練時(shí)也采用 5 way的提升了 2.5個(gè)百分點(diǎn)知允。
前面介紹的幾個(gè)網(wǎng)絡(luò)結(jié)構(gòu)在最終的距離度量上都使用了固定的度量方式,如cosine叙谨,歐式距離等温鸽,這種模型結(jié)構(gòu)下所有的學(xué)習(xí)過程都發(fā)生在樣本的embedding階段。
圖7:Relation Networks
而Relation Network[6]認(rèn)為度量方式也是網(wǎng)絡(luò)中非常重要的一環(huán)唉俗,需要對(duì)其進(jìn)行建模嗤朴,所以該網(wǎng)絡(luò)不滿足單一且固定的距離度量方式,而是訓(xùn)練一個(gè)網(wǎng)絡(luò)來學(xué)習(xí)(例如 CNN)距離的度量方式虫溜,在loss方面也有所改變雹姊,考慮到relation network更多的關(guān)注relation score,更像一種回歸衡楞,而非0/1分類吱雏,所以使用了 MSE 取代了cross-entropy敦姻。
Optimization Based方法
Ravi等人[7]研究了在少量數(shù)據(jù)下,基于梯度的優(yōu)化算法失敗的原因歧杏,即無法直接用于meta learning镰惦。
首先,這些梯度優(yōu)化算法包括momentum, adagrad, adadelta, ADAM 等犬绒,無法在幾步內(nèi)完成優(yōu)化旺入,特別是在非凸的問題上,多種超參的選取無法保證收斂的速度凯力。
其次茵瘾,不同任務(wù)分別隨機(jī)初始化會(huì)影響任務(wù)收斂到好的解上。雖然finetune這種遷移學(xué)習(xí)能緩解這個(gè)問題咐鹤,但當(dāng)新數(shù)據(jù)相對(duì)原始數(shù)據(jù)偏差比較大時(shí)拗秘,遷移學(xué)習(xí)的性能會(huì)大大下降。我們需要一個(gè)系統(tǒng)的學(xué)習(xí)通用初始化祈惶,使得訓(xùn)練從一個(gè)好的點(diǎn)開始雕旨,它和遷移學(xué)習(xí)不同的是,它能保證該初始化能讓finetune從一個(gè)好的點(diǎn)開始捧请。
文章學(xué)習(xí)的是一個(gè)模型參數(shù)的更新函數(shù)或更新規(guī)則凡涩。它不是在多輪的episodes學(xué)習(xí)一個(gè)單模型,而是在每個(gè)episode學(xué)習(xí)特定的模型血久。
具體地突照,學(xué)習(xí)基于梯度下降的參數(shù)更新算法,采用LSTM表達(dá)meta learner氧吐,用其狀態(tài)表達(dá)目標(biāo)分類器的參數(shù)的更新讹蘑,最終學(xué)會(huì)如何在新的分類任務(wù)上,對(duì)分類器網(wǎng)絡(luò)(learner)進(jìn)行初始化和參數(shù)更新筑舅。這個(gè)優(yōu)化算法同時(shí)考慮一個(gè)任務(wù)的短時(shí)知識(shí)和跨多個(gè)任務(wù)的長時(shí)知識(shí)座慰。
文章設(shè)定目標(biāo)為通過少量的迭代步驟捕獲優(yōu)化算法的泛化能力,由此meta learner可以訓(xùn)練讓learner在每個(gè)任務(wù)上收斂到一個(gè)好的解翠拣。另外版仔,通過捕獲所有任務(wù)之前共享的基礎(chǔ)知識(shí),進(jìn)而更好地初始化learner误墓。
以訓(xùn)練miniImage數(shù)據(jù)集為例蛮粮,訓(xùn)練過程中,從訓(xùn)練集(64 個(gè)類谜慌,每類600個(gè)樣本)中隨機(jī)采樣5個(gè)類然想,每個(gè)類5個(gè)樣本,構(gòu)成支撐集欣范,去學(xué)習(xí)learner变泄;然后從訓(xùn)練集的樣本(采出的5個(gè)類令哟,每類剩下的樣本)中采樣構(gòu)成 Batch 集,集合中每類有15個(gè)樣本妨蛹,用來獲得learner的loss屏富,去學(xué)習(xí)meta leaner。
測試時(shí)的流程一樣蛙卤,從測試集(16個(gè)類狠半,每類600個(gè)樣本)中隨機(jī)采樣5個(gè)類,每個(gè)類5個(gè)樣本表窘,構(gòu)成支撐集Support Set典予,去學(xué)習(xí)learner;然后從測試集剩余的樣本(采出的5個(gè)類乐严,每類剩下的樣本)中采樣構(gòu)成Batch集,集合中每類有15個(gè)樣本衣摩,用來獲得learner的參數(shù)昂验,進(jìn)而得到預(yù)測的類別概率。這兩個(gè)過程分別如圖8中虛線左側(cè)和右側(cè)艾扮。
圖8:Optimization as a model
meta learner的目標(biāo)是在各種不同的學(xué)習(xí)任務(wù)上學(xué)出一個(gè)模型既琴,使得可以僅用少量的樣本就能解決一些新的學(xué)習(xí)任務(wù)。這種任務(wù)的挑戰(zhàn)是模型需要結(jié)合之前的經(jīng)驗(yàn)和當(dāng)前新任務(wù)的少量樣本信息泡嘴,并避免在新數(shù)據(jù)上過擬合甫恩。?
Finn[8]提出的方法使得可以在小量樣本上,用少量的迭代步驟就可以獲得較好的泛化性能酌予,而且模型是容易fine-tine的磺箕。而且這個(gè)方法無需關(guān)心模型的形式,也不需要為meta learning增加新的參數(shù)抛虫,直接用梯度下降來訓(xùn)練learner松靡。
文章的核心思想是學(xué)習(xí)模型的初始化參數(shù)使得在一步或幾步迭代后在新任務(wù)上的精度較大化。它學(xué)的不是模型參數(shù)的更新函數(shù)或是規(guī)則建椰,它不局限于參數(shù)的規(guī)模和模型架構(gòu)(比如用RNN或siamese)雕欺。它本質(zhì)上也是學(xué)習(xí)一個(gè)好的特征使得可以適合很多任務(wù)(包括分類、回歸棉姐、增強(qiáng)學(xué)習(xí))屠列,并通過fine-tune來獲得好的效果。
文章提出的方法伞矩,可以學(xué)習(xí)任意標(biāo)準(zhǔn)模型的參數(shù)笛洛,并讓該模型能快速適配。他們認(rèn)為扭吁,一些中間表達(dá)更加適合遷移撞蜂,比如神經(jīng)網(wǎng)絡(luò)的內(nèi)部特征盲镶。因此面向泛化性的表達(dá)是有益的。因?yàn)槲覀儠?huì)基于梯度下降策略在新的任務(wù)上進(jìn)行finetune蝌诡,所以目標(biāo)是學(xué)習(xí)這樣一個(gè)模型溉贿,它能對(duì)新的任務(wù)從之前任務(wù)上快速地進(jìn)行梯度下降,而不會(huì)過擬合浦旱。事實(shí)上宇色,是要找到一些對(duì)任務(wù)變化敏感的參數(shù),使得當(dāng)改變梯度方向颁湖,小的參數(shù)改動(dòng)也會(huì)產(chǎn)生較大的loss宣蠕。
在自然語言處理的研究現(xiàn)狀
早期的Few-shot Learning算法研究主要集中在小樣本圖像識(shí)別的任務(wù)上,以MiniImage和Omnigraffle兩個(gè)數(shù)據(jù)集為代表甥捺。
近年來抢蚀,在自然語言處理領(lǐng)域也開始出現(xiàn)Few-shot Learning的數(shù)據(jù)集和模型,相比于圖像镰禾,文本的語義中包含更多的變化和噪聲皿曲,我們將在本節(jié)從數(shù)據(jù)集和模型兩個(gè)方面介紹Few-shot Learning在自然語言處理領(lǐng)域的進(jìn)展,以及我們團(tuán)隊(duì)基于對(duì)話工廠平臺(tái)所做的探索吴侦。
數(shù)據(jù)集
1. FewRel數(shù)據(jù)集[11]由Han等人在EMNLP 2018提出屋休,是一個(gè)小樣本關(guān)系分類數(shù)據(jù)集,包含64種關(guān)系用于訓(xùn)練备韧,16種關(guān)系用于驗(yàn)證和20種關(guān)系用于測試劫樟,每種關(guān)系下包含700個(gè)樣本。?
2. ARSC數(shù)據(jù)集[10]由Yu 等人在NAACL 2018提出织堂,取自亞馬遜多領(lǐng)域情感分類數(shù)據(jù)叠艳,該數(shù)據(jù)集包含23種亞馬遜商品的評(píng)論數(shù)據(jù),對(duì)于每一種商品捧挺,構(gòu)建三個(gè)二分類任務(wù)虑绵,將其評(píng)論按分?jǐn)?shù)分為5、4闽烙、2三檔翅睛,每一檔視為一個(gè)二分類任務(wù),則產(chǎn)生23*3=69個(gè)task黑竞,然后取其中12個(gè)task(4*3)作為測試集捕发,其余57個(gè)task作為訓(xùn)練集。?
3. ODIC數(shù)據(jù)集來自阿里巴巴對(duì)話工廠平臺(tái)的線上日志很魂,用戶會(huì)向平臺(tái)提交多種不同的對(duì)話任務(wù)扎酷,和多種不同的意圖,但是每種意圖只有極少數(shù)的標(biāo)注數(shù)據(jù)遏匆,這形成了一個(gè)典型的Few-shot Learning任務(wù)法挨,該數(shù)據(jù)集包含216個(gè)意圖谁榜,其中159個(gè)用于訓(xùn)練,57個(gè)用于測試凡纳。
主要模型
Gao[9]等人提出文本與圖像的一大區(qū)別在于其多樣性和噪音更大窃植,因此提出一種基于混合注意力的原型網(wǎng)絡(luò)結(jié)構(gòu),如圖9所示荐糜,首先使用instance-level的attention從支撐集中選出和query更為貼近的實(shí)例巷怜,同時(shí)降低噪聲實(shí)例所帶來的影響。
然后feature-level的實(shí)例能夠衡量特征空間中的哪些維度對(duì)分類更為重要暴氏,從而為每種不同的關(guān)系都生成相適應(yīng)的距離度量函數(shù)延塑,從而使模型能夠有效處理特征稀疏的問題。
圖9:基于混合注意力的原型網(wǎng)絡(luò)
Yu[10]等人指出在圖像領(lǐng)域的Few-shot Learning任務(wù)中答渔,比如Omniglot和miniImage數(shù)據(jù)集关带,所有的數(shù)據(jù)都是從同一個(gè)大的數(shù)據(jù)集采樣而來,也就是說所有的meta-task都是來自同一個(gè)領(lǐng)域研儒,所以相關(guān)性是很強(qiáng)的豫缨。
所以之前的Few-shot Learning方法只需使用一個(gè)meta model即可解決剩余的few-shot任務(wù)。但是在現(xiàn)實(shí)場景當(dāng)中端朵,不同的meta task可能來自完全不同的領(lǐng)域,因此使用單獨(dú)的度量方式不足以衡量所有的meta task燃箭。
在這種場景下冲呢,Yu提出使用多種度量方式融合來解跨領(lǐng)域的Few-shot Learning問題。在訓(xùn)練階段招狸,meta learner通過任務(wù)聚類選擇和結(jié)合多種度量方式來學(xué)習(xí)目標(biāo)任務(wù)敬拓,不同領(lǐng)域的meta task首先通過聚類來劃分,因此同一個(gè)簇內(nèi)的task可以認(rèn)為是相關(guān)的裙戏,然后在該簇中訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)作為度量函數(shù)乘凸,這種機(jī)制保證了只有在同一個(gè)簇中的task才會(huì)共享度量函數(shù)。
在測試階段累榜,為每個(gè)test task使用所有度量函數(shù)的線性組合作為任務(wù)適應(yīng)的度量方式营勤。
在對(duì)話工廠平臺(tái)的研究和應(yīng)用
我們團(tuán)隊(duì)基于目前Metric Based方法,提出了Encoder-Induction-Relation的三級(jí)框架壹罚,如圖10所示葛作,Encoder模塊用于獲取每個(gè)樣本的語義表示,可以使用典型的CNN猖凛、LSTM赂蠢、Transformer等結(jié)構(gòu),Induction模塊用于從支撐集的樣本語義中歸納出類別特征辨泳,Relation模塊用于度量query和類別之間的語義關(guān)系虱岂,進(jìn)而完成分類玖院。
圖10:Encoder-Induction-Relation三級(jí)框架
如表1所示,之前的工作往往致力于學(xué)習(xí)不同的距離度量方式第岖,而忽視了從樣本表示到類表示的建模难菌。而在自然語言當(dāng)中,由于每個(gè)人的語言習(xí)慣不同绍傲,同一個(gè)類別的不同表述往往有很多種扔傅,如果僅僅是簡單加和或取平均來作為類別的表示,這些與分類無關(guān)的干擾信息就會(huì)累加烫饼,影響最終的效果猎塞。
因此我們的工作顯式的建模了從樣本表示到類表示這一能力,在ODIC和ARSC兩個(gè)數(shù)據(jù)集上杠纵,超過了之前的state-of-the-art的模型荠耽,實(shí)驗(yàn)結(jié)果如表2所示。
表1:Metric Based方法對(duì)比
表2:ODIC數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
此外比藻,我們?cè)贠DIC數(shù)據(jù)集上逐漸增加訓(xùn)練數(shù)據(jù)的類別數(shù)铝量,如圖11,在測試集上得到的效果會(huì)逐漸提升银亲,這滿足了平臺(tái)級(jí)的語言理解所需要的可泛化慢叨、可持續(xù)學(xué)習(xí)的需求。
圖11:ODIC數(shù)據(jù)集變化趨勢(shì)
總結(jié)
本文從對(duì)話工廠平臺(tái)的實(shí)際問題出發(fā)务蝠,對(duì)小樣本學(xué)習(xí)方法進(jìn)行了系統(tǒng)梳理和研究拍谐,給出了Few-shot Learning的定義,綜述了其在圖像和NLP領(lǐng)域的研究現(xiàn)狀馏段。
針對(duì)Metric Based系列方法轩拨,我們提出了統(tǒng)一的Encode-Induction-Relation描述框架,介紹了我們團(tuán)隊(duì)在使用Few-shot Learning解決平臺(tái)級(jí)自然語言理解所做的工作院喜,即顯式建模從樣本表示到類表示的歸納能力亡蓉。
參考文獻(xiàn)
[1] Brenden M. Lake, Ruslan Salakhutdinov, Jason Gross, and Joshua B. Tenenbaum. One shot learning of simple visual concepts. In CogSci, 2011.?
[2] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, pages 3630–3638, 2016.?
[3] Santoro A, Bartunov S, Botvinick M, et al. One-shot learning with memory-augmented neural networks[J]. arXiv preprint arXiv:1605.06065, 2016.?
[4] Koch, Gregory, Richard Zemel, and Ruslan Salakhutdinov. "Siamese neural networks for one-shot image recognition." ICML Deep Learning Workshop. Vol. 2. 2015.?
[5] Snell, Jake, Kevin Swersky, and Richard Zemel. "Prototypical networks for few-shot learning." Advances in Neural Information Processing Systems. 2017.?
[6] Sung, Flood, et al. "Learning to compare: Relation network for few-shot learning." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.?
[7] Ravi, Sachin, and Hugo Larochelle. "Optimization as a model for few-shot learning." (2016).?
[8] Finn, Chelsea, Pieter Abbeel, and Sergey Levine. "Model-agnostic meta-learning for fast adaptation of deep networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.?
[9] Gao, Tianyu, et al. "Hybrid Attention-Based Prototypical Networks for Noisy Few-Shot Relation Classification." (2019).?
[10] Yu, Mo, et al. "Diverse few-shot text classification with multiple metrics." arXiv preprint arXiv:1805.07513 (2018).?
[11] Han, Xu, et al. "FewRel: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation." arXiv preprint arXiv:1810.10147 (2018).?
[12] Munkhdalai, Tsendsuren, and Hong Yu. "Meta networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.?
[13] Geng R,Li B,Li?Y,et al. Few-Shot Text Classification with Induction Network[J]. arXiv preprint arXiv:1902.10482, 2019.?
[14] https://blog.csdn.net/qq_16234613/article/details/79902085?
[15]https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html#learner-and-meta-learner