時(shí)序預(yù)測(cè)Decoder中的時(shí)間步依賴問(wèn)題
今天跟大家聊聊一個(gè)近期相對(duì)冷門(mén)的研究點(diǎn):Decoder中的預(yù)測(cè)時(shí)間步依賴問(wèn)題。
目前主流的時(shí)間序列預(yù)測(cè)模型,Decoder一般采用一個(gè)簡(jiǎn)單的MLP網(wǎng)絡(luò),輸入Encoder的表征,映射到預(yù)測(cè)結(jié)果。但是,這種建模方法并沒(méi)有考慮到各個(gè)預(yù)測(cè)時(shí)間步之間的關(guān)系,可能導(dǎo)致在預(yù)測(cè)階段不滿足時(shí)間序列的平滑性。
在更早的深度學(xué)習(xí)時(shí)間序列預(yù)測(cè)工作中,一般會(huì)將上一個(gè)時(shí)刻的預(yù)測(cè)結(jié)果或者真實(shí)結(jié)作為下一個(gè)時(shí)刻的輸入,自回歸的逐步進(jìn)行預(yù)測(cè)。這種建模方法,可以建立起各個(gè)預(yù)測(cè)時(shí)間步之間的關(guān)系,但同時(shí)也會(huì)引入諸如誤差累積、訓(xùn)練和預(yù)測(cè)階段不一致等問(wèn)題。
今天這篇文章,就帶大家了解一些Decoder這種考慮預(yù)測(cè)結(jié)果依賴的建模方法,并介紹2篇近期的工作,針對(duì)預(yù)測(cè)時(shí)間步依賴問(wèn)題進(jìn)行優(yōu)化。
1.Decoder中的預(yù)測(cè)時(shí)間步依賴
在Decoder中考慮預(yù)測(cè)時(shí)間步依賴的建模方法中,可以分成2種類型,分別是Free Running和Teacher Forcing。
Free Running:Free Running在訓(xùn)練階段輸入真實(shí)值,在預(yù)測(cè)階段由于無(wú)法獲取到真實(shí)值,就輸入上一個(gè)時(shí)刻的預(yù)測(cè)值代替。這種方法的問(wèn)題在于,訓(xùn)練和預(yù)測(cè)存在不一致問(wèn)題。為了解決這個(gè)問(wèn)題,一些方法在訓(xùn)練階段以一定比例輸入預(yù)測(cè)值,一定比例輸入真實(shí)值,縮小訓(xùn)練和預(yù)測(cè)的gap?;蛘呤褂靡粋€(gè)權(quán)重,對(duì)預(yù)測(cè)值和真實(shí)值加權(quán),或者加入噪聲。
Teacher Forcing:另一種是在訓(xùn)練階段輸入上一個(gè)時(shí)刻側(cè)預(yù)測(cè)值。這種方法在訓(xùn)練階段和預(yù)測(cè)階段是一致的,但是問(wèn)題在于會(huì)存在誤差累積問(wèn)題。預(yù)測(cè)結(jié)果隨著時(shí)間步的增長(zhǎng)越來(lái)越不準(zhǔn)確,引入預(yù)測(cè)結(jié)果會(huì)逐步累積誤差,使模型效果變差。
針對(duì)建模Decoder時(shí)間步關(guān)系依賴的問(wèn)題,業(yè)內(nèi)也有很多研究工作。下面給大家介紹2篇近期發(fā)表的相關(guān)文章。第一篇文章引入輔助模型,緩解Teacher Forcing中的誤差累積問(wèn)題;第二篇文章直接優(yōu)化目前主流的MLP Decoder模型,引入輔助loss讓其考慮到各個(gè)時(shí)間步的依賴。
2.引入輔助模型緩解誤差累積
為了緩解Teacher Forcing方法的誤差累積問(wèn)題,Reinforced Decoder: Towards Training Recurrent Neural Networks for Time Series Forecasting(2024)提出引入一個(gè)輔助模型庫(kù),用輔助模型庫(kù)的預(yù)測(cè)結(jié)果,代替原來(lái)Teacher Forcing中正在訓(xùn)練模型的預(yù)測(cè)結(jié)果。通過(guò)這種方式,每個(gè)時(shí)間步的預(yù)測(cè)結(jié)果由外部模型產(chǎn)生,避免一直引入目標(biāo)模型,隨著時(shí)間步的增長(zhǎng),誤差逐漸累積的問(wèn)題。
具體實(shí)現(xiàn)方法上,文中引入一個(gè)model pool,這個(gè)model pool內(nèi)都是一些訓(xùn)練好的時(shí)間序列預(yù)測(cè)模型,使用這個(gè)model pool中模型的預(yù)測(cè)結(jié)果作為輸入,而非正在訓(xùn)練的模型本身,這樣就可以正在訓(xùn)練模型引入上一個(gè)時(shí)刻預(yù)測(cè)結(jié)果帶來(lái)的誤差累積問(wèn)題。同時(shí)為了進(jìn)一步提升效果,文中采用了一個(gè)強(qiáng)化學(xué)習(xí)的方法,每個(gè)時(shí)刻從model pool中選擇最合適的預(yù)測(cè)結(jié)果作為輸入,以預(yù)測(cè)效果為reward進(jìn)行強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練,以此實(shí)現(xiàn)讓目標(biāo)模型效果最優(yōu)的預(yù)測(cè)結(jié)果的選擇。
3.直接解碼中引入差分輔助loss
相比于依賴上一個(gè)時(shí)刻的預(yù)估結(jié)果的遞歸解碼方法,直接解碼方法,即直接使用一個(gè)MLP將Encoder表征映射到預(yù)測(cè)結(jié)果,目前應(yīng)用更加廣泛,并且十分簡(jiǎn)潔高效。那么,能否在這種建模方法中,讓模型建立起Decoder各個(gè)時(shí)間步之間的依賴呢?
TDT Loss Takes It All: Integrating Temporal Dependencies among Targets into Non-Autoregressive Time Series Forecasting(2024)中就提出了這樣一種建模方法。整體實(shí)現(xiàn)非常簡(jiǎn)單,在原始的base模型基礎(chǔ)上引入了一個(gè)損失函數(shù)度量預(yù)測(cè)結(jié)果之間的關(guān)系。文中引入的這個(gè)度量是差分結(jié)果,比如一階差分結(jié)果,就是t時(shí)刻的預(yù)測(cè)結(jié)果減去t-1時(shí)刻的預(yù)測(cè)結(jié)果。這個(gè)度量的是相鄰兩個(gè)預(yù)測(cè)窗口值之間的大小關(guān)系。文中通過(guò)計(jì)算這個(gè)預(yù)測(cè)值的差分結(jié)果,和真實(shí)值的差分結(jié)果之間的誤差,巧妙的將變量間的關(guān)系引入到模型的優(yōu)化目標(biāo)中,實(shí)現(xiàn)了在Non-autogressive的基礎(chǔ)預(yù)估框架下,考慮了預(yù)測(cè)結(jié)果之間的關(guān)系。同時(shí),文中采用了動(dòng)態(tài)權(quán)重,控制原始模型優(yōu)化loss和新增loss之間的權(quán)重。

















