論文鏈接:https://arxiv.org/pdf/1803.01271.pdf
TCN(Temporal Convolutional Networks)
TCN特點:
- 可實現接收任意長度的輸入序列作為輸入,同時將其映射為等長的輸出序列,這方面比較像RNN。
- 計算是layer-wise的,即每個時刻被同時計算,而非時序上串行。
- 其卷積網絡層層之間是有因果關系的,意味着不會有“漏接”的歷史信息或是未來數據的情況發生,即便 LSTM 它有記憶門,也無法完完全全的記得所有的歷史信息,更何況要是該信息無用了就會逐漸被遺忘。
TCN組成:
TCN結構圖:
因果卷積(Causal Convolution)
因果卷積可以用上圖直觀表示。 即對於上一層t時刻的值,只依賴於下一層t時刻及其之前的值。和傳統的卷積神經網絡的不同之處在於,因果卷積不能看到未來的數據,它是單向的結構,不是雙向的。也就是說只有有了前面的因才有后面的果,是一種嚴格的時間約束模型,因此被成為因果卷積。
膨脹卷積(Dilated Convolution)
如圖TCN結構圖(a)。單純的因果卷積還是存在傳統卷積神經網絡的問題,即對時間的建模長度受限於卷積核大小的,如果要想抓去更長的依賴關系,就需要線性的堆疊很多的層。為了解決這個問題,研究人員提出了膨脹卷積。
膨脹卷積(dilated convolution)是通過跳過部分輸入來使filter可以應用於大於filter本身長度的區域。等同於通過增加零來從原始filter中生成更大的filter。
The dilated convolution operation F on element s of the sequence is defined as: $$F(s)=(x*df)(s)=\overset{k-1}{\underset{i=0}\sum}f(i) \cdot x{s-d \cdot i}$$
where d is the dilation factor, k is the filter size, and \(s-d\cdot i\) accounts for the direction of the past.
越到上層,卷積窗口越大,而卷積窗口中的“空孔”越多。d是擴展系數(即評價“空孔”的多少)。
殘差鏈接(Residual Connections)
如圖TCN結構圖(b)。 殘差鏈接被證明是訓練深層網絡的有效方法,它使得網絡可以以跨層的方式傳遞信息。本文構建了一個殘差塊來代替一層的卷積。如上圖所示,一個殘差塊包含兩層的卷積和非線性映射,在每層中還加入了WeightNorm和Dropout來正則化網絡。為什么要1×1卷積呢?1×1卷積是可以用來降維的 。作者直接把較下層的特征圖跳層連接到上層,對應的每個Cell的特征圖數量(也就是通道數channel)不一致,導致不能直接做類似Resnet的跳層特征圖加和操作,於是,為了兩個層加和時特征圖數量吻合,用1×1卷積做了一個降維的操作。
FCN 全卷積網絡
引用: