湯麗君,關(guān)東海,汪子璇,袁偉偉,燕雪峰
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院/人工智能學(xué)院,南京 211106)
多元時(shí)間序列廣泛存在于我們的日常生活及實(shí)際應(yīng)用中,如可穿戴設(shè)備[1],磁盤監(jiān)控[2,3],狀態(tài)監(jiān)控[4,5]等.隨著計(jì)算機(jī)技術(shù)和傳感器技術(shù)的不斷發(fā)展,多元時(shí)間序列變得越來(lái)越容易收集,同時(shí)數(shù)據(jù)量也變得越來(lái)越龐大.因此,多元時(shí)間序列的相關(guān)研究也面臨較大的挑戰(zhàn)和發(fā)展.對(duì)于給定當(dāng)前的時(shí)間片段,如何高效精確地從以往時(shí)間片段中找出相似片段是一個(gè)極為重要的研究方向,這對(duì)于后續(xù)各種應(yīng)用提供了極大的幫助,如狀態(tài)識(shí)別,異常檢測(cè)等.
目前,針對(duì)時(shí)間序列檢索已經(jīng)有了較多的研究,但是這些研究主要集中在一元時(shí)間序列檢索方面,對(duì)于多元時(shí)間序列檢索涉及較少,并且這些研究所采用的方法主要是一些傳統(tǒng)的方法.同時(shí),這些表示方法大多是基于專業(yè)人員的先驗(yàn)知識(shí)獲得的,且主要針對(duì)一元時(shí)間序列,對(duì)于多元時(shí)間序列檢索沒(méi)有較好的移植性.
已有的研究工作主要采用支持離散傅里葉變換(DCT)[6,7],離散小波變換(DWT)[8]等傳統(tǒng)機(jī)器學(xué)習(xí)方法以及長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)等基本的神經(jīng)網(wǎng)絡(luò)對(duì)時(shí)間序列進(jìn)行表示,主要采用歐氏距離或動(dòng)態(tài)時(shí)間規(guī)整(DTW)[9.10]等相似性度量方法計(jì)算特征空間中的成對(duì)距離.以上這些方法在實(shí)驗(yàn)中取得了一定的成果,但是面對(duì)越來(lái)越復(fù)雜的多元時(shí)間序列數(shù)據(jù),這些方法的效果并不理想.具體原因可能有以下幾點(diǎn):首先,多元時(shí)間序列有較多屬性,而一元時(shí)間序列只需要考慮一個(gè)屬性,已有的研究不能學(xué)習(xí)到多個(gè)屬性之間的相關(guān)性[11,12];其次,已有的研究在時(shí)間序列表示上較為復(fù)雜,需要依賴專業(yè)人員的先驗(yàn)知識(shí);再者,已有的相似性度量方法的計(jì)算較為復(fù)雜,當(dāng)時(shí)間序列片段較長(zhǎng)時(shí),需要花費(fèi)很大的計(jì)算成本;最后,目前的研究對(duì)于時(shí)間序列的表示只停留在簡(jiǎn)單的特征表示上,不能提高時(shí)間序列的可鑒別性,即不能促使相似的時(shí)間列有相似的表示,不相似的時(shí)間序列有不同的表示.
為解決上述問(wèn)題,并且基于卷積神經(jīng)網(wǎng)絡(luò)利用卷積層在提取多元特征方面的優(yōu)越性以及生成對(duì)抗式網(wǎng)絡(luò)在提高模型泛化的能力,本文針對(duì)多元時(shí)間序列檢索提出了一種基于CNN和深度非監(jiān)督二進(jìn)制生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)生成對(duì)抗網(wǎng)絡(luò)強(qiáng)化非監(jiān)督學(xué)習(xí),同時(shí)通過(guò)對(duì)時(shí)間序列進(jìn)行二進(jìn)制編碼,使用Hamming距離來(lái)進(jìn)行相似性度量,進(jìn)一步降低計(jì)算成本.相較于以往研究,本文的方法能有效提高多元時(shí)間序列檢索的速度和準(zhǔn)確率.
論文工作的主要貢獻(xiàn)在于:
1)本文是第一個(gè)將基于CNN的生成對(duì)抗式網(wǎng)絡(luò)使用在多元時(shí)間序列檢索上的論文,通過(guò)共享鑒別器和編碼器的參數(shù),利用鑒別器學(xué)習(xí)到的內(nèi)容進(jìn)行編碼,通過(guò)CNN強(qiáng)大的特征提取能力,獲取多元之間的相關(guān)性,同時(shí)采用生成對(duì)抗訓(xùn)練模型,提高模型的泛化能力.
2)本文在模型中加入了時(shí)序相似矩陣,通過(guò)引入相似對(duì)損失,提高了時(shí)間序列特征表示的可鑒別性,促使相似的時(shí)間序列有相似的二進(jìn)制表示,不相似的時(shí)間序列有不同的二進(jìn)制表示.與此同時(shí),通過(guò)計(jì)算時(shí)間序列二進(jìn)制編碼的Hamming距離,進(jìn)一步降低了計(jì)算成本.
3)本文面向3個(gè)不同的多元時(shí)間序列的數(shù)據(jù)集設(shè)計(jì)了多組對(duì)比實(shí)驗(yàn),提出的模型在3個(gè)數(shù)據(jù)集上在速度和準(zhǔn)確率上都表現(xiàn)出了較優(yōu)異的效果.
關(guān)于時(shí)間序列檢索的研究已經(jīng)展開(kāi)了多項(xiàng)工作.這個(gè)問(wèn)題常見(jiàn)的解決方案是基于歐氏距離(EU)或者動(dòng)態(tài)時(shí)間規(guī)整(DTW)來(lái)進(jìn)行相似性度量,通過(guò)計(jì)算原始空間中的成對(duì)距離來(lái)獲取相似片段.然而,在時(shí)間序列的長(zhǎng)度較長(zhǎng)或者數(shù)據(jù)量太大的情況下,這些方法需要花費(fèi)較大的計(jì)算成本,通常是不可行的.所以,在后續(xù)的研究中,開(kāi)始通過(guò)提取特征,從而獲取時(shí)間序列的緊湊表示,進(jìn)一步降低計(jì)算成本.到目前為止,已經(jīng)開(kāi)發(fā)了許多方法來(lái)表示時(shí)間序列,如離散傅里葉變換(DCT),離散小波變換(DWT),分段聚合逼近(PAA)[13]等.然而,以上這些方法都要求對(duì)數(shù)據(jù)進(jìn)行專業(yè)的特征選擇等復(fù)雜的預(yù)處理過(guò)程,需要專業(yè)人員的先驗(yàn)知識(shí),對(duì)于多元時(shí)間序列檢索來(lái)說(shuō)是不夠好的.此外,即使獲取了良好的特征表示,使用歐氏距離或者動(dòng)態(tài)時(shí)間規(guī)整來(lái)進(jìn)行相似性度量所花費(fèi)計(jì)算成本仍然是昂貴的.先前的研究[4,14]表明散列技術(shù),如局部敏感哈希(LSH)[15]、草圖單一散列法(SSH)[14]等可用于進(jìn)一步降低高維相似性檢索的檢索復(fù)雜度,然而這些方法主要用于單變量時(shí)間序列,且排名前列的準(zhǔn)確度并不高.總之,傳統(tǒng)的機(jī)器學(xué)習(xí)在時(shí)間序列的特征表示及相似性度量方法上都需要較多專業(yè)人員的先驗(yàn)知識(shí)和計(jì)算成本,不能滿足我們高效的檢索目標(biāo).
隨著深度學(xué)習(xí)的迅速發(fā)展,研究學(xué)者們嘗試使用神經(jīng)網(wǎng)絡(luò)來(lái)解決這一問(wèn)題.Grabocka等[16]提出了NeuralWarp方法,這是一種在深度表示空間中對(duì)時(shí)間序列對(duì)齊進(jìn)行建模的新方法.通過(guò)將扭曲函數(shù)建模為對(duì)時(shí)間序列進(jìn)行深度編碼.Franceschi等[17]提出了一種無(wú)監(jiān)督的方法來(lái)學(xué)習(xí)多變量時(shí)間序列的通用表示,該方法符合所研究的時(shí)間序列長(zhǎng)度較長(zhǎng)的情況,可獲得可變長(zhǎng)度和多變量時(shí)間序列的通用表示.然而,這些方法仍然存在相似性計(jì)算成本較高的問(wèn)題,且有些是針對(duì)一元時(shí)間序列,對(duì)于多元時(shí)間序列檢索效果一般,沒(méi)有考慮多元時(shí)間序列的多元相關(guān)性和動(dòng)態(tài)性,并且沒(méi)有使時(shí)間序列具備可區(qū)分性.
生成對(duì)抗式網(wǎng)絡(luò)在時(shí)間序列上的應(yīng)用給了我們一定的啟發(fā).Jiang等[18]提出了一種非監(jiān)督生成對(duì)抗學(xué)習(xí)方法用于異常檢測(cè),其將長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)與全連接層連接起來(lái),設(shè)計(jì)出一種可進(jìn)行二次編碼的自編碼器,通過(guò)減少樣本重構(gòu)誤差和潛在向量之間的距離,提高模型的泛化能力.Akcay等[19]通過(guò)使用編碼器-解碼器-編碼器網(wǎng)絡(luò)使模型能夠?qū)⑤斎雸D像映射到一個(gè)較低的維數(shù)矢量,然后用來(lái)重建生成的輸出圖像.研究表明,GAN網(wǎng)絡(luò)能極大提高模型的泛化能力.
近期,在圖像檢索和視頻檢索方面有較大進(jìn)展.Li等[20]提出了一個(gè)用于大規(guī)模遙感圖像檢索的量化深度學(xué)習(xí)哈??蚣?QDLH),QDLH框架中的權(quán)重和激活函數(shù)被二值化為低位表示,從而很大程度上減少了存儲(chǔ)空間和計(jì)算資源.Anuranji等[21]提出了一種基于卷積的雙向LSTM學(xué)習(xí)模型的聯(lián)合集成,該模型從視頻中學(xué)習(xí)豐富的幀級(jí)和視覺(jué)級(jí)特征,以獲取緊湊的二進(jìn)制編碼.Zhang等[22]提出了一種新的無(wú)監(jiān)督視頻哈希框架,稱為自監(jiān)督(SSTH),它能夠以端到端的方式捕獲視頻的時(shí)間特性,為視頻生成二進(jìn)制編碼.以上這些進(jìn)展充分體現(xiàn)了二進(jìn)制編碼對(duì)于降低計(jì)算成本的有效性,這些研究給我們的課題帶來(lái)很大啟發(fā).
由于多元時(shí)間序列很難獲取歷史的標(biāo)簽信息,我們將其定義為無(wú)監(jiān)督的多元時(shí)間序列檢索問(wèn)題,本文設(shè)計(jì)了基于CNN和無(wú)監(jiān)督二進(jìn)制編碼生成對(duì)抗網(wǎng)絡(luò)來(lái)進(jìn)行多元時(shí)間序列檢索.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)廣泛地應(yīng)用于圖像領(lǐng)域,其核心思想是利用卷積層進(jìn)行特征提取.越來(lái)越多的研究者嘗試將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于時(shí)間序列進(jìn)行相關(guān)實(shí)驗(yàn)[3],這啟發(fā)我們將卷積神經(jīng)網(wǎng)絡(luò)用于多元時(shí)間序列檢索.
CNN是一類前饋神經(jīng)網(wǎng)絡(luò),其特點(diǎn)是共享權(quán)重和平移不變性.如圖1所示,與傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)相比,CNN通過(guò)濾波器使神經(jīng)元只與輸入數(shù)據(jù)的一個(gè)局部區(qū)域相連接,該連接的空間叫做神經(jīng)元的感受野,CNN的神經(jīng)元只在視野中被稱為感受野的受限區(qū)域?qū)Υ碳ぷ鞒龇磻?yīng).不同神經(jīng)元的感受野部分重疊,從而覆蓋整個(gè)視野.采用共享權(quán)重的方案將局部神經(jīng)元連通可以顯著減少參數(shù)的數(shù)量,簡(jiǎn)化了網(wǎng)絡(luò)模型,可防止神經(jīng)網(wǎng)絡(luò)出現(xiàn)過(guò)擬合的問(wèn)題,同時(shí)這種非全連接的共享式深度神經(jīng)網(wǎng)絡(luò)更類似于生物神經(jīng)網(wǎng)絡(luò).
圖1 濾波器及感受野示意圖Fig.1 Schematic diagram of filter and receptive field
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[23]是一種生成式的對(duì)抗網(wǎng)絡(luò),即通過(guò)對(duì)抗的方式去學(xué)習(xí)數(shù)據(jù)分布的生成式模型.其中生成網(wǎng)絡(luò)需要生成逼真的假樣本來(lái)干擾鑒別網(wǎng)絡(luò),而鑒別網(wǎng)絡(luò)則需要盡可能鑒別該樣本是真實(shí)的樣本還是生成的假樣本,二者相互對(duì)抗從而達(dá)到一種平衡.
與其他生成式模型相比,GAN有兩個(gè)優(yōu)勢(shì):1)不依賴于任何先驗(yàn)假設(shè).許多傳統(tǒng)的方法會(huì)假設(shè)數(shù)據(jù)服從某一分布,然后使用極大似然去估計(jì)數(shù)據(jù)分布;2)生成假樣本的方式非常簡(jiǎn)單.GAN生成假樣本的方式通過(guò)生成器的前向傳播,而傳統(tǒng)的采樣方式非常復(fù)雜.
GAN的模型結(jié)構(gòu)如圖2所示,隱變量z通過(guò)生成器生成Xfake,鑒別器負(fù)責(zé)鑒別輸入的數(shù)據(jù)是生成的假樣本Xfake還是真實(shí)樣本Xreal.優(yōu)化的目標(biāo)函數(shù)如下:
圖2 GAN的模型結(jié)構(gòu)Fig.2 Model structure of GAN
(1)
對(duì)于鑒別器D而言,這是一個(gè)簡(jiǎn)單的二分類問(wèn)題,V(G,D)即為解決此類問(wèn)題常用的交叉熵?fù)p失.對(duì)于生成器G而言,為了能更好地干擾鑒別器D,則需要最大化生成樣本的鑒別概率D(G(z)),即最小化log(1-D(G(z))).
該目標(biāo)函數(shù)是最小化兩個(gè)分布的JS散度.事實(shí)上,還有很多種方法可以衡量?jī)蓚€(gè)分布距離,根據(jù)不同的距離度量方法,就可以得到不同的目標(biāo)函數(shù).許多改進(jìn)GAN穩(wěn)定性的方法,如EBGAN,LASGAN等定義了不同的距離度量方式.
二進(jìn)制編碼技術(shù)包含兩大類:數(shù)據(jù)無(wú)關(guān)的二進(jìn)制編碼技術(shù)和數(shù)據(jù)相關(guān)(基于學(xué)習(xí))的二進(jìn)制編碼技術(shù),基于學(xué)習(xí)的二進(jìn)制編碼技術(shù)又可以進(jìn)一步分為無(wú)監(jiān)督方法和有監(jiān)督方法.近期,深度二進(jìn)制編碼方法逐漸流行,其在圖像檢索任務(wù)中展現(xiàn)出優(yōu)異的性能.受此啟發(fā),我們將二進(jìn)制編碼技術(shù)用于多元時(shí)間序列檢索.本文使用sigmoid函數(shù)來(lái)近似地表示二進(jìn)制編碼.
與圖像檢索相比,我們必須同時(shí)考慮原始多元時(shí)間序列片段的時(shí)序動(dòng)態(tài)性和不同特征之間的相關(guān)性.
本節(jié)將對(duì)模型進(jìn)行詳細(xì)的介紹.其中,4.1節(jié)給出了一些基本的定義.4.2節(jié)詳細(xì)描述了模型結(jié)構(gòu).
基本符號(hào)的定義:首先,我們介紹論文中使用的符號(hào).假設(shè)給定了一個(gè)多元時(shí)間序列片段:
Xt,w=(x1,…,xn)Τ=(xt-w+1,…,xt)∈Rn×w
(2)
多元時(shí)間序列檢索問(wèn)題描述:假設(shè)給出了一個(gè)多元時(shí)間序列片段Xq,w∈Rn×w,我們的目標(biāo)是在歷史的時(shí)間片段中(或數(shù)據(jù)庫(kù)中)找到與其最相似的時(shí)間片段,用符號(hào)語(yǔ)言表示即我們希望獲取:
(3)
其中,D={Xp,w}表示一個(gè)時(shí)序數(shù)據(jù)集,p表示第p個(gè)時(shí)序片段的索引(?w-1
在這一節(jié)中,我們首先展示模型UCBGAN的體系結(jié)構(gòu),并且解釋模型背后的原理,其次,我們定義模型的損失函數(shù),并解釋每個(gè)損失函數(shù)在該模型中的作用.
我們提出的模型主要有3個(gè)部分組成,一個(gè)生成器,一個(gè)編碼器和一個(gè)鑒別器.生成器主要是將隨機(jī)分布映射到真實(shí)數(shù)據(jù)分布,從而使用合成數(shù)據(jù)來(lái)欺騙鑒別器,鑒別器主要用于區(qū)分真實(shí)數(shù)據(jù)和合成數(shù)據(jù),編碼器的作用是將時(shí)間序列映射為具有鑒別性的二進(jìn)制編碼,以進(jìn)行后續(xù)的相似性度量.如圖3所示,除了最后一層外,鑒別器和編碼器共享權(quán)重參數(shù).生成器的輸入是隨機(jī)二進(jìn)制編碼和均勻隨機(jī)分布這兩個(gè)隨機(jī)分布數(shù)據(jù)的連接.由于我們模型的具體結(jié)構(gòu)使用的是卷積神經(jīng)網(wǎng)絡(luò),所以我們需將時(shí)序數(shù)據(jù)轉(zhuǎn)化為類似圖像的張量模式,所以我們首先詳細(xì)介紹時(shí)序特征矩陣.
圖3 UCBGM模型結(jié)構(gòu)圖Fig.3 UCBGM model structure diagram
4.2.1 時(shí)序特征矩陣
多元時(shí)間序列兩個(gè)重要屬性為時(shí)序?qū)傩院投嘣g的相關(guān)性,所以我們應(yīng)用滑動(dòng)窗口來(lái)獲取時(shí)間序列數(shù)據(jù)的滯后特征,并通過(guò)一種類似圖像的張量模式來(lái)表示多元時(shí)間序列,以學(xué)習(xí)變量之間的相互作用,從而將其應(yīng)用到卷積神經(jīng)網(wǎng)絡(luò).
(4)
其中κ為一個(gè)縮放因子(κ=w).所有時(shí)序?qū)χg的時(shí)序特征即構(gòu)成了時(shí)序特征矩陣Mt.時(shí)序特征矩陣不僅能捕捉時(shí)序?qū)﹂g的形狀相似性和數(shù)值相關(guān)性,而且對(duì)于輸入數(shù)據(jù)的噪聲具有較強(qiáng)魯棒性,因?yàn)樘囟〞r(shí)間節(jié)點(diǎn)的波動(dòng)對(duì)于時(shí)序特征矩陣來(lái)說(shuō)影響很小.在本實(shí)驗(yàn)中,我們將時(shí)間間隔設(shè)為10.構(gòu)造完時(shí)序特征矩陣,我們對(duì)其進(jìn)行歸一化處理,將其范圍控制在[0,1]的范圍內(nèi).
4.2.2 具體結(jié)構(gòu)
生成器的具體結(jié)構(gòu)如圖3所示,我們使用了1層全連接,后接3層反卷積網(wǎng)絡(luò),用于從隨機(jī)分布中學(xué)習(xí)真實(shí)分布構(gòu)造合成數(shù)據(jù)欺騙鑒別器,全連接層和反卷積層中間都使用了BatchNorm層和Relu激活函數(shù)優(yōu)化中間層輸出的分布,提高訓(xùn)練的效率.鑒別器和編碼器除最后一層全連接層外,使用相同的結(jié)構(gòu)并且共享權(quán)重參數(shù),其結(jié)構(gòu)為3層反卷積網(wǎng)絡(luò),后接一層全連接層,分別用于鑒別輸入數(shù)據(jù)的真假和構(gòu)造二進(jìn)制編碼.
為了訓(xùn)練鑒別器的參數(shù),我們?cè)贕AN模型中使用了標(biāo)準(zhǔn)的對(duì)抗損失函數(shù),而編碼器的參數(shù)則是通過(guò)對(duì)合成數(shù)據(jù)二進(jìn)制編碼的L2-norm損失來(lái)訓(xùn)練的,通過(guò)該損失函數(shù)能強(qiáng)制約束編碼器構(gòu)造出與輸入二進(jìn)制編碼相似的編碼.為了訓(xùn)練生成器的參數(shù),我們使用特征匹配損失函數(shù)促使生成器學(xué)習(xí)真實(shí)樣本的分布,選擇編碼器最后一層隱含層的輸出用來(lái)訓(xùn)練.
4.2.3 時(shí)序相似矩陣
我們認(rèn)為,僅僅通過(guò)對(duì)抗損失和對(duì)輸入的重構(gòu)不足以使二進(jìn)制編碼具備較為精確的檢索能力.所以,在本模型中,為了提高時(shí)間片段的可鑒別性,促使相似的時(shí)間序列有相似的二進(jìn)制編碼,不同的時(shí)間序列有不同的編碼,我們引入了時(shí)序相似矩陣,通過(guò)訓(xùn)練促使二進(jìn)制編碼保持這種相似矩陣的結(jié)構(gòu).大量的研究表明,從預(yù)先訓(xùn)練的深層架構(gòu)可提取豐富的特征信息.為了更好得利用這些信息,我們從預(yù)先訓(xùn)練的深層架構(gòu)中提取深層特征,基于這些特征來(lái)構(gòu)建時(shí)序相似矩陣.
(5)
對(duì)于每個(gè)時(shí)間序列,找出其K1-NN并且保存它們的索引P∈RN×K1,其中N表示所有訓(xùn)練樣本的數(shù)量.如果將K1設(shè)置為較小的數(shù),就不能得到足夠的時(shí)序相似信息,如果只是簡(jiǎn)單地增加K1的值,檢索的精確率將會(huì)減小.因此,我們使用一種新的策略來(lái)獲取足夠的時(shí)序相似信息.對(duì)于每個(gè)時(shí)序數(shù)據(jù)前K1個(gè)相似索引中,我們分別計(jì)算與其交集最多的前K2個(gè)索引,然后分別將這前K2個(gè)時(shí)序數(shù)據(jù)中相似集合合并到該時(shí)序數(shù)據(jù)的相似集合中,作為該時(shí)序數(shù)據(jù)的相似集合.例如,我們得到索引為i的時(shí)序數(shù)據(jù)的K1-NN為{1,2,4,6,9},索引為j的時(shí)序數(shù)據(jù)的K1-NN為{1,3,4,7,9},若這兩個(gè)集合的交集數(shù)量在索引為i的時(shí)序數(shù)據(jù)的前K2-NN中,則將兩個(gè)集合合并,則時(shí)序數(shù)據(jù)i的時(shí)序相似集合為{1,2,3,4,6,7,9}.因此,我們構(gòu)建一個(gè)時(shí)序相似矩陣S∈RN×N,即:
(6)
若si,j=1,時(shí)序片段i和時(shí)序片段j即為鄰居,si,j=-1,時(shí)序片段i和時(shí)序片段j不為鄰居.
時(shí)序相似矩陣構(gòu)建完成后,我們利用相似矩陣來(lái)獲取相似對(duì)損失,以此進(jìn)行訓(xùn)練,促使相似的二進(jìn)制編碼有相似的二進(jìn)表示,提高二進(jìn)制編碼的可鑒別性,其流程邏輯圖如圖4所示.
圖4 利用時(shí)序相似矩陣進(jìn)行訓(xùn)練流程邏輯圖Fig.4 Train process logic graph by using temporal similarity matrix
為了訓(xùn)練生成器網(wǎng)絡(luò),我們使用特征匹配損失,而不是使用常規(guī)的生成對(duì)抗式網(wǎng)絡(luò)的判別損失函數(shù).特征匹配損失促使合成數(shù)據(jù)與真實(shí)數(shù)據(jù)能有相似的分布,為了提高魯棒性,我們使用鑒別器的最后一個(gè)隱藏層來(lái)計(jì)算,用F表示.同時(shí)F也是編碼器網(wǎng)絡(luò)的最后一個(gè)隱藏層,它影響著二進(jìn)制編碼,同時(shí)也能提高真實(shí)時(shí)間片段二進(jìn)制編碼的可鑒別性.生成器的損失函數(shù)LG定義如下:
(7)
其中z為生成器的輸入,它是由隨機(jī)二進(jìn)制編碼和均勻隨機(jī)分布這兩個(gè)隨機(jī)分布數(shù)據(jù)這兩部分拼接而成,即z=[z′,b′].
在訓(xùn)練鑒別器和編碼器的過(guò)程中,我們使用了3個(gè)損失函數(shù)——傳統(tǒng)的生成對(duì)抗式網(wǎng)絡(luò)損失函數(shù)ladv,用于保持時(shí)序相似矩陣結(jié)構(gòu)的相似對(duì)損失函數(shù)lpairloss,用于促使編碼器輸出和生成器輸入之間距離最小化的損失函數(shù)lL2-norm,即鑒別器和編碼器的總損失函數(shù)為ladv:
LD&E=w1ladv+w2lpairloss+w3lL2-norm
(8)
其中,ladv即為二分類交叉熵?fù)p失函數(shù),它通過(guò)更新鑒別器的參數(shù),促使鑒別器能夠更加正確地區(qū)分出真實(shí)數(shù)據(jù)和合成數(shù)據(jù):
ladv=bce_loss(D(x),1)+bce_loss(D(G(x)),0)
(9)
為了提高二進(jìn)制編碼的可鑒別性,促使相似的時(shí)序數(shù)據(jù)有相似的二進(jìn)制編碼,不相似的時(shí)序數(shù)據(jù)有不同的二進(jìn)制編碼,我們使用相似對(duì)損失進(jìn)行編碼器的訓(xùn)練:
(10)
其中bi和bj為時(shí)間序列的二進(jìn)制編碼,si,j為時(shí)序數(shù)據(jù)i和j在時(shí)序相似矩陣S中的相似狀態(tài),L為二進(jìn)制編碼的位數(shù).二進(jìn)制編碼bi=sgn(hi),hi是沒(méi)有進(jìn)行二進(jìn)制編碼前的隱藏狀態(tài).由于sgn(·)是不可微的,所以我們對(duì)此損失函數(shù)進(jìn)行改進(jìn),使用hi和hj來(lái)進(jìn)行相關(guān)運(yùn)算:
(11)
我們還利用合成數(shù)據(jù)的二進(jìn)制編碼和生成器輸入的二進(jìn)制編碼b′計(jì)算L2-norm損失函數(shù),通過(guò)該損失函數(shù),促使編碼器網(wǎng)絡(luò)為合成數(shù)據(jù)生成與輸入二進(jìn)制編碼b′相似的二進(jìn)制編碼,該損失函數(shù)與特征匹配損失配合使用,進(jìn)一步提高了二進(jìn)制編碼的可鑒別性,提高檢索的準(zhǔn)確率.該損失函數(shù)如下:
(12)
其中ε(·)表示編碼器網(wǎng)絡(luò).
模型訓(xùn)練完之后,我們?cè)隍?yàn)證集上進(jìn)行評(píng)估.驗(yàn)證階段只使用網(wǎng)絡(luò)結(jié)構(gòu)中的編碼器網(wǎng)絡(luò),在編碼器網(wǎng)絡(luò)中,我們使用sigmoid函數(shù)近似二進(jìn)制編碼,在評(píng)估階段通過(guò)sgn(·)生成二進(jìn)制編碼.生成二進(jìn)制編碼后,我們通過(guò)Hamming距離來(lái)進(jìn)行相似性度量.并通過(guò)MAP,MAP@k,precision@k,recall@k這3個(gè)指標(biāo)來(lái)評(píng)估我們的模型.在測(cè)試階段,采用和驗(yàn)證階段相同的方法來(lái)計(jì)算測(cè)試樣本的3個(gè)指標(biāo).
在本節(jié)中,我們首先介紹所使用的3個(gè)數(shù)據(jù)集,其次,我們將具體闡述參數(shù)設(shè)置和評(píng)估標(biāo)準(zhǔn),最后,我們將所提出的模型進(jìn)行對(duì)比試驗(yàn),從而闡述其高效性和精確性.
我們選擇了現(xiàn)實(shí)生活中的3個(gè)多元時(shí)間序列數(shù)據(jù)集——EEG Eye State數(shù)據(jù)集,PAMAP2 Physical Activity Monitoring數(shù)據(jù)集,SHL(Sussex-Huawei Locomotion)數(shù)據(jù)集.如表1所示,對(duì)于每個(gè)數(shù)據(jù)集的采集片段,我們選取50%作為訓(xùn)練集,10%作為驗(yàn)證集,40%作為測(cè)試集.
表1 數(shù)據(jù)集Table 1 Dataset
EEG Eye State數(shù)據(jù)集是由情緒腦電圖耳機(jī)的連續(xù)腦電圖測(cè)量得到,在腦電圖的測(cè)量過(guò)程中,通過(guò)攝像頭檢測(cè)眼睛的狀態(tài),“1”表示閉眼,“0”表示睜眼.在我們的實(shí)驗(yàn)中,我們均勻采集了1460個(gè)片段,其中每個(gè)時(shí)間片段長(zhǎng)度為10.
PAMAP2 Physical Activity Monitoring數(shù)據(jù)集是一個(gè)身體活動(dòng)監(jiān)測(cè)數(shù)據(jù)集,其包含各種不同身體活動(dòng)的數(shù)據(jù),如步行,騎自行車,踢足球等.該數(shù)據(jù)集由佩戴3個(gè)慣性測(cè)量單元(IMU)和心率監(jiān)測(cè)器的9名受試者執(zhí)行,慣性測(cè)量單元的采樣頻率為100赫茲,心率監(jiān)測(cè)器的采樣頻率為9赫茲.在我們的實(shí)驗(yàn)中,我們使用了來(lái)自Subject101的原始數(shù)據(jù),它包含376416個(gè)時(shí)間點(diǎn),每個(gè)時(shí)間點(diǎn)由52個(gè)屬性組成,該數(shù)據(jù)集共包含13個(gè)類別標(biāo)簽.我們均勻采集了35720個(gè)片段,其中每個(gè)時(shí)間片段的長(zhǎng)度為10.
SHL數(shù)據(jù)集全稱為蘇塞克斯華為移動(dòng)數(shù)據(jù)集(Sussex-Huawei Locomotion Dataset),它是一個(gè)移動(dòng)用戶移動(dòng)和運(yùn)輸模式的多功能注釋數(shù)據(jù)集.該數(shù)據(jù)集由在身體典型部位攜帶的一臺(tái)相機(jī)和4部智能手機(jī)所收集,它是一個(gè)多模態(tài)數(shù)據(jù)集.在我們的實(shí)驗(yàn)中,我們選擇了一個(gè)受試者的運(yùn)動(dòng)數(shù)據(jù)(以100赫茲采樣),該數(shù)據(jù)集共包含8個(gè)類別標(biāo)簽,分別為“空”,“靜止”,“步行”,“自行車”,“火車”和“地鐵”等.我們均勻采樣了981745個(gè)片段,其中每個(gè)時(shí)間片段的長(zhǎng)度為10.
為了全面衡量多元時(shí)間序列檢索的有效性,我們綜合考慮了3個(gè)評(píng)價(jià)指標(biāo)——平均精度的均值(MAP),前k個(gè)檢索精度(precision@k),前k個(gè)檢索召回率(recall@k).
本文提出的模型有6個(gè)超參數(shù),其分別為學(xué)習(xí)率,編碼位數(shù),損失函數(shù)的3個(gè)權(quán)重,batch大小,其中學(xué)習(xí)率為{1e-6,1e-5,1e-4,1e-3},編碼位數(shù)為{32,64,128},損失函數(shù)權(quán)重為{1,1,0.001},Batch大小100,對(duì)于這6個(gè)超參數(shù),我們進(jìn)行了較為全面的實(shí)驗(yàn)以獲取最優(yōu)結(jié)果.
對(duì)于多元時(shí)間序列檢索,我們更關(guān)注相似的多元時(shí)間序列是否排在檢索結(jié)果的前列,而不只是正確地檢索出相似序列,所以在考慮前k個(gè)檢索精度(precision@k)和前k個(gè)檢索召回率(recall@k)的同時(shí),我們還需考慮MAP和MAP@k,并用MAP作為一個(gè)綜合評(píng)價(jià)指標(biāo).對(duì)于二進(jìn)制編碼的位數(shù),不同的編碼位數(shù)會(huì)對(duì)多元時(shí)間序列檢索產(chǎn)生不同的檢索效果,為獲取最優(yōu)的檢索效果,我們分別將二進(jìn)制編碼位數(shù)取32位,64位和128位進(jìn)行實(shí)驗(yàn),我們比較了其在3個(gè)數(shù)據(jù)集上的MAP、MAP@k兩個(gè)指標(biāo),如表2所示.
表2的結(jié)果表明,本文提出的方法在3個(gè)數(shù)據(jù)集上都有較好的效果,相較于EEG Eye State,本文模型在PAMAP2和SHL數(shù)據(jù)集上效果稍微差一點(diǎn).由表2還可看出當(dāng)二進(jìn)制編碼的位數(shù)分別為32、64和128時(shí),多元時(shí)間序列檢索的效果,在二進(jìn)制編碼位數(shù)為128位時(shí),檢索效果相較于其他位數(shù)效果更優(yōu),由此可表明我們所提出算法的有效性.
表2 不同位數(shù)的二進(jìn)制編碼下3個(gè)數(shù)據(jù)集的MAP和MAP@k指標(biāo),其中EEG Eye State(k=100),PAMAP2(k=500),SHL(k=1000),b表示二進(jìn)制編碼位數(shù)Table 2 Map and MAP@k indicators of three data sets encoded with different bits of binary
為了進(jìn)一步研究所提出的UCBGAN模型的有效性,我們還比較了前k個(gè)檢索精度(precision@k)和前k個(gè)檢索召回率(recall@k),當(dāng)b變化時(shí),其在3個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分別如圖5和圖6所示.
圖5 3個(gè)數(shù)據(jù)集分別在b=32、b=64和b=128下的Precision@kFig.5 Precision@kof three datasets with b=32,b=64 and b=128
圖6 3個(gè)數(shù)據(jù)集分別在b=32、b=64和b=128下的Recall@kFig.6 Recall@kof three datasets with b=32,b=64 and b=128
為了表明本文提出模型中所使用的時(shí)序相似矩陣的有效性,體現(xiàn)時(shí)序相似矩陣對(duì)于檢索效果的提升,我們將未使用時(shí)序相似矩陣的網(wǎng)絡(luò)進(jìn)行訓(xùn)練所獲取的實(shí)驗(yàn)結(jié)果和使用了時(shí)序相似矩陣的實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比,同時(shí)與另外兩種算法局部敏感哈希(LSH)[15]和迭代量化方法(ITQ)[24]進(jìn)行了比較,實(shí)驗(yàn)結(jié)果主要比較這4種算法的MAP等指標(biāo),如表3所示.比較了4種算法在3個(gè)數(shù)據(jù)集上的效果,在一定程度上反映了本文所提出模型的性能.
由表3可看出,相對(duì)于LSH和ITQ,本文提出的算法在3個(gè)數(shù)據(jù)集上都顯著優(yōu)于這兩種方法,體現(xiàn)了UCBGAN模型在多元時(shí)間序列檢索上的有效性,該模型能同時(shí)獲取多元時(shí)間序列的時(shí)序性和多元相關(guān)性,提高檢索精度.我們還發(fā)現(xiàn),ITQ的效果總體上是優(yōu)于LSH的,這表明利用底層的數(shù)據(jù)結(jié)構(gòu)可為多元時(shí)間序列生成更有效的二進(jìn)制編碼.通過(guò)比較未加入時(shí)序相似矩陣和加入時(shí)序相似矩陣的兩種模型的檢索效果,實(shí)驗(yàn)結(jié)果表明,加入時(shí)序相似矩陣模型的檢索效果總體優(yōu)于未加入時(shí)序相似矩陣模型的檢索效果,由此可見(jiàn),在模型中加入特征相似矩陣能促使相似的時(shí)間序列有相似的二進(jìn)制表示,不相似的多元時(shí)間序列有不相似的二進(jìn)制表示.提高多元時(shí)間序列表示的可鑒別性,從而進(jìn)一步提高多元時(shí)間序列的檢索精度.
表3 UCBGAN與其他3種算法的MAP和MAP@k指標(biāo)比較結(jié)果,其中EEG Eye State(k=100),PAMAP2(k=500),SHL(k=1000)Table 3 UCBGAN compared the results with the other three algorithms
我們提出了一種基于CNN和深度非監(jiān)督二進(jìn)制編碼生成對(duì)抗網(wǎng)絡(luò)進(jìn)行多元時(shí)間序列檢索.首先我們考慮多元時(shí)間序列時(shí)序?qū)傩?,將其?gòu)造為時(shí)序特征矩陣,使其轉(zhuǎn)化成類似圖像的數(shù)據(jù)并使用UCBGAN模型進(jìn)行訓(xùn)練;其次卷積神經(jīng)網(wǎng)絡(luò)可很好地學(xué)習(xí)多元相關(guān)性,我們對(duì)多元時(shí)間序列進(jìn)行二進(jìn)制編碼,進(jìn)一步降低了計(jì)算成本;最后我們使用時(shí)序相似矩陣來(lái)提高二進(jìn)制編碼的可鑒別性,提高檢索精度.3個(gè)公開(kāi)真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果驗(yàn)證了本文所提出的UCBGAN模型的有效性.將來(lái),我們會(huì)進(jìn)一步研究如何對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì)以提高其檢索精度,以及如何將多元時(shí)間序列檢索模型應(yīng)用到一些實(shí)際應(yīng)用中.