之前的面向 NER 的類(lèi)增量學(xué)習(xí)的工作都是基于新類(lèi)有豐富的監(jiān)督數(shù)據(jù)的情況,本文聚焦更具挑戰(zhàn)且更實(shí)用的問(wèn)題:少樣本 NER 的增量學(xué)習(xí)。模型只用少量新類(lèi)樣本進(jìn)行訓(xùn)練,保證新類(lèi)效果的前提下不遺忘舊類(lèi)知識(shí)。為了解決少樣本類(lèi)增量學(xué)習(xí)的災(zāi)難性遺忘問(wèn)題,我們使用訓(xùn)練好的 NER 模型對(duì)舊類(lèi)生成合成數(shù)據(jù)來(lái)提升新類(lèi)訓(xùn)練效果。我們還提出一個(gè)框架,通過(guò)合成數(shù)據(jù)和真實(shí)數(shù)據(jù)將 NER 模型從過(guò)去 step 中進(jìn)行蒸餾。實(shí)驗(yàn)結(jié)果表明我們的方法對(duì)比 baseline 取得了很大的提升。
傳統(tǒng)的 NER 通常在大規(guī)模的數(shù)據(jù)集上訓(xùn)練,然后直接應(yīng)用到測(cè)試數(shù)據(jù)上不進(jìn)行更多的適配。實(shí)際上,測(cè)試數(shù)據(jù)的實(shí)體類(lèi)往往在訓(xùn)練集中沒(méi)有出現(xiàn)過(guò),因此我們希望模型可以增量地學(xué)習(xí)新的實(shí)體類(lèi)。其中一個(gè)問(wèn)題就是之前舊的訓(xùn)練數(shù)據(jù)可能由于各種原因不可用了(隱私等原因),這樣會(huì)使在新類(lèi)上微調(diào)時(shí)造成災(zāi)難性遺忘。
之前的工作(Monaikul 等人,2021)通過(guò)對(duì)新實(shí)體類(lèi)添加輸出層(AddNER)以及對(duì)輸出層進(jìn)行擴(kuò)展(ExtandNER)兩種知識(shí)蒸餾的方式解決。但是這種方式需要大量的數(shù)據(jù),這在實(shí)際問(wèn)題中不太現(xiàn)實(shí)。因此本文遵循了一個(gè)更加實(shí)際的設(shè)置:
(i)使用少量新類(lèi)樣本進(jìn)行增量學(xué)習(xí);
(ii)不需要舊類(lèi)訓(xùn)練數(shù)據(jù)。
對(duì)于 Monaikul 等人的工作,作者認(rèn)為,大量的新類(lèi)監(jiān)督數(shù)據(jù)也包含大量舊類(lèi)的實(shí)體,雖然這些實(shí)體在新類(lèi)數(shù)據(jù)上沒(méi)有標(biāo)注,可以看作一種無(wú)標(biāo)簽的舊類(lèi)實(shí)體的“替代”數(shù)據(jù)集,可以通用知識(shí)蒸餾簡(jiǎn)單的解決災(zāi)難性遺忘。然而在小樣本設(shè)置下,不能寄希望于使用少量樣本來(lái)進(jìn)行知識(shí)蒸餾。
以此為背景,本文提出一個(gè)小樣本增量學(xué)習(xí) NER 的框架。受到上述問(wèn)題的啟發(fā),作者認(rèn)為既然使用少量樣本不行,那就生成一些合成的數(shù)據(jù)進(jìn)行蒸餾。本文通過(guò)翻轉(zhuǎn) NER 模型來(lái)生成合成的數(shù)據(jù)。
具體來(lái)說(shuō),給定一個(gè)舊類(lèi)訓(xùn)練的模型,我們可以優(yōu)化合成數(shù)據(jù)的 embeddings 使得舊類(lèi)模型以合成數(shù)據(jù)為輸入的預(yù)測(cè)結(jié)果包含舊實(shí)體類(lèi),因此使用這些合成數(shù)據(jù)進(jìn)行蒸餾可以保留舊類(lèi)的信息。此外,為了保證合成數(shù)據(jù)相對(duì)真實(shí),我們提出利用新類(lèi)的真實(shí)數(shù)據(jù),對(duì)抗地將合成數(shù)據(jù)和真實(shí)數(shù)據(jù)的 token 隱藏特征相匹配。通過(guò)對(duì)抗匹配得到的合成數(shù)據(jù)在語(yǔ)義上更加接近于新類(lèi)的真實(shí)數(shù)據(jù)。與只在少量樣本上訓(xùn)練相比,合成數(shù)據(jù)提供了更多樣化的信息。
本文的貢獻(xiàn)如下:
1. 本文提出了第一個(gè)少樣本增量學(xué)習(xí)的 NER 模型; 2. 我們使用真實(shí)數(shù)據(jù)和生成的合成數(shù)據(jù)來(lái)進(jìn)行蒸餾的模型框架; 3. 實(shí)驗(yàn)表明我們的方法在少樣本 NER 中取得了很好的效果。
Method
代表數(shù)據(jù)流, 是大規(guī)模源域數(shù)據(jù), 之后都是小樣本的目標(biāo)域數(shù)據(jù)。每個(gè)時(shí)間步上的數(shù)據(jù)集包含 個(gè)新實(shí)體。每個(gè)時(shí)間步的數(shù)據(jù)集只在當(dāng)前時(shí)間步使用,在 t 時(shí)間步上,在 上進(jìn)行評(píng)估。下圖是增量學(xué)習(xí)的示例: ▲ 增量學(xué)習(xí)的示例,每個(gè)時(shí)間步分別有不同的實(shí)體類(lèi),最終預(yù)測(cè)時(shí)三個(gè)實(shí)體類(lèi)都要預(yù)測(cè)。
2.1 The Proposed Framework
本文使用 BERT-CRF 作為基礎(chǔ) NER 模型, 代表 t 時(shí)間步的模型,其由 初始化。假設(shè)我們已經(jīng)得到了合成數(shù)據(jù)(如何生成合成數(shù)據(jù)在后面會(huì)講到)。
其中
是 token 的 embeddings:
是從過(guò)去 t-1 個(gè)時(shí)刻的實(shí)體類(lèi)中隨機(jī)采樣構(gòu)成的標(biāo)簽序列。token 的 embeddings 通過(guò)讓 模型的輸出匹配上隨機(jī)采樣的標(biāo)簽序列來(lái)進(jìn)行優(yōu)化,隨后使用真實(shí)數(shù)據(jù)和合成數(shù)據(jù)進(jìn)行知識(shí)蒸餾。
2.1.1 Distilling with Real Data
本文在 CRF 解碼方面采用 topK 個(gè)預(yù)測(cè)序列,例如對(duì)于 模型,有: ▲ Mt-1對(duì)于Dt數(shù)據(jù)X的topK序列的預(yù)測(cè)概率分布 但是對(duì)于 來(lái)說(shuō), 無(wú)法準(zhǔn)確預(yù)測(cè) 的新類(lèi)別。為了從 中蒸餾知識(shí),我們對(duì) 模型的預(yù)測(cè)序列進(jìn)行了校正。示例如下圖所示: ▲?將step2生成的標(biāo)注結(jié)果其中1943位置的標(biāo)簽替換為“TIME” 這一步就是在訓(xùn)練 之前,將 的新類(lèi)數(shù)據(jù) X 輸入到 中得到 topK 個(gè)預(yù)測(cè)結(jié)果,然后找到 X 中屬于新類(lèi)別的位置,將 得到的標(biāo)簽序列對(duì)應(yīng)位置直接替換為新類(lèi)標(biāo)簽。根據(jù)校正后的標(biāo)簽序列,計(jì)算預(yù)測(cè)的分布:
▲?Mt對(duì)于校正后的topK序列的預(yù)測(cè)概率分布
真實(shí)數(shù)據(jù)蒸餾的損失為一個(gè)交叉熵?fù)p失:
▲?CE Loss 注:校正后的標(biāo)簽中“O”類(lèi)別的語(yǔ)義在 M2 和 M3 中是一致的,因此這種校正不會(huì)造成額外的影響。 2.1.2 Distilling with Synthetic Data
與真實(shí)數(shù)據(jù)不同的是,合成數(shù)據(jù)只包含 t 步之前的標(biāo)簽,因此無(wú)法像真實(shí)數(shù)據(jù)一樣對(duì) CRF 的輸出結(jié)果進(jìn)行校正( 預(yù)測(cè)的“O”有可能在中是“O”也有可能是新類(lèi))。
這里對(duì)于合成數(shù)據(jù)每個(gè) token 的 embeddings,定義:
▲ Mt模型預(yù)測(cè)的邊緣概率分布
▲?Mt-1模型預(yù)測(cè)的邊緣概率分布
其中:
▲1~t步累積的實(shí)體類(lèi)數(shù)目
▲屬于“O”類(lèi)的邊緣概率
▲?屬于Ct-1實(shí)體類(lèi)的邊緣概率
▲屬于新實(shí)體類(lèi)的邊緣概率 文章中將 t 步的邊緣概率分布進(jìn)行了一個(gè)合并,因?yàn)橹械摹癘”類(lèi)實(shí)際上包含了 t 步的新實(shí)體類(lèi),合并方式如下:
▲?合并(個(gè)人認(rèn)為這里書(shū)寫(xiě)錯(cuò)誤,Ct-1不應(yīng)該再減個(gè)1)
保證合并后 t 和 t-1 步的邊緣概率分布維度一致。
合成數(shù)據(jù)的蒸餾損失為 KL 散度損失:
▲?KL散度損失
最后,模型訓(xùn)練總的損失為 CE 和 KL 損失的加權(quán)和,本文權(quán)重參數(shù)設(shè)為 1:
▲?總loss
這里簡(jiǎn)單分析一下,CE 損失的目的是讓模型學(xué)到新實(shí)體的知識(shí),因?yàn)椴捎昧祟?lèi)似于 teacher forcing 的方式,直接將正確標(biāo)簽插進(jìn)去了,所以也能一定程度上減少模型對(duì)于其他位置預(yù)測(cè)結(jié)果的偏差,保留舊知識(shí)。KL 損失的目的是讓兩個(gè)模型對(duì)于合成數(shù)據(jù)預(yù)測(cè)的邊緣概率分布盡可能一致,主要使模型保留舊知識(shí),避免災(zāi)難性遺忘。
2.2 Synthetic Data Reconstruction
合成數(shù)據(jù)的構(gòu)建一個(gè)很自然的想法是,隨機(jī)采樣舊實(shí)體類(lèi)的序列 Y,然后隨機(jī)初始化合成數(shù)據(jù)的嵌入 E,優(yōu)化 E 使得模型輸出匹配上 Y。其損失函數(shù)為:
▲ 負(fù)對(duì)數(shù)損失
但是這樣合成的數(shù)據(jù)可能并不真實(shí),在合成數(shù)據(jù)上訓(xùn)練并且在真實(shí)數(shù)據(jù)上測(cè)試會(huì)存在 domain gap。因此本文提出使用對(duì)抗訓(xùn)練,利用真實(shí)數(shù)據(jù)使合成數(shù)據(jù)更加真實(shí)。 定義:
▲ Mt-1中BERT第l層的輸出(合成數(shù)據(jù))
▲Mt-1中BERT第l層的輸出(Dt中真實(shí)數(shù)據(jù)) 作者希望兩個(gè)隱藏狀態(tài)能夠彼此靠近。這里引入一個(gè)二分類(lèi)判別器,由一個(gè)線性層和一 sigmoid 激活函數(shù)組成。二分類(lèi)判別器的訓(xùn)練目標(biāo)和對(duì)抗損失如下:
▲ 二分類(lèi)器的目標(biāo)
▲對(duì)抗損失
最后,構(gòu)建合成數(shù)據(jù)的總損失如下:
▲總損失
其中,,即每?jī)蓪又g進(jìn)行匹配,β 是一個(gè)超參數(shù),本文設(shè)置為 10。本文在訓(xùn)練過(guò)程中,凍結(jié)了 token embedding 層,目的有兩點(diǎn),第一是讓每一個(gè)時(shí)間步之間的模型共享相同的 token embedding,第二是對(duì)于小樣本設(shè)置來(lái)說(shuō),更新所有的參數(shù)會(huì)導(dǎo)致過(guò)擬合。
作者在這里分析,因?yàn)楹铣蓴?shù)據(jù)的實(shí)體標(biāo)簽都是舊類(lèi)的標(biāo)簽,但是與其相匹配的數(shù)據(jù)卻是只包含新類(lèi)標(biāo)簽的中的數(shù)據(jù),作者認(rèn)為這樣會(huì)造成一些偏差。因此作者修改了匹配的方式,只將合成數(shù)據(jù)中標(biāo)簽為“O”的 token 與真實(shí)數(shù)據(jù)的 token 相匹配。
最后是生成合成數(shù)據(jù)的算法偽代碼:
▲ 生成合成數(shù)據(jù)的偽代碼
Experiments 3.1 數(shù)據(jù)集和設(shè)置 數(shù)據(jù)集采用 CoNLL2003(8 種實(shí)體類(lèi)的順序)和 Ontonote 5.0(按照字母排序,2 種組合方式)。 對(duì)于 CoNLL2003 采用 5-shot 和 10-shot 進(jìn)行試驗(yàn),OntoNote 5.0 采用 5-shot 訓(xùn)練。step1 是基數(shù)據(jù)集,只包含 step1 對(duì)應(yīng)的實(shí)體類(lèi),few-shot 樣本采用貪心采樣的方式(Yang 和 Katiyar,2020)進(jìn)行采樣。
3.2 Baselines和消融實(shí)驗(yàn)
CI NER:類(lèi)增量學(xué)習(xí) NER 的 SOTA; EWC++:一個(gè)解決災(zāi)難性遺忘的方法; FSLL:類(lèi)增量學(xué)習(xí)圖片分類(lèi)的 SOTA; AS-DFD:無(wú)數(shù)據(jù)蒸餾的文本分類(lèi)的 SOTA; L-TAPNet+CDT:少樣本序列標(biāo)注的 SOTA。
▲ OntoNote上的消融實(shí)驗(yàn)
3.3 主實(shí)驗(yàn)
▲ CoNLL2003 5-shot
▲ CoNLL2003 10-shot
▲ OntoNote 5.0 5-shot P1(左)P2(右)
作者還做了一個(gè)可視化的實(shí)驗(yàn):
(a)中有少量 LOC 標(biāo)簽的合成數(shù)據(jù)和真實(shí)分布很接近,但是其他的更多合成數(shù)據(jù)與真實(shí)分布差的很遠(yuǎn)。這可能是因?yàn)椤癘”類(lèi)可能包含多種多樣的信息造成其很難構(gòu)造,使用這樣的合成數(shù)據(jù)會(huì)導(dǎo)致 domain shift。
(b)中合成數(shù)據(jù)匹配真實(shí)數(shù)據(jù)分布,但是只有很少一部分合成數(shù)據(jù)與 LOC 標(biāo)簽的 token 相近,這是由于上文所說(shuō) D2 中并不存在 LOC 標(biāo)簽,將合成數(shù)據(jù)所有 token 與 D2 數(shù)據(jù)匹配會(huì)導(dǎo)致偏離 LOC 標(biāo)簽,丟失很多舊標(biāo)簽的信息。 (c)中作者采用的方法合成數(shù)據(jù)中很多 token 與 LOC 接近,且其余 token 也與真實(shí)數(shù)據(jù)分布相匹配。
▲ 采用不同β
Conclusion
本文提出第一個(gè)類(lèi)增量學(xué)習(xí)的少樣本 NER 模型來(lái)解決災(zāi)難性遺忘。提出了使用上一時(shí)間步的模型來(lái)構(gòu)建包含舊實(shí)體類(lèi)的合成數(shù)據(jù)。合成數(shù)據(jù)提供了更加多樣的包含新實(shí)體和舊實(shí)體的信息,使模型在少樣本設(shè)置下不容易過(guò)擬合。本文也算是一篇啟發(fā)性的論文,通過(guò)隨機(jī)采樣舊類(lèi)實(shí)體標(biāo)簽序列以及只將“O”類(lèi)與真實(shí)的新類(lèi)數(shù)據(jù)以對(duì)抗的方式匹配,使合成數(shù)據(jù)更真實(shí),且包含更多信息。
-
解碼
+關(guān)注
關(guān)注
0文章
183瀏覽量
27416 -
模型
+關(guān)注
關(guān)注
1文章
3296瀏覽量
49040 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1209瀏覽量
24788
原文標(biāo)題:ACL2022 | 類(lèi)增量學(xué)習(xí)的少樣本命名實(shí)體識(shí)別
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論