亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        帶場景信息的新結(jié)構(gòu)Seq2Seq模型研究

        2023-07-03 08:19:20陳其遠劉源東
        計算機仿真 2023年5期
        關(guān)鍵詞:同構(gòu)解碼編碼

        陳其遠,劉源東,萬 巖

        (北京郵電大學(xué),北京100876)

        1 引言

        為了解某種事物隨時間變化的規(guī)律,人們通常會按照一定的頻率對該事物進行觀測,觀測得到的結(jié)果被稱為時間序列數(shù)據(jù),對該序列的分析和處理被稱作時間序列分析。時間序列分析不僅在學(xué)術(shù)上被廣泛研究,同時在日常生活中有著廣闊的應(yīng)用領(lǐng)域,領(lǐng)域涉及氣候變化[1]、生物科學(xué)[2]、制藥[3]、商業(yè)市場決策[4]、金融[5]等。傳統(tǒng)的時間序列分析模型有AR模型、MR模型、ARMR模型、ARIMA模型、支持向量機、隨機森林等,但是這些模型的應(yīng)用高度依賴熟悉領(lǐng)域知識的專家,且這些模型難以建模復(fù)雜的時間序列結(jié)構(gòu)。此外,傳統(tǒng)的模型主要適用單變量時間序列分析,比如建模某產(chǎn)品的銷量變化。如果要建模多變量時間序列,如某連鎖店的不同店鋪的銷量變化,則每家連鎖店鋪要單獨建模,這不僅額外增加了計算量,還沒有利用不同店鋪的銷量之間的關(guān)系,有可能不同店鋪都存在一致的季度銷量變化趨勢,也可能存在兩家店鋪銷量有跨數(shù)量級的差異。

        近年來,深度學(xué)習(xí)模型在計算機視覺、自然語言處理、推薦系統(tǒng)等都有著廣泛的應(yīng)用。與傳統(tǒng)建模方法相比,深度學(xué)習(xí)模型能從大量數(shù)據(jù)樣本中自動學(xué)習(xí)到復(fù)雜的數(shù)據(jù)特征,而不需要熟悉領(lǐng)域知識專家的人工輔助構(gòu)建特征,因此在多個領(lǐng)域都取得了不錯的結(jié)果。現(xiàn)階段有很多用經(jīng)典結(jié)構(gòu)的深度學(xué)習(xí)模型建模時間序列的研究,如全連接神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)[7,8]、長短時記憶網(wǎng)絡(luò)(LSTM)[9,10]等,有關(guān)于如何將時間序列的領(lǐng)域知識結(jié)合到深度學(xué)習(xí)模型的研究[11,12]。和傳統(tǒng)方法相比,這些方法不僅能只訓(xùn)練1個模型來建模多變量時間序列,還能根據(jù)近期獲取的新數(shù)據(jù)微調(diào)模型,而不需要重新訓(xùn)練。

        序列到序列(Seq2Seq)模型[13]是其中一種深度學(xué)習(xí)模型,是由編碼器(Encoder)模塊和解碼器(Decoder)模塊組成。目前已有許多研究是將經(jīng)典的Seq2Seq模型直接用于時間序列分析[6,16-20]。

        為進一步提升Seq2Seq模型擬合復(fù)雜時間序列的效果,本文在經(jīng)典的Seq2Seq模型結(jié)構(gòu)上提出了三項改進:

        1)一種將外部知識引入Seq2Seq模型的方法;

        2)一種由兩個LSTM組成Decoder的Seq2Seq模型,該模型和經(jīng)典的Seq2Seq模型比有更強的學(xué)習(xí)能力;

        3)一種利用多任務(wù)學(xué)習(xí)來提升Seq2Seq模型擬合精度的方法,該方法適合擬合存在較大數(shù)量級變化的時間序列。

        在某企業(yè)對企業(yè)服務(wù)(B2B服務(wù))的成交總額(GMV)數(shù)據(jù)集(下文簡稱"GMV數(shù)據(jù)集")上,這三項改進的有效性通過實驗得到驗證。該數(shù)據(jù)集是多變量時間序列,不同企業(yè)對該B2B服務(wù)的GMV存在跨量級的差別,且GMV受包括重大節(jié)假日、所在周期的工作日天數(shù)、季節(jié)等因素的影響很大,因此該數(shù)據(jù)集對于復(fù)雜的時間序列分析任務(wù)有代表性。實驗結(jié)果表明,這三項改進都能提升模型擬合的效果,且同時使用三項改進的效果比只用其中一項更好。

        和之前許多直接使用經(jīng)典深度學(xué)習(xí)模型結(jié)構(gòu)的工作相比,本文提出了三項針對經(jīng)典Seq2Seq模型結(jié)構(gòu)上的改進,且這三項改進可以應(yīng)用在之前采用經(jīng)典Seq2Seq模型的方案上,有可能能進一步提升這些方案的效果。

        2 相關(guān)理論介紹

        2.1 LSTM模型

        文獻[15]提出了LSTM模型,LSTM模型是經(jīng)典的Seq2Seq模型的構(gòu)成單元。該模型能避免長期依賴問題,可以建模較長的時間序列。LSTM的結(jié)構(gòu)如圖1所示。由圖1可知,LSTM模型是鏈?zhǔn)浇Y(jié)構(gòu),由一系列相同的單元組成。每個單元包括Input Gate(it)、Forget Gate(ft)、Output Gate(ot)和Memory Cell(Ct)組成,其中Input Gate、Output Gate和Forget Gate能控制Memory Cell的讀、寫和丟失,3個控制門Input Gate、Output Gate和Forget Gate的輸出分別連接到一個乘法單元上,從而實現(xiàn)控制功能。利用形式化語言,LSTM可以表述為

        圖1 LSTM單元的結(jié)構(gòu)圖

        ft=σ(Wf[ht-1,xt]+bf)

        (1)

        it=σ(Wi[ht-1,xt]+bi)

        (2)

        ot=σ(Wo[ht-1,xt]+bo)

        (3)

        Ct=ft⊙Ct-1+it⊙tanh(WC[ht-1,xt]+bC)

        (4)

        ht=ot⊙tanh(ft*Ct-1+it⊙tanh(WC[ht-1,xt]+bC))

        (5)

        其中σ是激活函數(shù)sigmoid,⊙是點乘運算,W*是系數(shù)矩陣,b*是偏置向量,it、ft、ot分別表示t時刻Input Gate、Forget Gate和Output Gate的值,Ct表示t時刻Memory Cell的值,ht表示t時刻LSTM的單元的輸出。

        在本文,一個LSTM單元可以用圖2表示,其中X表示單元的輸入,Y表示單元的輸出,W*表示該單元的內(nèi)部參數(shù),使用不同的W*表示不同的LSTM單元。

        圖2 簡化表示LSTM單元

        2.2 同構(gòu)Seq2Seq模型

        文獻[8]提出了經(jīng)典的Seq2Seq模型,該模型在機器翻譯數(shù)據(jù)集WMT-14上取得了比只用LSTM模型更好的結(jié)果。Seq2Seq模型由Encoder和Decoder組成,Encoder和Decoder是2個獨立的LSTM模型。Encoder的輸入是原序列,輸出了整個序列的表征向量(LSTM的最后一個單元的輸出和Memory Cell的值);該表征向量是Decoder的輸入,輸出是目標(biāo)序列。為與本文第3.2節(jié)提出的新結(jié)構(gòu)Seq2Seq模型區(qū)分,經(jīng)典的Seq2Seq模型在下文簡稱為“同構(gòu)Seq2Seq模型”。

        圖3展示的是同構(gòu)Seq2Seq模型的訓(xùn)練階段。在該階段,原序列“A、B、C”被輸入到Encoder中進行編碼,編碼結(jié)果被輸入到Decoder;Decoder在接收到編碼結(jié)果后首先被輸入特殊標(biāo)簽“”作為解碼的開始,然后每次解碼的正確結(jié)果都會是下一次解碼的輸入,特殊標(biāo)簽“”表示解碼結(jié)束。圖4展示的是同構(gòu)Seq2Seq模型的預(yù)測階段。在該階段,原序列“A、B、C”被輸入到Encoder中進行編碼,編碼結(jié)果被輸入到Decoder;Decoder在接收到編碼結(jié)果后首先被輸入特殊標(biāo)簽“”作為解碼的開始,然后每次解碼的結(jié)果作為下一次解碼的輸入,當(dāng)輸出特殊標(biāo)簽“”時,解碼結(jié)束。由此可知,同構(gòu)Seq2Seq模型解決了原序列和目標(biāo)序列不等長的問題。

        圖3 同構(gòu)Seq2Seq模型的訓(xùn)練階段

        圖4 同構(gòu)Seq2Seq模型的預(yù)測階段

        在直接用同構(gòu)Seq2Seq模型解決時間序列分析問題的方案[6,16-20]中,Encoder輸入的是在一個時間點前的一段時間的序列的值,Decoder輸出的是預(yù)測未來一段時間的序列的值。模型按照經(jīng)典的Seq2Seq模型的方式訓(xùn)練和預(yù)測。其中,文獻[6]在天津港進出口集裝箱數(shù)據(jù)集上通過實驗驗證了同構(gòu)Seq2Seq模型解決時間序列分析問題的效果優(yōu)于傳統(tǒng)的時間序列分析模型及其它現(xiàn)有的深度學(xué)習(xí)模型。

        3 同構(gòu)Seq2Seq模型的改進

        3.1 引入外部知識

        本文提出可以在同構(gòu)Seq2Seq模型上添加場景信息和其它特征信息,并且把離散值輸入輸出序列換成連續(xù)值輸入輸出序列,訓(xùn)練、預(yù)測的方法和其它結(jié)構(gòu)保持不變,新模型可用于擬合連續(xù)值時間序列并預(yù)測未來的序列的值??紤]到在有些場景任務(wù)(如給B2B服務(wù)的成交額做時間序列分析)中,節(jié)假日、所在地、季節(jié)特征等場景信息,和公司所屬行業(yè)、公司規(guī)模、使用習(xí)慣等其它特征信息是可獲取的,引入可知道的外部知識可能可以提升模型效果。

        圖5是引入外部知識的Seq2Seq模型的訓(xùn)練階段,圖6是引入外部知識的Seq2Seq模型的預(yù)測階段。由圖5可知,在訓(xùn)練階段,Encoder的每個輸入向量都是由序列的值、向量化的場景信息,和向量化的其它特征信息拼接成的;而除了在第1次解碼時Decoder的輸入向量是由默認值和向量化的場景信息拼接成,之后的每次輸入都是由真實的序列的值和向量化的場景信息拼接而成。由圖6可知,在預(yù)測階段,Encoder的每個輸入向量都是由序列的值、向量化的場景信息,和向量化的其它特征信息拼接成的;而除了在第1次解碼時Decoder的輸入向量是由默認值和向量化的場景信息拼接成,之后的每次輸入都是由前一步的輸出值和向量化的場景信息拼接而成。序列的值、向量化的場景信息和其它特征信息的描述和取值見表1。

        表1 數(shù)據(jù)集的字段

        圖5 引入外部知識的同構(gòu)Seq2Seq模型的學(xué)習(xí)階段

        圖6 引入外部知識的同構(gòu)Seq2Seq模型的預(yù)測階段

        3.2 異構(gòu)Seq2Seq模型

        在同構(gòu)Seq2Seq模型中,當(dāng)Encoder的編碼結(jié)果(LSTM的最后一個單元的輸出和Memory Cell的值)被輸入到Decoder中時,Decoder在第1次解碼時沒有序列的值作為輸入,所以將特殊標(biāo)簽“”作為輸入。由于Decoder在第1步和后續(xù)步的輸入差別,可以相信將Decoder改成由兩個LSTM模型組成可以提升Seq2Seq模型的建模能力,即當(dāng)Encoder的編碼結(jié)果輸入到Decoder時,第1次解碼使用一個LSTM模型,之后使用另一個。

        圖7是異構(gòu)Seq2Seq模型的訓(xùn)練階段,圖8是異構(gòu)Seq2Seq模型的預(yù)測階段。其中,Encoder和Decoder的每一步的輸入向量和同構(gòu)Seq2Seq模型一致。由圖7可知,在訓(xùn)練階段,原序列“A、B、C”被輸入到Encoder中進行編碼,編碼結(jié)果被輸入到Decoder;Decoder在接收到編碼結(jié)果后,首先將特殊標(biāo)簽“”作為解碼的開始輸入到一個LSTM模型中完成首次解碼,之后每次將前次解碼的正確結(jié)果輸入到另一個LSTM模型中完成后續(xù)解碼,特殊標(biāo)簽“”表示解碼結(jié)束。由圖8可知,在預(yù)測階段,原序列“A、B、C”被輸入到Encoder中進行編碼,編碼結(jié)果被輸入到Decoder中;Decoder在接收到編碼結(jié)果后,首先將特殊標(biāo)簽“”作為解碼的開始輸入到一個LSTM模型中完成首次解碼,之后將每次將前次解碼的結(jié)果輸入到另一個LSTM模型完成后續(xù)解碼,特殊標(biāo)簽“”表示解碼結(jié)束。

        圖7 異構(gòu)Seq2Seq模型的學(xué)習(xí)階段

        圖8 異構(gòu)Seq2Seq模型的預(yù)測階段

        3.3 利用多任務(wù)學(xué)習(xí)來提升同構(gòu)Seq2Seq模型擬合存在較大數(shù)量級變化的時間序列的精度

        預(yù)測時間序列的值中,有可能出現(xiàn)少數(shù)序列的值的預(yù)測結(jié)果和真實值有不少于2個數(shù)量級的誤差的情況。為解決該問題,本論文提出的方法是將Decoder的輸出分成量級部分和除數(shù)部分。例如,待預(yù)測值是349.3,可以被拆成100×3.493,級數(shù)用3位One-Hot編碼表示成“100”(稱作“量級向量”),有效數(shù)除以10成0.34903(稱作“除數(shù)向量”,除以10以確保除數(shù)部分在[0,1)之間)。

        新方法的Decoder單元結(jié)構(gòu)如圖11所示。和圖1所示的結(jié)構(gòu)相比,該單元的輸入由量級向量nt-1和除數(shù)向量at-1拼接而成,輸出向量ht分別接2個全連接網(wǎng)絡(luò),一個輸出量級向量nt,另一個輸出除數(shù)向量at。量級向量是One-Hot向量,除數(shù)向量是維度是1×1的向量。損失函數(shù)的公式如下

        (6)

        圖9是在同構(gòu)Seq2Seq模型上采用新方法后的學(xué)習(xí)階段,圖10是在同構(gòu)Seq2Seq模型上采用新方法后的預(yù)測階段,其中W、X、Y、Z是預(yù)測結(jié)果的除數(shù)部分。由圖可知,學(xué)習(xí)階段和預(yù)測階段的Encoder和同構(gòu)Seq2Seq模型一致,而學(xué)習(xí)階段和預(yù)測階段的Decoder單元的結(jié)構(gòu)如圖11所示。在訓(xùn)練階段,Decoder的輸入是由真實的序列的值計算得到的量級向量和除數(shù)向量;在預(yù)測階段,除第1次解碼輸入的是特殊標(biāo)簽“”外,之后輸入的都是上一步解碼得到的量級向量和除數(shù)向量。

        圖9 利用多任務(wù)學(xué)習(xí)提升擬合精度的同構(gòu)Seq2Seq模型的學(xué)習(xí)階段

        圖10 利用多任務(wù)學(xué)習(xí)提升擬合精度的同構(gòu)Seq2Seq模型的預(yù)測階段

        圖11 利用多任務(wù)學(xué)習(xí)提升擬合精度的同構(gòu)Seq2Seq模型的Decoder單元

        4 模型評估

        4.1 實驗數(shù)據(jù)集

        為了驗證所提出方法的有效性,本文選取了某B2B服務(wù)的每日成交總額作為原始數(shù)據(jù),并以每28日為滑動窗口求和制作每28日成交總額數(shù)據(jù)集。數(shù)據(jù)集的字段如表1所示。數(shù)據(jù)集的起始日期是2018年1月1日,結(jié)束日期是2021年3月30日,共有8000家企業(yè)。

        4.2 數(shù)據(jù)預(yù)處理

        數(shù)據(jù)預(yù)處理的流程是首先過濾無效數(shù)據(jù),然后用滑動窗口劃分?jǐn)?shù)據(jù)集,最后對數(shù)據(jù)進行歸一化。

        1)過濾無效數(shù)據(jù)

        在2020年3月30日之前沒有使用過該B2B服務(wù)超過252天(9個28天)的企業(yè),即在2020年9月12日前的成交總額都是0的企業(yè),需要在預(yù)處理階段被過濾掉,因為開始使用該B2B服務(wù)到截止的日數(shù)的天數(shù)小于滑動窗口的長度。這樣的企業(yè)有51家。

        2)通過滑動窗口劃分?jǐn)?shù)據(jù)集

        實驗采取滑動窗口的形式來制作訓(xùn)練集、驗證集和測試集,將每252天(6個28天作為輸入,3個28天的最后1天作為輸出)作為一個時間窗口,并按天滑動。

        3)歸一化

        不同信息,如公司規(guī)模、統(tǒng)計周期工作日天數(shù)、成交額、訂單量等,取值可能相差很大。為保證模型能穩(wěn)定收斂,在預(yù)處理階段要對這些信息作歸一化。這里采用等頻分箱歸一化[14]。等頻分箱歸一化能很好地保留數(shù)值之間的區(qū)分度,并且增強了模型對異常值的容錯能力。在對數(shù)據(jù)歸一化后,模型的輸出結(jié)果也是歸一化后的預(yù)測結(jié)果,因此歸一化階段的映射關(guān)系要保留,并將歸一化后的預(yù)測結(jié)果還原成真實的值。

        4.3 評價指標(biāo)

        本文比較了不同改進方法對Seq2Seq模型效果的提升,評價指標(biāo)是平均絕對誤差(Mean Absolute Eror,MAE)和絕對百分比誤差(Mean Absolute Percentage Error,MAPE),評價指標(biāo)的具體公式如下

        (7)

        (8)

        4.4 實驗平臺

        實驗的模型是在Tensorflow 1.14上搭建的,CPU型號是Intel(R)Xeon(R)CPU E5-2630 v4 @ 2.20GHz,內(nèi)存有251.671875GB,GPU型號是NVIDIA Tesla P40。

        4.5 模型的超參數(shù)

        模型采用批量梯度下降(BGD),epoch是8,batch_size是1024,優(yōu)化器是自適應(yīng)矩估計(Adam)[15],優(yōu)化器參數(shù)參數(shù)是0.0005。模型每次輸入6個連續(xù)的28天的每28天B2B服務(wù)的成交總額,模型的Memory Cell的維度是96。

        4.6 實驗結(jié)果

        實驗比較了同構(gòu)Seq2Seq模型、引入外部知識的同構(gòu)Seq2Seq模型、異構(gòu)Seq2Seq模型、通過多任務(wù)學(xué)習(xí)提升精度的同構(gòu)Seq2Seq模型、同時有3項改進的Seq2Seq模型,實驗結(jié)果如表2所示。

        表2 實驗結(jié)果

        從表2可以看出,本文提出的3項改進都可以有效提高預(yù)測精度,且同時使用3項改進的效果最好。和同構(gòu)Seq2Seq模型相比,單獨使用1種方式能將MAE降低12.83%~39.54%,MAPE降低4.76%~15.87%;同時使用所有方法能將MAE降低47.55%,MAPE降低25.40%。

        5 結(jié)束語

        本文提出了3項對經(jīng)典的Seq2Seq模型結(jié)構(gòu)的改進,經(jīng)實驗驗證,上述改進可提升Seq2Seq模型擬合復(fù)雜時間序列的效果,改進后MAE最多可降低47.55%,MAPE最多可降低25.40%。

        在未來的研究中,將考慮引入注意力機制,并將這三項改進應(yīng)用在已有的直接用經(jīng)典Seq2Seq模型解決時間序列分析問題的方案上,從而測試這三項改進的效果。

        猜你喜歡
        同構(gòu)解碼編碼
        《解碼萬噸站》
        巧用同構(gòu)法解決壓軸題
        基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準(zhǔn)
        指對同構(gòu)法巧妙處理導(dǎo)數(shù)題
        同構(gòu)式——解決ex、ln x混合型試題最高效的工具
        高等代數(shù)教學(xué)中關(guān)于同構(gòu)的注記
        《全元詩》未編碼疑難字考辨十五則
        子帶編碼在圖像壓縮編碼中的應(yīng)用
        電子制作(2019年22期)2020-01-14 03:16:24
        解碼eUCP2.0
        中國外匯(2019年19期)2019-11-26 00:57:32
        NAD C368解碼/放大器一體機
        在线女同免费观看网站| 日本一区二区精品88| 男女视频在线一区二区| 亚洲一区二区三区精品久久| 午夜av内射一区二区三区红桃视 | 亚洲天堂成人在线| 国产大片在线观看三级| 免费亚洲老熟熟女熟女熟女| 亚洲欧美精品suv| 伊人22综合| 手机在线免费av网址| 日韩精品成人区中文字幕| 99精品国产一区二区三区a片 | 久久综合九色综合欧美狠狠| 亚洲国产成人AV人片久久网站 | 亚洲一区不卡在线导航| 久久精品女同亚洲女同| 色大全全免费网站久久| 四虎影视免费观看高清视频| 女高中生自慰污免费网站| 熟女不卡精品久久av| 日韩国产人妻一区二区三区| 亚洲av伊人久久综合密臀性色| 999久久久免费精品国产牛牛 | 亚洲人成网77777色在线播放| 国产97在线 | 免费| 99久久综合狠狠综合久久一区| 亚洲乱码av一区二区蜜桃av| 18禁裸男晨勃露j毛网站| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产毛片三区二区一区| 精品亚洲一区二区区别在线观看 | 亚洲爆乳无码精品aaa片蜜桃| 国产suv精品一区二人妻| 亚洲第一区无码专区| 国产一级黄色录像大片| 巨胸喷奶水www视频网站| 伊人久久亚洲综合影院首页| 性色国产成人久久久精品二区三区| 午夜三级a三级三点在线观看| 荡女精品导航|