王俊杰,焦 柯,彭子祥,譚麗紅,王文波
(廣東省建筑設(shè)計(jì)研究院有限公司,廣州 510010)
自深度學(xué)習(xí)興起以來,將人工智能技術(shù)應(yīng)用于如工程、醫(yī)學(xué)等傳統(tǒng)行業(yè)是近年的熱門研究方向[1-3].但傳統(tǒng)行業(yè)往往面臨由樣本收集難度大、成本高、涉及個(gè)人隱私等原因?qū)е码y以收集到足以代表總體的樣本數(shù)量進(jìn)行深度學(xué)習(xí)的阻礙.
解決小樣本問題的方法大致上分為:半監(jiān)督學(xué)習(xí)[4,5]、轉(zhuǎn)導(dǎo)推理學(xué)習(xí)[6]、主動(dòng)學(xué)習(xí)[7]和虛擬樣本[8,9].其中,半監(jiān)督學(xué)習(xí)具有樣本獲取相對容易的優(yōu)勢,其主要思想是結(jié)合未標(biāo)記樣本輔助有標(biāo)簽訓(xùn)練樣本進(jìn)行學(xué)習(xí),利用無標(biāo)簽樣本的分布信息,提高模型的泛化能力.主動(dòng)學(xué)習(xí)則是通過主動(dòng)查詢,標(biāo)記最重要的樣本,輔助原樣本的分類學(xué)習(xí),其困難在于如何確定和標(biāo)記樣本的重要性.而虛擬樣本法通過對樣本特征采取一定假定生成新樣本,是降低小樣本問題的影響的直觀方法,達(dá)到擴(kuò)充原有樣本集的目的.
虛擬樣本法主要分為基于專家先驗(yàn)知識(shí)構(gòu)造樣本、基于擾動(dòng)的思想構(gòu)造虛擬樣本以及基于研究領(lǐng)域的分布函數(shù)生成虛擬樣本[10].例如程彬[11]通過顏色空間變化、文本區(qū)域變換、背景區(qū)域變換來合成新的場景文字圖像,提高場景文本檢測算法的準(zhǔn)確度和泛化能力;溫津偉等[12]利用對人臉輪廓線的先驗(yàn)知識(shí),構(gòu)造特征矢量,并且通過計(jì)算原樣本中人臉角度變化后的特征矢量變化關(guān)系,構(gòu)造新樣本.上述方法需要對樣本有詳細(xì)的先驗(yàn)知識(shí),適用性有限.而加入擾動(dòng)的虛擬樣本構(gòu)造方法[13]普適性更強(qiáng),而且易于操作.但是該方法只保證了樣本生成的合理性,并沒有兼顧廣泛性,生成的樣本屬性基本與原有樣本相同,只提高了對輸入特征自身誤差的寬容性.
大多數(shù)機(jī)器學(xué)習(xí)算法在測試樣本的表現(xiàn)依賴于訓(xùn)練樣本集分布滿足i.d.d.(independent and identically distributed)假設(shè).天然樣本的不均衡分布普遍存在,并且稀少類樣本通常更為重要,若直接對不均衡的原樣本進(jìn)行訓(xùn)練,算法會(huì)認(rèn)為樣本多的類別更重要.一種解決思路是提高稀少類的重要程度,例如更改樣本集各類型樣本配比的SMOTE 算法[14]和對各類別按占比賦予不同的錯(cuò)分代價(jià)的METACOST 算法[15].
以上方法普遍有不能同時(shí)兼顧合理性和廣泛性等缺點(diǎn),而基于變分自編碼器(VAE)的虛擬樣本法,有不對樣本集分布采取強(qiáng)制假定,準(zhǔn)確擬合樣本集分布的特點(diǎn).研究表明,VAE 用作擴(kuò)充稀有類樣本數(shù)量時(shí),使樣本集各類別趨于均衡,能有效緩解不均衡數(shù)據(jù)類別的問題[16].
VAE 通過抽樣標(biāo)準(zhǔn)高斯分布的潛變量生成新樣本,對生成樣本的特性是無控的.為此,Sohn 等[17]提出的CVAE 在訓(xùn)練時(shí)融入標(biāo)簽信息,使生成過程能定向至對應(yīng)標(biāo)簽.更為靈活、豐富的控制生成方式則是通過提煉潛變量的語義后,直接控制潛變量生成特定屬性的樣本.例如Higgins 等提出的β-VAE[18]、Kim 等提出的FactorVAE[19]以及對β-VAE的改進(jìn)型方法β-TCVAE[20]對VAE的潛變量進(jìn)行特征解耦(feature disentanglement),使各潛變量能獨(dú)立代表樣本的一類屬性,然后通過枚舉法提取一系列涵蓋潛變量的取值空間的潛變量值及其對應(yīng)解碼后的樣本,觀測各潛變量的改變帶來解碼樣本的變化,見圖1.
圖1 FactorVAE 各潛變量對應(yīng)的語義及控制效果[19]
然而僅對于圖像類樣本可采用枚舉加主觀判斷的方法提煉潛變量的語義,對于數(shù)值和文字類輸入特征很難通過可視化表達(dá)觀察出各潛變量的語義.因此,本文提出一種基于輸入特征與潛變量的依賴關(guān)系統(tǒng)計(jì)的方法,準(zhǔn)確測出對各潛變量敏感(依賴關(guān)系高)的輸入?yún)^(qū)域,然后通過輸入?yún)^(qū)域內(nèi)特征的共性,確定潛變量的語義,實(shí)現(xiàn)可控地生成特定屬性的樣本,靈活地?cái)U(kuò)充原有樣本集.
變分自編碼器(VAE)[21]是一種包含潛變量的生成模型,它利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到編碼器和解碼器,通過標(biāo)準(zhǔn)高斯分布的潛變量Z加一個(gè)足夠復(fù)雜的函數(shù)映射(由神經(jīng)網(wǎng)絡(luò)求解)得到任何輸入特征的分布,進(jìn)而輸出原樣本集中不包含的數(shù)據(jù),標(biāo)準(zhǔn)VAE 模型見圖2.
圖2 標(biāo)準(zhǔn)VAE 模型[21]
輸入特征經(jīng)過“黑箱子”神經(jīng)網(wǎng)絡(luò)與潛變量連接,通過利用神經(jīng)網(wǎng)絡(luò)的權(quán)重作為輸入特征與潛變量相關(guān)性的度量,通過統(tǒng)計(jì)各輸入特征對各潛變量的貢獻(xiàn)度,即可獲取輸入特征與VAE 潛變量的依賴關(guān)系.神經(jīng)網(wǎng)絡(luò)的神經(jīng)元激活計(jì)算公式y(tǒng)=w·x+b可看作線性映射.偏置b代表的是對原始輸入特征值偏離的矯正;權(quán)重w代表的是該神經(jīng)元的激活對上游神經(jīng)元連接傳遞值的敏感程度,見圖3.因此,權(quán)重可用于反映各層神經(jīng)元的連接強(qiáng)度.權(quán)重的正負(fù)號(hào)反映互相連接的兩神經(jīng)元的正/負(fù)相關(guān)關(guān)系;權(quán)重的絕對值大小反映該相關(guān)關(guān)系的強(qiáng)弱.因此,以權(quán)重的絕對值作為兩神經(jīng)元連接強(qiáng)弱的度量.
圖3 權(quán)重作為x 到y(tǒng) 映射的敏感度示意圖
VAE 架構(gòu)如圖4所示,由于與VAE 隱藏層連接的是潛變量的分布Z-N(μ,σ)(兩個(gè)并行的潛變量層μ與σ),通過重參數(shù)化技巧z=μ+σ⊙e得出潛變量Z的值.因?yàn)闈撟兞縕層是計(jì)算層,不與隱藏層直接相連,能代表潛變量Z的是其分布均值μ.因此,各隱藏層單元Hi對潛變量Z的貢獻(xiàn)度等價(jià)于各隱藏層單元Hi對潛變量分布均值μ的貢獻(xiàn)度.
圖4 變分自編碼機(jī)架構(gòu)示意圖
單個(gè)輸入特征對潛變量的貢獻(xiàn)度可表示為其所有從該輸入特征到該潛變量的路徑上的權(quán)重絕對值的乘積之和.表達(dá)式為:
其中,i為輸入特征,j為潛變量,m為輸入特征i到潛變量j的路徑數(shù),n為該段路徑包含的權(quán)重個(gè)數(shù).
為消除輸入特征本身的取值范圍的影響(偏置一定程度會(huì)消除該影響),貢獻(xiàn)度的測量采用相對貢獻(xiàn)度的度量方式,即單個(gè)輸入特征對所有潛變量的貢獻(xiàn)度之和為1.編碼/解碼神經(jīng)網(wǎng)絡(luò)可以擁有任意數(shù)量、大小的隱藏層,本文以一層隱藏層的編碼/解碼神經(jīng)網(wǎng)絡(luò)為例,列出貢獻(xiàn)度計(jì)算公式.另輸入特征個(gè)數(shù)為N,隱藏層單元個(gè)數(shù)為M,潛變量個(gè)數(shù)為L.輸入層各單元與隱藏層各單元的連接權(quán)重記為WFi,Hj,隱藏層各單元與潛變量層的連接權(quán)重記為WHj,Zk,第i個(gè)輸入特征F對第j個(gè)隱藏層單元H的貢獻(xiàn)度(見圖5)可寫為:
圖5 輸入特征F 對隱藏層單元H的貢獻(xiàn)度示意圖
以此類推,第j個(gè)隱藏層單元H對第k個(gè)潛變量分布均值μ的貢獻(xiàn)度為:
因此,第i個(gè)輸入特征F對第k個(gè)潛變量分布均值μ的貢獻(xiàn)度(見圖6)可寫為:
圖6 輸入特征F 對潛變量μ的貢獻(xiàn)度示意圖
通過貢獻(xiàn)度計(jì)算,得出輸入特征與潛變量的依賴關(guān)系后,以相關(guān)關(guān)系的強(qiáng)弱決定與各潛變量有強(qiáng)依賴關(guān)系的輸入特征集.當(dāng)輸入特征數(shù)量不多時(shí),通過觀察潛變量對應(yīng)的輸入特征集,以專家知識(shí)歸納出輸入特征集的共性作為語義是較為準(zhǔn)確的.當(dāng)輸入特征數(shù)量多,難以通過觀察歸納出共性時(shí),本文給出一種語義與潛變量統(tǒng)計(jì)匹配算法,能完成給定語義下的最優(yōu)匹配,并給出匹配明晰度作為預(yù)先給定語義與潛變量實(shí)際語義偏差的度量.
(1)語義與輸入特征的依賴關(guān)系
由于潛變量的實(shí)際語義是未知的,已知的是潛變量與各輸入特征的依賴關(guān)系.因此,通過建立預(yù)定義的語義與輸入特征的相關(guān)關(guān)系,即把屬于該語義范疇的輸入特征定義為與該語義相關(guān).根據(jù)先驗(yàn)知識(shí),有依賴關(guān)系的填1,無依賴關(guān)系時(shí)填0,得出語義與輸入特征的依賴關(guān)系矩陣Rj,k.
代表潛變量與各輸入特征的依賴關(guān)系的貢獻(xiàn)度矩陣Ci,k由式(4)計(jì)算得出,如下所示:
由于貢獻(xiàn)度矩陣和依賴關(guān)系矩陣中的潛變量和語義均表達(dá)為對輸入特征的相關(guān)關(guān)系,因此可以通過尋找和語義與輸入特征相關(guān)關(guān)系最相近的潛變量,進(jìn)行語義與潛變量的匹配.完成一對匹配后將其從待匹配矩陣中去除,如此循環(huán)直到匹配完成.
(2)語義與潛變量的匹配算法
語義和潛變量的相近度采用“距離”衡量,即潛變量μi與各輸入特征Fk的貢獻(xiàn)度減去語義Ij與各輸入特征Fk的依賴度.由于貢獻(xiàn)度矩陣Ci,k的計(jì)算值范圍為(0,1),均值在1 除以潛變量個(gè)數(shù)附近,與依賴關(guān)系矩陣Ri,j的取值(0 或1)絕對距離較遠(yuǎn).換言之,輸入特征對各潛變量貢獻(xiàn)度的變化幅度相對于依賴關(guān)系矩陣的取值差別較大,使貢獻(xiàn)度的差異淹沒在與依賴關(guān)系矩陣的絕對距離差中.因此,需將貢獻(xiàn)度矩陣的取值轉(zhuǎn)換為與依賴關(guān)系矩陣同一量級(jí),其中一個(gè)方法是將各輸入特征對所有潛變量的相對貢獻(xiàn)度大于均值的取1,其余取0.潛變量μi與語義Ij的相對距離Di,j數(shù)學(xué)表達(dá)式為:
距離矩陣Di,j示意如下:
由相對距離的特性可知,相對距離的均值為1/N,N為潛變量個(gè)數(shù).所有潛變量匹配的平均值與1/N對比即可反映匹配的準(zhǔn)確度.因此,本文給出明晰度MI作為匹配準(zhǔn)確性的度量,計(jì)算公式為:
明晰度MI取值為0%~100%,明晰度為0 表示VAE 訓(xùn)練得出的潛變量與輸入特征的依賴關(guān)系與由先驗(yàn)知識(shí)確定的語義與輸入特征的依賴關(guān)系完全不一致.反之,明晰度為100%代表VAE 訓(xùn)練匹配得出和由先驗(yàn)知識(shí)確定的語義(潛變量)與輸入特征的依賴關(guān)系完全吻合.由此可判斷語義提煉和匹配的準(zhǔn)確度.
算法1.潛變量—語義匹配算法Require:潛變量μi與語義Ij的相對距離矩陣Di,j While 還有潛變量未匹配 do從相對距離矩陣Di,j 搜索最小值抹去該最小值對應(yīng)的行μi與列Ij,并完成第i 個(gè)潛變量與第j 個(gè)語義的匹配End while(1-∑Di,j)×100%明晰度MI 計(jì)算:
VAE 模型的訓(xùn)練是基于神經(jīng)網(wǎng)絡(luò)反向傳播的原理,通過預(yù)測標(biāo)簽與真實(shí)標(biāo)簽的誤差來計(jì)算用于更新各層權(quán)重的梯度,是以最小化損失(loss)為目標(biāo)的優(yōu)化過程.為使生成的潛變量與輸入特征的依賴關(guān)系趨近于基于先驗(yàn)知識(shí)確定的語義與輸入特征的依賴關(guān)系,在VAE的損失函數(shù)里加入明晰度的約束項(xiàng),讓神經(jīng)網(wǎng)絡(luò)搜索能生成滿足訓(xùn)練樣本分布的模型參數(shù)的同時(shí)最大化明晰度.
明晰度本身的數(shù)量級(jí)不一定與VAE的損失函數(shù)對應(yīng),且過早加入明晰度到損失函數(shù)會(huì)影響VAE的生成效果.因此,通過追蹤作為訓(xùn)練進(jìn)度指示的KL 散度,確定模型充分訓(xùn)練與過擬合的臨界點(diǎn).然后重新訓(xùn)練模型至接近臨界點(diǎn)后停止訓(xùn)練,構(gòu)建鏡像模型并代入停止訓(xùn)練時(shí)的權(quán)重與偏置,并在損失函數(shù)里加上明晰度的約束項(xiàng)后繼續(xù)訓(xùn)練模型,讓神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào),在不影響模型生成能力的前提下,自動(dòng)搜索出讓模型訓(xùn)練得出的依賴關(guān)系與先驗(yàn)知識(shí)預(yù)定義的依賴關(guān)系接近的參數(shù).更新后的損失函數(shù)為:
明晰度約束項(xiàng)表達(dá)式為:
其中,reconstruction_loss′和KL_loss′是停止訓(xùn)練時(shí)VAE 模型的重構(gòu)誤差和KL 散度,MI′是提取停止訓(xùn)練時(shí)的權(quán)重計(jì)算的明晰度.接近充分訓(xùn)練時(shí),重構(gòu)誤差和KL 散度基本趨于穩(wěn)定.η為數(shù)量級(jí)調(diào)諧因子,因?yàn)閂AE 訓(xùn)練時(shí)應(yīng)以能生成滿足訓(xùn)練樣本分布的樣本的能力優(yōu)先,所以另明晰度約束項(xiàng)的最大數(shù)值僅為停止訓(xùn)練時(shí)VAE 模型損失的1/4.
通過VAE 模型生成的新樣本均滿足原樣本集分布,而且可以生成原樣本集沒有但統(tǒng)計(jì)意義上存在的新樣本,以標(biāo)準(zhǔn)高斯分布擴(kuò)充潛變量空間后解碼得到的新樣本集示意圖見圖7.
圖7 以標(biāo)準(zhǔn)高斯分布擴(kuò)充潛變量空間后樣本分布變化圖
本文提出的基于VAE 潛變量語義提煉的虛擬樣本生成法提供一種可控、定向地生成特定屬性的樣本的策略.結(jié)合先驗(yàn)知識(shí),可靈活解決小樣本、樣本不均衡的問題.算法流程圖如圖8所示.
圖8 算法流程圖
以民用建筑結(jié)構(gòu)安全數(shù)據(jù)庫的樣本擴(kuò)充為例,說明基于VAE 潛變量語義提煉的虛擬樣本生成法流程以及語義提煉效果.從該數(shù)據(jù)庫抽取30 個(gè)房屋信息記錄,提取45 個(gè)結(jié)構(gòu)安全相關(guān)的房屋信息作為輸入特征.表1列出部分房屋及輸入特征記錄.
表1 房屋錄入數(shù)據(jù)信息表
據(jù)先驗(yàn)知識(shí)預(yù)定義8 個(gè)結(jié)構(gòu)安全相關(guān)的語義后,構(gòu)建VAE 模型并進(jìn)行訓(xùn)練至明晰度滿足精度要求,如表2.
表2 預(yù)定義語義表
然后根據(jù)算法流程圖,進(jìn)行模型學(xué)習(xí)和匹配的明晰度計(jì)算.其中,根據(jù)式(4)計(jì)算出輸入特征對潛變量分布均值的貢獻(xiàn)度矩陣Ci,k的二值化結(jié)果如圖9所示,由于數(shù)據(jù)輸入類型為混合類型,包含連續(xù)值、二值型以及獨(dú)熱編碼,因此經(jīng)獨(dú)熱編碼轉(zhuǎn)換后輸入特征擴(kuò)張至130 個(gè),由先驗(yàn)知識(shí)確定的語義與輸入特征的依賴關(guān)系矩陣亦由程序進(jìn)行對應(yīng)轉(zhuǎn)換.
圖9 貢獻(xiàn)度矩陣二值化結(jié)果圖
得到貢獻(xiàn)度矩陣Ci,k后,與由先驗(yàn)知識(shí)得出的語義與輸入特征依賴關(guān)系矩陣根據(jù)式(7)進(jìn)行相對距離計(jì)算.距離越小時(shí),語義與潛變量越相近.距離Di,j的可視化矩陣如圖10.
圖10 相對距離矩陣可視化圖
應(yīng)用“潛變量-語義匹配算法”為每個(gè)潛變量匹配最優(yōu)語義并計(jì)算當(dāng)前匹配的明晰度,匹配結(jié)果詳見表3.
表3 潛變量-語義匹配算結(jié)果
模型訓(xùn)練完成后的匹配明晰度為:
本文提出的基于VAE 潛變量語義提煉的樣本擴(kuò)充方法,利用了VAE 能擬合輸入特征分布的特點(diǎn),能產(chǎn)生合理且具有廣泛性的樣本,一定程度上,補(bǔ)充原有訓(xùn)練集沒有出現(xiàn)但統(tǒng)計(jì)意義上存在的樣本屬性.避免了采用其他樣本生成技術(shù)會(huì)帶來樣本不合理和容易過擬合的缺點(diǎn).通過對融入特征解耦的VAE 訓(xùn)練得到的相互獨(dú)立的潛變量進(jìn)行語義提煉,能實(shí)現(xiàn)更靈活且有針對性的樣本擴(kuò)充.
潛變量語義的提煉本質(zhì)上是一種主觀的方法,依賴于對樣本集的先驗(yàn)知識(shí),包括β-VAE[18]、FactorVAE[19]、β-TCVAE[20]等均采用枚舉觀察法匹配根據(jù)先驗(yàn)知識(shí)確定的語義和潛變量.本文給出了當(dāng)樣本集為數(shù)據(jù)或文字,枚舉觀察法不適用時(shí)的潛變量語義提煉策略,以統(tǒng)計(jì)權(quán)重作為依賴關(guān)系度量的方法,揭示各潛變量對應(yīng)的輸入特征集,根據(jù)輸入特征集的共性,即可得出該潛變量控制的樣本屬性.尤其當(dāng)輸入特征數(shù)量多,難以通過觀察歸納出共性作為語義時(shí),語義與潛變量統(tǒng)計(jì)匹配算法能完成給定語義下的最優(yōu)匹配,并給出匹配明晰度作為預(yù)先給定語義與潛變量實(shí)際語義偏差的度量.
該匹配方法存在一定缺點(diǎn),預(yù)定義語義與潛變量實(shí)際語義不一定相符,需根據(jù)匹配的明晰度調(diào)整預(yù)定義語義及數(shù)量,最終不一定能得出高準(zhǔn)確率的匹配.
揭示出樣本固有特征的語義對人工智能在各行業(yè)的應(yīng)用有重要意義.下一步將繼續(xù)優(yōu)化語義提煉算法,得出能廣泛適用于各種樣本類型且匹配準(zhǔn)確率高的算法.