国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Fea2Lab:基于多標記學習的特征到標簽生成模型

2020-07-01 02:08于晗宇
關鍵詞:特征向量解碼示例

于晗宇, 黃 晉, 朱 佳

(華南師范大學計算機學院, 廣州 510631)

在機器學習領域中,傳統(tǒng)監(jiān)督學習是一種研究和應用廣泛的學習框架[1]. 在該框架定義中,對于真實世界的對象,在輸入空間用示例表示這個對象,用單個特征向量描述該示例,同時在輸出空間將示例和反應該示例特征的單個類別標記相關聯,這樣就可以得到一個樣本. 然而,真實世界的對象往往并非只有單一的含義,可能是多種多樣的. 多義性對象由于不再具有唯一的含義,使得以往只考慮明確、單一含義的傳統(tǒng)框架難以施行. 為了直觀地呈現真實世界的多種含義信息,自然而然地就要為對象賦予一組合適的類別標記,即標記子集. 2008年,TSOUMAKAS和KATAKIS[2]提出了多標記學習(多標簽分類),解決了一個示例同時被多個標簽所標記的問題,并給未知示例預測合適的標簽集.

針對多標記學習,學者們提出了大量的算法. 這些算法大致可以分為2類[3]:(1)問題轉化方法[4-6],即把多標記學習問題轉化為其他已構造好的學習算法,屬于改造數據適應算法. 如:Binary Relevance算法[4]把多標記學習問題轉化成獨立的二分類問題;Calibrated Label Ranking算法[5]把多標記學習問題轉化為標簽排序的問題. (2)算法適應方法[7-9],即采用已有的算法來直接解決多標記學習問題,屬于改造算法適應數據. 如:Rank-SVM算法[8]改造具有“核方法”的SVM方法,以適應多標記學習數據;LEAD方法[9]改造貝葉斯學習,以適應多標記學習數據. 上述的4種算法都僅僅采用示例的單個特征向量來直接無差別地預測標簽集. 然而,當標簽空間較大時,示例單個特征向量所含的特征信息較少,可能無法準確地預測其標簽子集. 因此,ML-KNN算法[8]通過考慮和示例相似的示例來增加輸入空間特征信息并取得良好的效果. 此外,受到在機器翻譯領域內序列到序列模型[10-11]啟發(fā),SGM模型[12]、EncDec模型[13]把多標簽分類任務視為序列生成問題,使用循環(huán)神經網絡來預測標簽集. 隨著多標記學習數據的增多,學者們也嘗試使用神經網絡來解決更高特征維度、更大標簽空間的多標記學習問題[14-15].

從示例的輸出空間角度分析,多標記學習比傳統(tǒng)方法更困難之處在于標簽子集可能存在的指數數量(即2n,n為標簽空間類別個數). 因此,為了應對這一困難,學者們考慮通過標簽間的關系來提高模型解決多標記學習任務的能力[4-9]. 標簽間的關系可以分為3種[3]:(1)一階標簽間關系:不考慮標簽間關系,分解多標記學習問題為獨立的分類問題,但完全忽略了標簽間關系,泛化性能可能較差;(2)二階標簽間關系:考慮兩兩標簽間的關系,但可能不足以描述現實世界對象的含義;(3)高階標簽間關系:考慮任意標簽之間的關系,但往往會遇到計算復雜度過高的問題. 因此,如何合理地利用標簽間的關系也是多標記學習方法的重要考慮因素.

針對傳統(tǒng)多標記學習方法往往只考慮示例的單個特征向量和無差別地預測全體標簽集,從而造成輸入空間特征信息較少、忽略隱含的標簽屬性和對大標簽空間預測效果差等問題,以及受到序列到序列模型、SGM模型及EncDec模型的啟發(fā),本文轉化傳統(tǒng)多標記學習任務為多標記學習的序列到序列任務,并由此提出新的多標記學習標簽生成神經網絡模型(Fea2Lab模型). 具體地,具有編碼器-解碼器結構的Fea2Lab模型首先構建示例特征最近鄰圖,并基于該圖找到目標示例的k個最相似示例,以交錯順序排列示例和最近鄰示例形成鏈式特征向量輸入序列,再使用FeaEnc編碼器將其編碼為一個語義向量并傳送到解碼器;在解碼階段,LabDec解碼器先基于訓練集中固定標簽名稱下被標記為1的標簽出現的次數來降序排列標簽集,再挖掘標簽屬性,以分離出正屬性標簽目標序列用于訓練,在解碼訓練過程中提出并使用全局標簽信息,以主動緩解錯誤標簽級聯問題;在預測推理階段,模型解碼預測生成正屬性標簽序列,轉化得到目標示例的預測標簽集.

1 Fea2Lab模型

Fea2Lab模型的整體計算流程(圖1)為:首先,通過特征鏈編碼器(FeaEnc)把鏈式特征向量輸入序列編碼為一個語義向量c;然后,通過標簽生成解碼器(LabDec)把語義向量c解碼為預測的標簽集.

圖1 Fea2Lab模型計算流程圖

在Fea2Lab模型執(zhí)行編碼解碼的流程之前,需要將傳統(tǒng)的多標記學習任務轉化為多標記學習的序列到序列任務. 下面給出任務轉化、特征鏈編碼器和標簽生成解碼器的詳細介紹.

1.1 任務轉化

由以上分析和推理,可以從示例特征空間和標記空間分別獲得鏈式特征向量輸入序列和正標簽目標序列. 而序列到序列模型(Seq2Seq)的基本思想就是將可變長度的序列編碼為一個固定維度的語義向量,再將語義向量解碼成另一可變長度的序列[16]. 基于以上邏輯推導,本文把傳統(tǒng)多標記學習任務轉化為多標記學習的序列到序列任務(圖2).

圖2 多標記學習任務轉化過程

任務轉化過程的形式化描述如下:

i?

(1)

1.2 特征鏈編碼器

將傳統(tǒng)多標記學習任務轉化為多標記學習的序列到序列任務后,進入Fea2Lab模型的編碼流程:特征鏈編碼器FeaEnc先構建示例特征最近鄰圖,以高效地存儲和搜索示例最近鄰示例;再排列示例形成鏈式特征向量序列用于計算.

1.2.1 示例特征最近鄰圖 指定無向圖G為在多標記學習訓練數據集={(fi,Li)|1≤i≤d}上帶權重的最近鄰圖,定義為示例特征最近鄰圖. 圖G中的每個頂點代表一個示例的特征向量fi,任一頂點fi和頂點fj互相連接,eij表示2個頂點之間的邊. 使用歐幾里得距離[17]表示邊eij的權重:

Weight(eij)=EuclideanMetric(eij)=w(fi,fj)=

因此,進一步地從示例特征最近鄰圖G中找到與給定示例fi最相似的k個示例集合:

在Fea2Lab模型采用KD-Tree算法[18]來構建示例特征最近鄰圖G并高效地搜索給定示例的k個最近鄰.

1.2.2 編碼特征鏈 由圖G可以獲得與給定示例f最相似的k個最近鄰特征向量集合{f1,f2,…,fk},其中w(f,fj-1)>w(f,fj)(j[1,k]). Fea2Lab模型將這些示例排列成含有特定順序的輸入序列. 具體地,模型以交錯升序的順序排列最近鄰和示例f,即形成特征鏈{f1,f,f2,f,…,fk,f}2k×m,這樣交錯排列的目的是:一是因為每個最近鄰示例fj(j[1,k])都是與示例f相似的,這樣排列有助于模型學習到兩兩示例(如f1,f)之間變化的關系,形成“鏈節(jié)”,隨著fj的變化(即j從1到k),能使模型充分地學習到越來越與示例f相似的演變關系,以挖掘序列隱含的順序關系;二是因為編碼器FeaEnc采用的是雙向循環(huán)神經網絡,這樣排列有助于該神經網絡從正反2個方向捕獲特征向量輸入序列中交替演變的關系. 接下來,使用雙向長短期循環(huán)神經網絡Bi-LSTM[19]構建特征鏈編碼器FeaEnc,以編碼特征鏈{f1,f,f2,f,…,fk,f}. 在第t[1,2k]個時刻,編碼器FeaEnc正反方向隱藏狀態(tài)分別為:

h′t=FeaEnc(h′t-1,ft-1),

(2)

h″t=FeaEnc(h″t+1,ft+1),

(3)

其中,h′t(h″t)為第t時刻神經網絡Bi-LSTM正向(反向)隱藏狀態(tài). 通過級聯2個方向的隱藏狀態(tài)來表示第t個時刻編碼器FeaEnc的隱藏狀態(tài)ht=[h′t;h″t],體現了以第t個示例特征向量為中心的序列信息. 編碼器FeaEnc把該特征向量輸入序列編碼成語義向量c,從而捕獲全部示例的潛在特征信息.

1.3 標簽生成解碼器

對于FeaEnc編碼器計算編碼特征鏈生成的語義向量c,在解碼流程中,解碼器將其解碼成預測的標簽集. 但是,在正常的解碼過程中,有可能出現標簽錯誤級聯問題,因此,本文提出并使用全局標簽信息來主動緩解該問題.

1.3.1 正常解碼 EncDec模型轉化多標簽分類問題為序列到序列的任務,并提出使用循環(huán)神經網絡來預測標簽集中的正標簽. 類似EncDec模型,Fea2Lab模型也只預測標簽集中的正標簽,因為每個示例的正標簽數量往往少于整體標記空間中的n個類別標簽和負標簽數量. 此外,EncDec模型的研究表明:目標序列越短越有利于解碼生成. 本文在獲取正標簽之前,對多標記學習訓練集中的全體標簽,統(tǒng)計每個固定標簽名稱下正標簽出現的次數,按照次數的多少由大到小重新排列標簽. 具體地,對于訓練集={(fi,Li)|1≤i≤d},取其標簽集Lt={lt,1,lt,2,…,lt,j,…,lt,n}d×n,lt,j1×n,統(tǒng)計每個固定標簽名稱下含有的正標簽數量,形成正標簽數量集合{num1,num2,…,numj,…,numn}1×n,按照該集合元素值的大小重新排列對應的標簽集,再抽取每個訓練示例的正標簽序列用于訓練. 重新排列訓練集標簽空間中n元類別標簽順序的原因是:把在統(tǒng)計上出現頻率更高的固定標簽名稱排列在目標序列前面,通過標簽間的順序反映訓練集中潛在的標簽分布規(guī)律,使模型能在解碼流程中優(yōu)先解碼預測出有最大概率出現的標簽,可進一步提升模型的預測效果.

接下來,使用單向長短期神經網絡LSTM來構建標簽生成解碼器LabDec. 在第t個時刻,解碼器LabDec的隱藏狀態(tài)為:

st=LabDec(st-1,lt-1,c,hall),

(4)

其中,st-1和lt-1分別為上一時刻解碼器的隱藏狀態(tài)和預測的標簽,hall2k×m為LabDec編碼器所有時刻隱藏狀態(tài)的集合,用于做點乘注意力機制[20].

1.3.2 全局標簽信息 在解碼器LabDec將c解碼成正標簽序列的過程中,可能會出現錯誤標簽級聯問題. 標簽錯誤級聯問題指的是解碼器可能在解碼流程中預測一個與實際不同的標簽,那么后續(xù)就可能繼續(xù)預測出錯誤的標簽. 式(1)的P(lj|lj-1,lj-2,…,l1,c)表示:第t個時刻預測的標簽是基于前面所有已預測出的標簽,但實際上最相關的是第t-1時刻預測的標簽. 換言之,解碼流程中第t時刻的標簽預測貪婪地依賴于第t-1時刻已預測出的標簽. 因此,如果在第t-1個時刻預測出錯誤的標簽,那么解碼器可能會在隨后第t個時刻解碼預測出錯誤的標簽,如此迭代地繼續(xù)解碼,將造成錯誤標簽的級聯. 這是由序列到序列模型固有的自回歸屬性造成的,上述標簽錯誤級聯問題也被稱為曝光偏置[21]. 集束搜索[22]可以被用來在模型推理預測階段被動地緩解該問題. 然而,Fea2Lab模型提出通過疊加計算已預測出的標簽來在訓練階段主動地緩解標簽錯誤級聯的問題. 在這種計算下,解碼器將能感知更多的標簽,而不是只貪婪地依賴于上一個已預測出的標簽. 再者,通過疊加已預測出的標簽,模型能引入多標記學習中重要的概念——高階標簽間關系,這將有助于模型進一步學習示例特征空間到標記空間的映射關系,本文稱這一方法為全局標簽信息. 則在加入全局標簽信息之后,在第t個時刻,解碼器的隱藏狀態(tài)為:

st=LabDec(st-1,(l1,l2,…,lt-1),c,hall)=

1.3.3 轉化標簽集 在經過使用全局標簽信息后,Fea2Lab模型可以得到蘊含正標簽預測結果的隱藏狀態(tài),進一步地把該隱藏狀態(tài)轉化為對應的標簽,最后得到預測的標簽集. 在第t個時刻,解碼器的隱藏狀態(tài)st包含著預測標簽的信息,使用sotfmax概率分類函數將st轉化為第t時刻全體標簽的概率集:

Pt=softmax(Wst+b),

其中,Wm×n和bm×1分別為權重向量和偏置向量. Fea2Lab模型認為概率集Pt中最大值對應的標簽最有可能為正標簽:

即表示對于目標示例,模型預測該示例含有標簽lj,將其標記為1. 當解碼器預測到序列結束符或者時間步到n+1時,解碼完成,所得到的正標簽序列即為預測的正標簽集;相應地,在標記空間中沒有被預測到的標簽即為負標簽(標記為0). 由此可以得到目標示例的預測標簽集L.

2 實驗與討論

2.1 對比實驗

本節(jié)在3個來源于不同采集領域的真實多標記學習數據集上,將Fea2Lab模型和5個多標記學習算法進行比較和分析.

2.1.1 實驗數據集 本文選擇了3個不同類型的多標記學習數據集(表1),其中標簽基數指平均每個示例標簽子集的大??;標簽密度指用標簽數量來規(guī)范化標簽基數;組合數指所出現的標簽子集種數.

表1 3個多標記數據集Table 1 Three multi-label learning data-sets

2.1.2 對比算法 使用以下5種算法和Fea2Lab模型進行比較:

(1)ML-KNN[8]:是一階標簽關系算法,對于未知示例,首先找到該示例在訓練集中的k個最近鄰,然后使用最大化后驗概率的方法去預測標簽集;

(2)BP-MLL[15]:是二階標簽關系算法,使用全連接神經網絡和一個元素對排名損失函數來完成多標記學習的任務;

(3)CC[24]:是轉化多標記學習為二分類問題鏈的高階標簽關系算法,鏈中的子二元分類器基于先前分類的預測;

(4)BR[4]:是分解多標記學習任務為二元分類問題的一階標簽關系算法,一個分類對應于一個標簽;

(5)LIFT[25]:是基于標簽特定特征策略的一階多標記學習算法,該方法通過獨立地對每個類標簽進行聚類分析來生成定制的特征,從而預測標簽集.

對于BP-MLL算法,隱藏神經元的數量設置為輸入維度的20%,并且訓練輪次設置為100輪;對于ML-KNN算法,k最近鄰大小被設置為10. 以上對比算法的數值來自于文獻[25].

2.1.3 評測指標 為了更好地比較Fea2Lab模型和其他對比算法的優(yōu)劣性,選擇以下4個廣泛使用的多標記學習評價指標:Hamming Loss(HL),Coverage(Cov),Ranking Loss(RL),Average Precision(AP)[3]. 其中,前3個指標指標越小,表明模型性能越好;第4個指標越大,表明模型的性能越好.

2.1.4 算法參數配置 具體實施參數配置如下:(1)每個算法在每個數據集中,運用10折交叉驗證評估法分10次評估,最后再取10次的平均值和標準差. 在每次評估中,90%的數據用于訓練,2%的數據用于驗證算法性能,8%的數據用于算法的推理預測. (2)Fea2Lab模型中編碼器的Bi-LSTM和解碼器的LSTM的層數都是2層;使用Adam優(yōu)化器[26]來優(yōu)化負對數似然損失函數,其學習率α=1e-5;為了防止Fea2Lab模型在訓練過程出現過擬合,設置dropout=0.5[27]. (3)在訓練過程中,Fea2Lab模型訓練100個輪次. 一旦訓練完成,選擇此模型在驗證集上Average Precision值最好的模型保存點做推理預測. 為了與ML-KNN算法進行比較,k個最近鄰對象的數量值取為10.

2.1.5 結果與分析 由Fea2Lab模型和5個對比算法在3個數據集的測評表現(表2)可知:(1)作為都是采用神經網絡解決多標記學習的算法, Fea2Lab模型始終優(yōu)于BP-MLL算法. 在Scene數據集下,Fea2Lab模型的測評指標值是BP-MLL算法的2倍. (2)在3個數據集上,作為都是考慮高階標簽間關系的算法, Fea2Lab模型的測評指標值均優(yōu)于CC算法. (3)Fea2Lab模型的12個測評指標值中,有3個指標值在所有測評指標值中排名第一,有6個指標值排名第二,剩余3個指標值排名第三. 在排名第一的情況下,Fea2Lab模型優(yōu)于第二名大概1%的幅度.

表2 6個算法在3個數據集上的實驗結果Table 2 The experimental results of 6 algorithms on 3 datasets

2.2 消融實驗

為了更好地探究和解釋Fea2Lab模型,以下將從特征鏈類型和全局標簽信息2個方面開展消融實驗.

2.2.1 特征鏈類型 為了探究增加輸入空間的特征信息是否對Fea2Lab模型預測標簽集有幫助和特征鏈類型是否會影響Fea2Lab模型的預測,本小節(jié)將探究是否要采用最近鄰示例和重點探究排列最近鄰的方式. 在上述FeaEnc編碼器的計算編碼中,先通過示例特征最近鄰圖G來尋找示例的最近鄰示例,再以交替升序的順序排列示例和最近鄰示例為特征鏈. 選擇交替順序排列的原因為:一是形成示例和最近鄰示例的交替演變關系,使模型能更好地學習并捕獲其中的含義;二是結合雙向長短期神經網絡Bi-LTSM的結構特點進行排列. 長短期神經網絡LSTM是基于循環(huán)神經網絡RNN改進的,而循環(huán)神經網絡就是對順序信息進行特征抽取和建模,因此,要構建一個能反映示例特征向量潛在變化關系含義的序列. 進一步地,為了比較不同的特征向量輸入序列排列方式對模型預測效果的影響,選取了3種不同的順序排列示例和最近鄰示例形成特征鏈,分別是交替升序特征鏈(f1,f,f2,f,…,fk,f)2k×m、交替降序特征鏈(fk,f,fk-1,f,…,f1,f)2k×m和隨機順序特征鏈序列(f2,f,fk,f,…,f1,f)2k×m. 特別地,為了探索是否需要加入相似示例來豐富輸入空間特征信息,設置純特征鏈(f,f,…,f)2k×m,即該序列由單個示例的特征向量構成. 4種類型特征鏈的可視化如圖3A所示.

由4種類型特征鏈對Fea2Lab模型AP值的影響(圖3B)可知:(1)交替升序特征鏈和交替降序特征鏈對Fea2Lab模型AP值的影響表現是類似的. 因為Fea2Lab模型采用的是雙向Bi-LSTM神經網絡,同時考慮了前向和后向,所以編碼這2種類型的特征鏈的模型表現是相似的. (2)隨機順序特征鏈對Fea2Lab模型AP值的影響表現比交替升序特征鏈或交替降序特征鏈都差,猜測原因是最近鄰沒有按照一定的順序排列,使FeaEnc編碼器的Bi-LSTM神經網絡不能很好地捕捉到最近鄰之間、最近鄰和給定示例之間的演變關系,導致結果較差. (3)純特征鏈對Fea2Lab模型AP值的影響表現最差,主要原因可能是沒有包含當前未知示例的最近鄰信息,單個特征向量所包含的信息較少,不能很好地使模型學習從特征空間到標記空間的映射關系.

圖3 4種特征鏈類型及對Fea2Lab模型AP值影響

2.2.2 全局標簽信息 在解碼流程中,本文提出通過疊加已預測標簽來在模型訓練階段主動的緩解標簽錯誤級聯問題,形式上表現為:

P(lt|lj-1,lj-2,…,l1,c),

圖4 全局標簽信息對Fea2Lab模型的影響

Figure 4 The influence of global label information on the Fea2Lab model

3 小結

針對傳統(tǒng)多標記學習方法只考慮單個特征向量和無差別的預測全體標簽,從而造成輸入空間特征信息少、標簽屬性被忽略和對大標記空間預測效果較差的問題,本文轉化傳統(tǒng)多標記學習任務為多標記學習的序列到序列任務,并提出多標記學習標簽生成神經網絡模型(Fea2Lab模型). 通過引入示例最近鄰并交替排列形成特征向量輸入序列、提取標記空間中隱含的標簽屬性、在解碼流程中引入全局標簽信息來有效地解決上述問題. 在多個數據集上的實驗結果表明了轉化任務和Fea2Lab模型的合理性與有效性;消融實驗進一步地探究了Fea2Lab模型的學習細節(jié). 但Fea2Lab模型仍存在尋找最近鄰示例不精準和對超大標簽空間預測效果不佳的不足,下一步可增加如何精確尋找最近鄰示例的研究,以及使用能編碼更長序列的序列生成模型.

猜你喜歡
特征向量解碼示例
二年制職教本科線性代數課程的幾何化教學設計——以特征值和特征向量為例
《解碼萬噸站》
克羅內克積的特征向量
語文作文點評及升格示例
“口”字大挪移
解碼eUCP2.0
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
三個高階微分方程的解法研究
飛吧,云寶