
資料內(nèi)容:
1.1 背景
2017年,Google的一篇 Attention Is All You Need 為我們帶來(lái)了Transformer,其在NLP領(lǐng)域的重大成功展示了它對(duì)時(shí)序數(shù)據(jù)的強(qiáng)大建模能力,自然有人想要把Transformer應(yīng)用到時(shí)序數(shù)據(jù)預(yù)測(cè)上。在Transformer的基礎(chǔ)上構(gòu)建時(shí)序預(yù)測(cè)能力可以突破以往的諸多限制,最明顯的一個(gè)增益點(diǎn)是,Transformer for TS可以基于Multi-head Attention結(jié)構(gòu)具備同時(shí)建模長(zhǎng)期和短期時(shí)序特征的能力。
1.2 發(fā)展歷史
一般來(lái)說(shuō),談及DL領(lǐng)域時(shí)序預(yù)測(cè),首先大家會(huì)想到RNN類的模型,但RNN在網(wǎng)絡(luò)加深時(shí)存在梯度消失和梯度爆炸問(wèn)題。即使是后續(xù)的LSTM,在捕捉長(zhǎng)期依賴上依然力不從心。再后面有了Amazon提出的DeepAR,是一種針對(duì)大量相關(guān)時(shí)間序列統(tǒng)一建模的預(yù)測(cè)算法,該算法使用遞歸神經(jīng)網(wǎng)絡(luò) (RNN) 結(jié)合自回歸(AR) 來(lái)預(yù)測(cè)標(biāo)量時(shí)間序列,在大量時(shí)間序列上訓(xùn)練自回歸遞歸網(wǎng)絡(luò)模型,并通過(guò)預(yù)測(cè)目標(biāo)在序列每個(gè)時(shí)間步上取值的概率分布來(lái)完成預(yù)測(cè)任務(wù)。
本文對(duì)上述三種歷史算法不做深入分析,概念有不清楚的童鞋自己搜哈。
1.3 ConvTrans
直接說(shuō)ConvTrans, 其實(shí)它與DeepAR有很多相似的地方,比如它也是一個(gè)自回歸的概率預(yù)測(cè)模型,對(duì)于下一步預(yù)測(cè)采用分位數(shù) ?10 (分位數(shù)就是以概率將一批數(shù)據(jù)進(jìn)行分割,比如 ?10=? 代表一批數(shù)據(jù)中小于a的數(shù)占總數(shù)的10%)、 ?50 等;再比如ConvTrans也支持協(xié)變量預(yù)測(cè),可以接受輸入比如氣溫、事件、個(gè)體標(biāo)識(shí)等等其他相關(guān)變量來(lái)輔助預(yù)測(cè)。
不同的是ConvTrans具備Transformer架構(gòu)獨(dú)有的優(yōu)勢(shì),大致為以下四點(diǎn):
- 支持并行,訓(xùn)練得更快?;?/span>RNN的模型中每一個(gè)隱狀態(tài)都依賴于它前一步的隱狀態(tài),因此必須從前向后必須逐個(gè)計(jì)算,每一次都只能前進(jìn)一步。而Transformer沒有這樣的約束,輸入的序列被并行處理,由此帶來(lái)更快的訓(xùn)練速度。
- 更強(qiáng)的長(zhǎng)期依賴建模能力,在長(zhǎng)序列上效果更好。在前面提到過(guò),基于RNN的方法面對(duì)長(zhǎng)序列時(shí)無(wú)法完全消除梯度消失和梯度爆炸的問(wèn)題,而Transformer架構(gòu)則可以解決這個(gè)問(wèn)題
- Transformer可以同時(shí)建模長(zhǎng)期依賴和短期依賴。Multi-head Attention中不同的head可以關(guān)注不同的模式。
- Transformer的AttentionScore可以提供一定的可解釋性。通過(guò)可視化AttentionScore可以看到當(dāng)前預(yù)測(cè)對(duì)歷史值注意力的分布。
當(dāng)然Transformer for TS架構(gòu)也有相應(yīng)的缺點(diǎn):
- 是基于序列的編解碼結(jié)構(gòu)(seq2seq),編碼器和解碼器均采用基于自注意力機(jī)制的網(wǎng)絡(luò),所以計(jì)算空間復(fù)雜度大,需要處理序列的編解碼。
- 原始Transformer的自注意力計(jì)算方法對(duì)局部信息不敏感,使得模型易受異常點(diǎn)影響,帶來(lái)了潛在的優(yōu)化問(wèn)題。
而2019NIPS的論文[1]針對(duì)這些缺點(diǎn)做了相應(yīng)的2點(diǎn)改進(jìn):
- Convolutional Self-Attention :針對(duì)時(shí)序數(shù)據(jù)預(yù)測(cè)任務(wù)的特點(diǎn),增強(qiáng)對(duì)局部上下文信息的關(guān)注,使預(yù)測(cè)更精準(zhǔn) 。
- LogSparse :解決了Attention計(jì)算空間復(fù)雜度太高的問(wèn)題,使模型能處理更長(zhǎng)的時(shí)間序列數(shù)據(jù)。