卓 力 張 雷 賈童瑤 李曉光 張 輝
(北京工業(yè)大學(xué)計(jì)算智能與智能系統(tǒng)北京重點(diǎn)實(shí)驗(yàn)室 北京 100124)
(北京工業(yè)大學(xué)信息學(xué)部 北京 100124)
舌診是中醫(yī)(Traditional Chinese Medicine,TCM)望診的主要內(nèi)容之一,是辨證施治的重要依據(jù)。舌象的變化可真實(shí)地反映人體臟腑的虛實(shí)、氣血的盛衰、病位的深淺、病邪的性質(zhì)以及預(yù)后的好壞。舌診主要通過(guò)觀(guān)察患者的舌苔、舌色等診察特征來(lái)進(jìn)行診斷。舌診涉及的診察特征有30多種,其中,舌色是最直接也是最常用的診察特征之一。舌色即為舌尖和舌兩側(cè)的顏色,一般分為淡紅色、紅色、暗紅色、紫色。舌色分類(lèi)可以看作模式識(shí)別問(wèn)題,普遍采用機(jī)器學(xué)習(xí)的手段加以解決。
近年來(lái),深度學(xué)習(xí)逐漸被應(yīng)用于舌診客觀(guān)化研究中,大大提高了舌象分析處理的準(zhǔn)確率。但是現(xiàn)有的這些研究工作還無(wú)法獲得令人滿(mǎn)意的分類(lèi)結(jié)果,主要原因在于[1]:
(1)深度神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)復(fù)雜,需要大量的有標(biāo)注樣本對(duì)其進(jìn)行訓(xùn)練,才能獲得理想的性能。然而舌象樣本數(shù)據(jù)的采集、標(biāo)注費(fèi)時(shí)費(fèi)力,有標(biāo)注的數(shù)據(jù)匱乏,嚴(yán)重限制了分類(lèi)性能的提升;
(2)通過(guò)一臺(tái)設(shè)備采集到的舌象數(shù)據(jù)訓(xùn)練得到的模型應(yīng)用于另一臺(tái)設(shè)備時(shí),由于光照條件、采集設(shè)備等發(fā)生了變化,導(dǎo)致舌象數(shù)據(jù)分布特性不一致,分類(lèi)性能急劇下降,更有甚者會(huì)導(dǎo)致模型的失效,阻礙了模型的實(shí)際推廣應(yīng)用。
針對(duì)上述問(wèn)題,本文結(jié)合元學(xué)習(xí)、偽標(biāo)簽生成和有噪樣本學(xué)習(xí),提出一種中醫(yī)舌色域自適應(yīng)分類(lèi)方法,以提高舌色分類(lèi)模型的性能和泛化能力。主要的創(chuàng)新點(diǎn)包括:(1)提出一種基于雙階段元學(xué)習(xí)的訓(xùn)練策略。利用圖像分類(lèi)數(shù)據(jù)集MiniImage-Net對(duì)模型進(jìn)行第1階段的元學(xué)習(xí)訓(xùn)練,使模型學(xué)習(xí)到通用性的特征。利用源域舌色數(shù)據(jù)集對(duì)模型進(jìn)行第2階段的元學(xué)習(xí)訓(xùn)練,使得模型可以快速適應(yīng)舌色數(shù)據(jù)的特性;(2)提出一種漸進(jìn)高質(zhì)量偽標(biāo)簽生成方法。基于目標(biāo)域少量有標(biāo)注樣本對(duì)預(yù)訓(xùn)練模型進(jìn)行微調(diào),利用微調(diào)后的模型對(duì)目標(biāo)域大量無(wú)標(biāo)注樣本進(jìn)行預(yù)測(cè),生成偽標(biāo)簽,通過(guò)設(shè)置偽標(biāo)簽置信度閾值結(jié)合模型集成策略,判斷生成的偽標(biāo)簽質(zhì)量,從中篩選出高質(zhì)量的偽標(biāo)簽,和目標(biāo)域的少量有標(biāo)注數(shù)據(jù)一同用于模型訓(xùn)練,漸進(jìn)提升偽標(biāo)簽的準(zhǔn)確度;(3)利用目標(biāo)域少量標(biāo)注樣本和大量偽標(biāo)簽樣本訓(xùn)練分類(lèi)網(wǎng)絡(luò),針對(duì)生成的偽標(biāo)簽中含有噪聲問(wèn)題,采用了對(duì)比正則化函數(shù),有效抑制噪聲樣本在訓(xùn)練過(guò)程中產(chǎn)生的負(fù)面影響,提升目標(biāo)域舌色分類(lèi)準(zhǔn)確率。
在自建的2個(gè)中醫(yī)舌色分類(lèi)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的中醫(yī)舌色分類(lèi)方法能基于目標(biāo)域少量有標(biāo)注樣本,顯著提升目標(biāo)域舌色分類(lèi)的準(zhǔn)確率。在目標(biāo)域每類(lèi)僅給出5張有標(biāo)注樣本的情況下,目標(biāo)域舌色分類(lèi)準(zhǔn)確率達(dá)到了91.3%,與目標(biāo)域有監(jiān)督分類(lèi)性能僅差2.05%。
近年來(lái),以深度學(xué)習(xí)為代表的人工智能迅猛發(fā)展,為傳統(tǒng)中醫(yī)的創(chuàng)新發(fā)展提供了重要的契機(jī)。學(xué)者將深度學(xué)習(xí)應(yīng)用于中醫(yī)舌色分類(lèi)中,取得了重要的研究進(jìn)展。下面對(duì)相關(guān)領(lǐng)域的研究進(jìn)展進(jìn)行介紹。
深度學(xué)習(xí)可以從大量的有標(biāo)注樣本中自動(dòng)學(xué)習(xí)到表達(dá)能力強(qiáng)、通用性好的特征。學(xué)者將深度學(xué)習(xí)應(yīng)用于中醫(yī)舌色分類(lèi)中,大幅提升了分類(lèi)準(zhǔn)確率。文獻(xiàn)[2]對(duì)舌圖像進(jìn)行預(yù)處理,使用修改后的Caffe-Net網(wǎng)絡(luò)對(duì)舌圖像進(jìn)行分類(lèi)。文獻(xiàn)[3]結(jié)合圖像預(yù)處理和深度學(xué)習(xí),在舌圖像數(shù)據(jù)集中驗(yàn)證了自搭建的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的分類(lèi)性能。文獻(xiàn)[4]將舌圖像分割為舌質(zhì)區(qū)域和舌苔區(qū)域,使用稀疏編碼表示舌圖像的特征向量,對(duì)重建特征向量的殘差進(jìn)行計(jì)算來(lái)確定舌色類(lèi)別。文獻(xiàn)[5]提出了一種新穎的置信學(xué)習(xí)輔助知識(shí)蒸餾框架用于解決舌象噪聲標(biāo)簽問(wèn)題,教師網(wǎng)絡(luò)一方面可以執(zhí)行置信學(xué)習(xí)來(lái)識(shí)別、清理和糾正有噪的標(biāo)簽,另一方面可以學(xué)習(xí)知識(shí),指導(dǎo)學(xué)生網(wǎng)絡(luò)訓(xùn)練。文獻(xiàn)[6]針對(duì)舌象標(biāo)簽噪聲問(wèn)題,提出了一種兩階段數(shù)據(jù)清洗方法,對(duì)噪聲樣本進(jìn)行識(shí)別和清洗,同時(shí)設(shè)計(jì)了一種基于通道注意力機(jī)制的輕型CNN,有效提升了舌色分類(lèi)準(zhǔn)確率。
上述基于深度學(xué)習(xí)的中醫(yī)舌色分類(lèi)方法均取得了遠(yuǎn)超過(guò)傳統(tǒng)方法的分類(lèi)性能。但是前提假設(shè)是訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)來(lái)自同一個(gè)域,具有相同的樣本分布。但是在實(shí)際應(yīng)用中,這一假設(shè)往往難以成立,由于訓(xùn)練集和測(cè)試集往往存在域差異,導(dǎo)致分類(lèi)性能?chē)?yán)重下降,模型的泛化能力仍有待于進(jìn)一步提升。
域自適應(yīng)學(xué)習(xí)是遷移學(xué)習(xí)的特例,旨在學(xué)習(xí)一個(gè)魯棒的網(wǎng)絡(luò)模型,使得在源域訓(xùn)練好的模型在目標(biāo)域上也能獲得良好的性能,是一種可以有效提升模型泛化能力的學(xué)習(xí)范式。
域自適應(yīng)方法主要可以分為無(wú)監(jiān)督域自適應(yīng)和半監(jiān)督域自適應(yīng)。無(wú)監(jiān)督域自適應(yīng)指的是目標(biāo)域數(shù)據(jù)樣本均未標(biāo)注,可以進(jìn)一步劃分為淺層和深層方法。淺層域自適應(yīng)方法[7-10]主要利用基于實(shí)例和基于特征的技術(shù)來(lái)對(duì)齊域分布,對(duì)齊分布的一種方法是最小化域之間距離。域自適應(yīng)中最常用的距離度量包括最大平均差異(Maximum Mean Discrepancy, MMD)[11]、相關(guān)比對(duì)(CORrelation ALignment, CORAL)[12]、 KL散度( Kullback-Leibler Divergence, KLD)[13]和對(duì)比域差異(Contrastive Domain Discrepancy, CDD)[14]等。深層域自適應(yīng)方法[15,16]通常使用自編碼器或?qū)咕W(wǎng)絡(luò)來(lái)減小域間距。文獻(xiàn)[17]提出了深度傳輸網(wǎng)絡(luò)(Deep Transfer Network, DTN),該網(wǎng)絡(luò)同時(shí)匹配域間邊緣分布和條件分布,可以有效縮小域間距離。
半監(jiān)督域自適應(yīng)指的是目標(biāo)域數(shù)據(jù)樣本僅有少量進(jìn)行了標(biāo)注。文獻(xiàn)[18]提出了最小最大熵(Mini-Max Entropy, MME)方法,通過(guò)最大化熵更新編碼器,以保持特征的域不變性。文獻(xiàn)[19]利用增強(qiáng)的類(lèi)別對(duì)齊模塊計(jì)算源域的每個(gè)樣本與目標(biāo)域有標(biāo)簽樣本中心的距離,利用一致性學(xué)習(xí)模塊把無(wú)標(biāo)注數(shù)據(jù)經(jīng)過(guò)弱增強(qiáng)后得到數(shù)據(jù)的偽標(biāo)簽作為強(qiáng)增強(qiáng)數(shù)據(jù)的真實(shí)標(biāo)簽。最后通過(guò)兩個(gè)模塊的聯(lián)合學(xué)習(xí)減少域間和域內(nèi)差異。文獻(xiàn)[20]提出了跨域自適應(yīng)聚類(lèi)(Cross-Domain Adaptive Clustering, CDAC),對(duì)高置信度偽標(biāo)簽設(shè)計(jì)了對(duì)抗自適應(yīng)聚類(lèi)損失,拉近類(lèi)內(nèi)距離的同時(shí)拉大類(lèi)間距離。文獻(xiàn)[21]通過(guò)修正無(wú)標(biāo)簽樣本的概率分布和置信度域值來(lái)提高偽標(biāo)簽的質(zhì)量。
元學(xué)習(xí)也被稱(chēng)為“學(xué)習(xí)如何學(xué)習(xí)”,其本質(zhì)是通過(guò)構(gòu)建大量的元訓(xùn)練和元測(cè)試任務(wù),使得網(wǎng)絡(luò)可以不斷適應(yīng)每個(gè)具體任務(wù)的學(xué)習(xí),從而具備抽象的學(xué)習(xí)能力,僅通過(guò)少量的訓(xùn)練樣本就可以實(shí)現(xiàn)新任務(wù)的高效學(xué)習(xí)。元學(xué)習(xí)主要分為基于度量的元學(xué)習(xí)、基于模型的元學(xué)習(xí)和基于優(yōu)化的元學(xué)習(xí)等,代表性方法包括一般神經(jīng)注意力機(jī)制元學(xué)習(xí)(Simple Neural Attentive Meta-Learner, SNAML)[22]、模型不可知元學(xué)習(xí)(Model-Agnostic Meta-Learning,MAML)[23]等。
元學(xué)習(xí)有助于提升分類(lèi)模型的泛化能力和知識(shí)遷移復(fù)用的能力,是一種實(shí)現(xiàn)域自適應(yīng)的有效手段。因此,本文設(shè)計(jì)了雙階段元學(xué)習(xí)域自適應(yīng)策略,來(lái)提升舌色分類(lèi)模型的泛化能力。
本文提出方法的整體框架如圖1所示。主要包括雙階段元學(xué)習(xí)、漸進(jìn)高質(zhì)量偽標(biāo)簽生成和有噪樣本的模型訓(xùn)練等3個(gè)步驟。下面介紹每個(gè)步驟的具體實(shí)現(xiàn)細(xì)節(jié)。
圖1 雙階段元學(xué)習(xí)的中醫(yī)舌色域自適應(yīng)分類(lèi)整體框圖
雙階段元學(xué)習(xí)整體流程如圖1所示。第1階段,利用公共數(shù)據(jù)集MiniImageNet對(duì)分類(lèi)模型進(jìn)行元學(xué)習(xí)訓(xùn)練,從大規(guī)模數(shù)據(jù)集中學(xué)習(xí)到分類(lèi)任務(wù)的通用知識(shí);第2階段,利用源域的有標(biāo)注舌象樣本數(shù)據(jù)和目標(biāo)域的少量有標(biāo)注數(shù)據(jù)對(duì)分類(lèi)模型進(jìn)行元學(xué)習(xí)訓(xùn)練,使其快速適應(yīng)目標(biāo)域新舌象數(shù)據(jù)樣本的特性。
本文選用ResNet18作為主干網(wǎng)絡(luò),采用基于度量的元學(xué)習(xí)方法進(jìn)行訓(xùn)練。遵照元學(xué)習(xí)訓(xùn)練過(guò)程,將數(shù)據(jù)劃分為元訓(xùn)練集和元測(cè)試集,又將每個(gè)數(shù)據(jù)集進(jìn)一步劃分為支持集和查詢(xún)集。
元訓(xùn)練階段。訓(xùn)練集可以表示為D={(x1,y1),(x2,y2),...,(xN,yN)},其中N是訓(xùn)練集D的類(lèi)別數(shù),x是訓(xùn)練樣本,y是對(duì)應(yīng)的標(biāo)簽。將訓(xùn)練集D劃分成多個(gè)K-way C-shot的元任務(wù),其中K-way C-shot代表從訓(xùn)練集D中隨機(jī)選取K個(gè)類(lèi)別、且每個(gè)類(lèi)別包含C個(gè)樣本,將劃分后的元任務(wù)分為支持集和查詢(xún)集,利用支持集中樣本計(jì)算出各類(lèi)的質(zhì)心,通過(guò)拉近查詢(xún)集中樣本與對(duì)應(yīng)類(lèi)質(zhì)心的距離,計(jì)算損失函數(shù)更新模型參數(shù)。
元測(cè)試階段。使用支持集中樣本更新各類(lèi)的質(zhì)心,通過(guò)計(jì)算查詢(xún)集中樣本與各類(lèi)質(zhì)心的距離進(jìn)行類(lèi)別預(yù)測(cè)。
采用雙階段元學(xué)習(xí)策略,可以克服舌象樣本數(shù)據(jù)量不足的問(wèn)題,避免訓(xùn)練過(guò)程中出現(xiàn)過(guò)擬合。接下來(lái),將利用訓(xùn)練好的模型對(duì)目標(biāo)域的大量無(wú)標(biāo)記樣本進(jìn)行預(yù)測(cè),漸進(jìn)生成高質(zhì)量的偽標(biāo)簽。
漸進(jìn)偽標(biāo)簽生成過(guò)程如圖2所示。首先,利用雙階段元學(xué)習(xí)訓(xùn)練后的模型對(duì)目標(biāo)域大量的未標(biāo)注樣本進(jìn)行預(yù)測(cè),將預(yù)測(cè)結(jié)果作為偽標(biāo)簽。很顯然,偽標(biāo)簽中不可避免地會(huì)出現(xiàn)錯(cuò)誤,這些噪聲標(biāo)簽會(huì)對(duì)后續(xù)的模型訓(xùn)練造成嚴(yán)重的負(fù)面影響,誤差會(huì)不斷累積,導(dǎo)致模型的分類(lèi)性能比較差。
圖2 漸進(jìn)高質(zhì)量偽標(biāo)簽生成過(guò)程
為此,本文提出一種漸進(jìn)的偽標(biāo)簽生成方法,提升偽標(biāo)簽的質(zhì)量。基本思路是對(duì)模型預(yù)測(cè)結(jié)果的置信度進(jìn)行判別,同時(shí)結(jié)合模型集成策略,判斷偽標(biāo)簽的質(zhì)量。偽標(biāo)簽質(zhì)量判別過(guò)程如下:
假設(shè)p(y=k|q)表示模型輸出的類(lèi)別預(yù)測(cè)概率,當(dāng)p(y=k|q)大于閾值th,且多個(gè)模型的預(yù)測(cè)結(jié)果一致時(shí),將其認(rèn)定為高質(zhì)量偽標(biāo)簽;否則判定為低質(zhì)量偽標(biāo)簽加以丟棄。將高質(zhì)量偽標(biāo)簽樣本數(shù)據(jù)與已有的少量的有標(biāo)注數(shù)據(jù)一同用于模型訓(xùn)練,提升模型對(duì)未標(biāo)注數(shù)據(jù)的預(yù)測(cè)準(zhǔn)確性。利用訓(xùn)練好的模型對(duì)剩余的未標(biāo)注數(shù)據(jù)進(jìn)行預(yù)測(cè)和偽標(biāo)簽質(zhì)量判別,重復(fù)以上步驟,直到所有的未標(biāo)注數(shù)據(jù)均賦予了偽標(biāo)簽。
本文采用了Resnet18, SACA-Resnet18, ECA2-ResNet18[5]3個(gè)異質(zhì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行模型集成學(xué)習(xí)。其中SACA-Resnet18在Resnet18中加入了空間注意力和通道注意力機(jī)制,這是考慮到中醫(yī)舌診的習(xí)慣,采用空間注意力機(jī)制引導(dǎo)網(wǎng)絡(luò)重點(diǎn)關(guān)注舌尖和舌兩側(cè)區(qū)域,采用通道注意力機(jī)制提升舌色分類(lèi)特征的區(qū)分性和表達(dá)能力。E-CA2-ResNet18指的是Resnet18中加入通道注意力機(jī)制并結(jié)合是否激活(ACtivate Or Not, ACON)函數(shù)。集成學(xué)習(xí)采用投票法,融合多個(gè)模型的預(yù)測(cè)結(jié)果,篩選出高質(zhì)量的偽標(biāo)簽。
在生成的偽標(biāo)簽中不可避免地會(huì)存在錯(cuò)誤,直接使用噪聲偽標(biāo)簽進(jìn)行模型訓(xùn)練會(huì)導(dǎo)致誤差傳遞,使得模型在訓(xùn)練過(guò)程中難以收斂。為此,本文采用魯棒的對(duì)稱(chēng)交叉熵(Symmetric Cross Entropy,SCE)損失函數(shù)[24]和對(duì)比正則化(ConTrastive Regularization, CTR)函數(shù)[25]對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化訓(xùn)練,抑制噪聲樣本對(duì)分類(lèi)性能的影響。
總損失函數(shù)如式(1)所示
其中,Lsce代表SCE損失函數(shù),代表CTR函數(shù),α用于控制正則化的強(qiáng)度。
CTR函數(shù)假設(shè)兩張來(lái)自同類(lèi)的干凈樣本所攜的關(guān)于正確標(biāo)簽的信息是相關(guān)的,而所攜帶的關(guān)于錯(cuò)誤標(biāo)簽的信息是無(wú)關(guān)的,保證了模型不會(huì)欠擬合正確標(biāo)簽。同時(shí),攜帶較少的與錯(cuò)誤標(biāo)簽相關(guān)的信息,也在一定程度上保證模型不會(huì)過(guò)擬合噪聲樣本。表達(dá)式如式(2)所示
SCE是一種魯棒的損失函數(shù),可以在一定程度上緩解模型對(duì)噪聲樣本的過(guò)擬合問(wèn)題。其表達(dá)式為
其中,γ,β是兩個(gè)超參數(shù),Lce是交叉熵?fù)p失,如式(4)所示
Lrce是反向交叉熵?fù)p失,如式(5)所示
為了驗(yàn)證所提方法的有效性,本文進(jìn)行了實(shí)驗(yàn)。下面詳細(xì)介紹實(shí)驗(yàn)結(jié)果,并對(duì)其進(jìn)行分析。
數(shù)據(jù)集。實(shí)驗(yàn)中采用了2個(gè)自建的中醫(yī)舌象分類(lèi)數(shù)據(jù)集SIPL-A,SIPL-B。數(shù)據(jù)集中的樣本分別利用2臺(tái)自研的SIPL型中醫(yī)舌象儀進(jìn)行采集,并對(duì)舌體進(jìn)行了分割。所有樣本均由具有多年臨床診斷經(jīng)驗(yàn)的中醫(yī)醫(yī)師手工標(biāo)注。兩個(gè)自建數(shù)據(jù)集的類(lèi)別和樣本數(shù)量如表1所示,部分示例舌圖像如圖3所示。可以看出,由于2臺(tái)設(shè)備在光照條件、采集設(shè)備等方面存在差異,兩個(gè)數(shù)據(jù)集中的樣本存在明顯的顏色差異。
表1 兩個(gè)自建數(shù)據(jù)集的樣本類(lèi)別和數(shù)量
圖3 兩個(gè)自建數(shù)據(jù)集中的部分樣本示例
將MiniImageNet數(shù)據(jù)集作為第1階段元學(xué)習(xí)數(shù)據(jù)集,SIPL-A數(shù)據(jù)集作為第2階段元學(xué)習(xí)的源域數(shù)據(jù)集,SIPL-B數(shù)據(jù)集作為目標(biāo)域數(shù)據(jù)集。源域訓(xùn)練集使用全部標(biāo)注數(shù)據(jù),目標(biāo)域訓(xùn)練集隨機(jī)選取了20張有標(biāo)注數(shù)據(jù),即4個(gè)類(lèi)別、每類(lèi)5幅圖像,其余數(shù)據(jù)均視為無(wú)標(biāo)注數(shù)據(jù)。
數(shù)據(jù)擴(kuò)充。由于自建數(shù)據(jù)集SIPL-A,SIPL-B的有標(biāo)注樣本量較少,本文采用數(shù)據(jù)擴(kuò)充的方式擴(kuò)大訓(xùn)練樣本規(guī)模,具體包括垂直翻轉(zhuǎn)、水平翻轉(zhuǎn)、隨機(jī)裁剪和其他幾何變換方式等。
性能評(píng)價(jià)指標(biāo)。本文采用最常用的準(zhǔn)確率來(lái)度量舌色分類(lèi)性能,具體定義為
假設(shè)C表示舌色類(lèi)別中的一類(lèi),式(6)中TP表示類(lèi)C中的樣本被正確預(yù)測(cè)為類(lèi)C的數(shù)量,TN表示不屬于C類(lèi)的其他類(lèi)別樣本被正確預(yù)測(cè)為對(duì)應(yīng)類(lèi)別的數(shù)量,N表示測(cè)試集中樣本的總數(shù)量。
本文使用Pytorch開(kāi)源架構(gòu)進(jìn)行網(wǎng)絡(luò)模型的搭建、訓(xùn)練和測(cè)試。硬件配置基本參數(shù)為:Intel(R)core(tm)I5-7 500 CPU@3.40 GHz, 16GB內(nèi)存,Titan xp(Pascal)顯卡。在元學(xué)習(xí)階段,模型訓(xùn)練采用Adam梯度下降算法,Bacth Szie設(shè)置為100,學(xué)習(xí)率設(shè)置為0.000 3,訓(xùn)練迭代周期為200次。此外,在訓(xùn)練過(guò)程中學(xué)習(xí)率以固定步長(zhǎng)衰減,學(xué)習(xí)率每10個(gè)epochs減少為原來(lái)的gamma倍,其中g(shù)amma設(shè)置為0.5。漸進(jìn)偽標(biāo)簽生成過(guò)程中,偽標(biāo)簽置信度閾值th設(shè)置為0.9。在有噪樣本學(xué)習(xí)階段,采用Adam梯度下降算法進(jìn)行優(yōu)化,學(xué)習(xí)率固定為0.003,Bacth Szie設(shè)置為32,迭代周期設(shè)置為400次,對(duì)比正則化損失系數(shù)α設(shè)置為50。
本文首先在2個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),基于有標(biāo)注樣本數(shù)據(jù),采用有監(jiān)督學(xué)習(xí)方式對(duì)模型進(jìn)行訓(xùn)練,得到的分類(lèi)準(zhǔn)確率如表2所示。其中網(wǎng)絡(luò)模型為ResNet18,采用SCE損失函數(shù)進(jìn)行監(jiān)督??梢钥闯?,采用有監(jiān)督學(xué)習(xí)方式訓(xùn)練出來(lái)的分類(lèi)模型,在SIPL-A,SIPL-B兩個(gè)數(shù)據(jù)集上的分類(lèi)精度分別達(dá)到了94.03%和93.35%。這些數(shù)據(jù)將作為基準(zhǔn)數(shù)據(jù),驗(yàn)證本文提出的域自適應(yīng)舌色分類(lèi)方法的性能。
表2 采用有監(jiān)督學(xué)習(xí)方法得到的兩個(gè)數(shù)據(jù)集分類(lèi)精度(%)
為了驗(yàn)證雙階段元學(xué)習(xí)策略對(duì)模型跨域性能的影響,本文將其與其他幾種訓(xùn)練策略進(jìn)行了對(duì)比,對(duì)比結(jié)果如表3所示。其中每種策略的具體實(shí)現(xiàn)方式如下:
表3 不同訓(xùn)練策略對(duì)偽標(biāo)簽準(zhǔn)確率的影響(%)
策略1直接使用源域數(shù)據(jù)集SIPL-A訓(xùn)練Resnet18,對(duì)目標(biāo)域的測(cè)試集數(shù)據(jù)進(jìn)行測(cè)試。
策略2利用源域數(shù)據(jù)集SIPL-A 對(duì)Resnet18進(jìn)行預(yù)訓(xùn)練,再使用目標(biāo)域20張有標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)。
策略3利用MiniImageNet數(shù)據(jù)集對(duì)Resnet18進(jìn)行預(yù)訓(xùn)練,再使用目標(biāo)域20張有標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)。
策略4單階段元學(xué)習(xí),即僅使用源域數(shù)據(jù)集對(duì)Resnet18模型進(jìn)行元學(xué)習(xí)訓(xùn)練,然后利用目標(biāo)域20張有標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)。
策略5提出雙階段元學(xué)習(xí)訓(xùn)練策略。
由表3可知,策略1未適用任何跨域訓(xùn)練策略,偽標(biāo)簽準(zhǔn)確率僅為66.5%,這說(shuō)明源域訓(xùn)練出的模型在目標(biāo)域的性能急劇下降,模型泛化能力差。策略2相比策略1有10.3%的提升,說(shuō)明使用目標(biāo)域少量標(biāo)注數(shù)據(jù)微調(diào)可以提升分類(lèi)性能。使用SIPL-A數(shù)據(jù)集預(yù)訓(xùn)練相比MiniImageNet數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練有2%的性能提升,說(shuō)明利用相似任務(wù)數(shù)據(jù)集預(yù)訓(xùn)練模型可取得更優(yōu)的效果。策略4相比策略3性能提升了5.1%,驗(yàn)證了元學(xué)習(xí)訓(xùn)練策略在域自適應(yīng)上的優(yōu)勢(shì)。與單階段元學(xué)習(xí)相比,本文提出的雙階段元學(xué)習(xí)訓(xùn)練策略能將分類(lèi)準(zhǔn)確率提升2.1%。這是因?yàn)橥ㄟ^(guò)第1階段大規(guī)模通用數(shù)據(jù)集上的元學(xué)習(xí)訓(xùn)練,使得模型能夠?qū)W習(xí)到圖像分類(lèi)的通用知識(shí)。第2階段模型通過(guò)源域的有標(biāo)注樣本進(jìn)行元學(xué)習(xí)訓(xùn)練,能學(xué)習(xí)到關(guān)于舌色分類(lèi)的元知識(shí),并可以快速適應(yīng)目標(biāo)域的新數(shù)據(jù)特性,從而獲得了最優(yōu)的分類(lèi)性能。
接下來(lái),將驗(yàn)證目標(biāo)域有標(biāo)注樣本數(shù)量對(duì)偽標(biāo)簽質(zhì)量的影響。目標(biāo)域每個(gè)類(lèi)別的有標(biāo)注樣本數(shù)量分別為1例、3例和5例,訓(xùn)練策略均采用雙階段元學(xué)習(xí),得到的偽標(biāo)簽準(zhǔn)確率對(duì)比結(jié)果如表4所示。
表4 不同目標(biāo)域有標(biāo)注樣本數(shù)量對(duì)偽標(biāo)簽準(zhǔn)確率的影響(%)
由表4可知,當(dāng)目標(biāo)域每類(lèi)有標(biāo)注樣本數(shù)量分別為1, 3, 5例時(shí),偽標(biāo)簽準(zhǔn)確率分別達(dá)到了78.6%,80.7%和82.0%,準(zhǔn)確率隨著有標(biāo)注樣本數(shù)量的增加而不斷提升。因此,本文將目標(biāo)域每類(lèi)的有標(biāo)注樣本數(shù)量設(shè)置為5例,以降低模型訓(xùn)練對(duì)有標(biāo)注數(shù)據(jù)的依賴(lài),減輕人工標(biāo)注壓力,提高所提出方法的實(shí)用性。
為了驗(yàn)證不同元學(xué)習(xí)方法對(duì)偽標(biāo)簽質(zhì)量的影響,本文將提出方法與代表性的元學(xué)習(xí)方法Matching networks[26], Relation network[27], SNAML[22]和Online MAML[28]進(jìn)行了對(duì)比,表5列出了采用不同元學(xué)習(xí)方法得到的對(duì)比實(shí)驗(yàn)結(jié)果,取10次實(shí)驗(yàn)的平均分類(lèi)準(zhǔn)確率作為實(shí)驗(yàn)結(jié)果,主干網(wǎng)絡(luò)均使用Resnet18。
表5 不同元學(xué)習(xí)方法對(duì)偽標(biāo)簽準(zhǔn)確率的影響(%)
從表5可以看出,對(duì)于所有的元學(xué)習(xí)方法,相比單階段元學(xué)習(xí),雙階段元學(xué)習(xí)生成的偽標(biāo)簽準(zhǔn)確率均有一定的提升,說(shuō)明雙階段元學(xué)習(xí)訓(xùn)練策略可以有效學(xué)習(xí)到域不變特征。本文采用的元學(xué)習(xí)方法可以取得最優(yōu)的分類(lèi)性能,相比于其他元學(xué)習(xí)方法,單階段元學(xué)習(xí)和雙階段元學(xué)習(xí)生成的偽標(biāo)簽準(zhǔn)確率均為最高。
本節(jié)將驗(yàn)證偽標(biāo)簽質(zhì)量對(duì)分類(lèi)性能的影響。實(shí)驗(yàn)中,分別采用不同的方法生成無(wú)標(biāo)注樣本的偽標(biāo)簽,取10次實(shí)驗(yàn)結(jié)果的平均值作為偽標(biāo)簽準(zhǔn)確率,結(jié)果如表6所示。其中,偽標(biāo)簽準(zhǔn)確率是指對(duì)全部未標(biāo)注數(shù)據(jù)預(yù)測(cè)的準(zhǔn)確率。模型集成在偽標(biāo)簽預(yù)測(cè)中采用投票法。具體對(duì)比方法包括:
表6 不同偽標(biāo)簽生成方法的結(jié)果對(duì)比
(1) 一次性偽標(biāo)簽生成+模型集成:指在全部生成偽標(biāo)簽過(guò)程中加入模型集成策略;
(2) 漸進(jìn)偽標(biāo)簽生成+置信度閾值:指僅利用置信度閾值對(duì)標(biāo)簽質(zhì)量進(jìn)行判別,選取質(zhì)量高的偽標(biāo)簽加入有標(biāo)注數(shù)據(jù)微調(diào)模型,對(duì)未標(biāo)注數(shù)據(jù)進(jìn)行預(yù)測(cè),漸進(jìn)生成偽標(biāo)簽;
(3) 漸進(jìn)偽標(biāo)簽生成+置信度閾值+模型集成:利用置信度閾值和模型集成兩個(gè)條件對(duì)標(biāo)簽質(zhì)量進(jìn)行判別,并漸進(jìn)生成偽標(biāo)簽。
實(shí)驗(yàn)中,置信度閾值均設(shè)為0.9。從表6可以看出,一次性生成所有未標(biāo)注數(shù)據(jù)的偽標(biāo)簽,準(zhǔn)確率僅為82%。加入模型集成策略能夠略微提升準(zhǔn)確率,但是效果十分有限。采用漸進(jìn)生成偽標(biāo)簽的方式,結(jié)合置信度閾值進(jìn)行篩選,可以生成201個(gè)偽標(biāo)簽,能夠提高偽標(biāo)簽準(zhǔn)確率。在此基礎(chǔ)上進(jìn)一步結(jié)合模型集成策略,可以篩選出146個(gè)高質(zhì)量偽標(biāo)簽,將這些偽標(biāo)簽加入有標(biāo)注數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),能夠進(jìn)一步提升偽標(biāo)簽準(zhǔn)確率,達(dá)到87.00%。
表7所示的是不同輪次生成的偽標(biāo)簽準(zhǔn)確率??梢钥闯?,進(jìn)行兩輪迭代即可得到高質(zhì)量偽標(biāo)簽,再進(jìn)行多輪實(shí)驗(yàn),偽標(biāo)簽準(zhǔn)確率提升有限。因此,本文通過(guò)兩輪迭代,生成未標(biāo)注數(shù)據(jù)的偽標(biāo)簽。
表7 漸進(jìn)高質(zhì)量偽標(biāo)簽生成的輪次結(jié)果對(duì)比
為了驗(yàn)證有噪偽標(biāo)簽對(duì)分類(lèi)性能的影響,本文將提出的方法與代表性的5種有噪樣本學(xué)習(xí)方法,包括GCE, PENCIL, SCE, Co-teaching, Co-teach-ing+等進(jìn)行了對(duì)比。表8列出了采用不同有噪樣本學(xué)習(xí)方法得到的對(duì)比實(shí)驗(yàn)結(jié)果,取10次實(shí)驗(yàn)的平均分類(lèi)準(zhǔn)確率作為實(shí)驗(yàn)結(jié)果,主干網(wǎng)絡(luò)均使用Resnet18。表8中所有數(shù)據(jù)均是將目標(biāo)域生成的偽標(biāo)簽和少量標(biāo)注樣本一起用于訓(xùn)練得到的結(jié)果。
表8 不同有噪樣本學(xué)習(xí)方法的分類(lèi)結(jié)果對(duì)比(%)
從表8可以看出,直接利用生成的偽標(biāo)簽和少量的標(biāo)注數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,準(zhǔn)確率僅為87.50%。這是因?yàn)閭螛?biāo)簽中含有一定的噪聲。而采用有噪樣本學(xué)習(xí)方法,均可以不同程度地提升分類(lèi)準(zhǔn)確率。與其他有噪樣本學(xué)習(xí)策略相比,本文方法能取得最優(yōu)的分類(lèi)性能,相比其他方法有0.5%~3%的提升。
為了驗(yàn)證本文提出跨域舌色分類(lèi)方法的有效性,將其與現(xiàn)有的代表性域自適應(yīng)方法最小最大熵(MiniMax Entropy, MME)[18]、CDAC[20], Adamatch[26]等進(jìn)行了對(duì)比。
由于目前還沒(méi)有跨域舌色分類(lèi)的相關(guān)研究工作,為了保證公平對(duì)比,將對(duì)比方法在與本文方法在相同設(shè)置下重新進(jìn)行訓(xùn)練,結(jié)果如表9所示。從表9可以看出,本文提出的雙階段元學(xué)習(xí)域自適應(yīng)方法取得最優(yōu)的分類(lèi)性能,達(dá)到了91.3%。相比于其他的域自適應(yīng)方法,分類(lèi)性能提升了2%以上,充分驗(yàn)證了本文方法的有效性。
表9 不同域自適應(yīng)方法的結(jié)果對(duì)比(%)
本文進(jìn)行了消融實(shí)驗(yàn),以驗(yàn)證所提算法中各個(gè)部分的有效性?;€(xiàn)方法以ResNet18作為主干網(wǎng)絡(luò),依次加入雙階段元學(xué)習(xí)、漸進(jìn)高質(zhì)量偽標(biāo)簽生成和有噪樣本學(xué)習(xí)部分,舌色分類(lèi)準(zhǔn)確率對(duì)比結(jié)果如表10所示。從實(shí)驗(yàn)結(jié)果中可以看出,采用基線(xiàn)方法分類(lèi)準(zhǔn)確率僅為76.8%。加入雙階段元學(xué)習(xí)后,分類(lèi)結(jié)果提升了5.5%,達(dá)到了82.3%,這說(shuō)明雙階段元學(xué)習(xí)可以顯著提升跨域舌色分類(lèi)性能。結(jié)合漸進(jìn)高質(zhì)量偽標(biāo)簽生成策略,目標(biāo)域舌色分類(lèi)精度進(jìn)一步提升了5.2%。在此基礎(chǔ)上進(jìn)行有噪樣本學(xué)習(xí),分類(lèi)準(zhǔn)確率又提升了3.8%,達(dá)到了91.3%。與目標(biāo)域采用所有標(biāo)注樣本進(jìn)行有監(jiān)督學(xué)習(xí)相比,分類(lèi)性能僅差2.05%。
表10 消融實(shí)驗(yàn)(%)
本文針對(duì)中醫(yī)舌色分類(lèi)模型跨域魯棒性差的問(wèn)題,提出了一種基于雙階段元學(xué)習(xí)的小樣本中醫(yī)舌色域自適應(yīng)分類(lèi)方法,以提高舌色分類(lèi)模型的泛化性。通過(guò)實(shí)驗(yàn),可以得到如下結(jié)論:
(1)雙階段元學(xué)習(xí)訓(xùn)練策略可以從大規(guī)模數(shù)據(jù)集中學(xué)習(xí)到通用的分類(lèi)知識(shí),將這些知識(shí)遷移到舌色分類(lèi)數(shù)據(jù)集上,可以有效提升了舌色分類(lèi)性能;
(2)一次生成偽標(biāo)簽會(huì)導(dǎo)致其中出現(xiàn)大量的不準(zhǔn)確標(biāo)簽,導(dǎo)致分類(lèi)性能不高。而漸進(jìn)偽標(biāo)簽生成可以有效提升偽標(biāo)簽的質(zhì)量,提升分類(lèi)準(zhǔn)確率;
(3)由于偽標(biāo)簽中不可避免地含有噪聲,采用具有噪聲樣本抑制特性的損失函數(shù)對(duì)模型進(jìn)行訓(xùn)練可以大大提升分類(lèi)性能。在自建的兩個(gè)中醫(yī)舌色分類(lèi)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文提出的舌色分類(lèi)方法在目標(biāo)域僅給20張有標(biāo)注樣本情況下,目標(biāo)域舌色分類(lèi)準(zhǔn)確率達(dá)到了91.3%,與目標(biāo)域有監(jiān)督分類(lèi)性能僅差2.05%,可以滿(mǎn)足實(shí)際應(yīng)用的需求,對(duì)于中醫(yī)舌象儀的推廣應(yīng)用具有重要意義。