卷積神經網絡-時序卷積

一、簡介

時序問題的建模大家一般習慣性的採用循環神經網絡(RNN)來建模,這是因爲RNN天生的循環自迴歸的結構是對時間序列的很好的表示。傳統的卷積神經網絡一般認爲不太適合時序問題的建模,這主要由於其卷積核大小的限制,不能很好的抓取長時的依賴信息。 但是也有很多的工作顯示,特定的卷積神經網絡結構也可以達到很好的效果,比如Goolgle提出的用來做語音合成的wavenet,Facebook提出的用來做翻譯的卷積神經網絡。這就帶來一個問題,用卷積來做神經網絡到底是隻適用於特定的領域還是一種普適的模型? 本文就帶着這個問題,將一種特殊的卷積神經網絡——時序卷積網絡(Temporal convolutional network, TCN)與多種RNN結構相對比,發現在多種任務上TCN都能達到甚至超過RNN模型。

二、時序卷積神經網絡

2.1 因果卷積(Causal Convolution)
在這裏插入圖片描述
因果卷積可以用上圖直觀表示。 即對於上一層t時刻的值,只依賴於下一層t時刻及其之前的值。和傳統的卷積神經網絡的不同之處在於,因果卷積不能看到未來的數據,它是單向的結構,不是雙向的。也就是說只有有了前面的因纔有後面的果,是一種嚴格的時間約束模型,因此被成爲因果卷積。

2.2 膨脹卷積(Dilated Convolution)
單純的因果卷積還是存在傳統卷積神經網絡的問題,即對時間的建模長度受限於卷積核大小的,如果要想抓去更長的依賴關係,就需要線性的堆疊很多的層。爲了解決這個問題,研究人員提出了膨脹卷積。如下圖所示:
在這裏插入圖片描述
和傳統卷積不同的是,膨脹卷積允許卷積時的輸入存在間隔採樣,採樣率受圖中的d控制。 最下面一層的d=1,表示輸入時每個點都採樣,中間層d=2,表示輸入時每2個點採樣一個作爲輸入。一般來講,越高的層級使用的d的大小越大。所以,膨脹卷積使得有效窗口的大小隨着層數呈指數型增長。這樣卷積網絡用比較少的層,就可以獲得很大的感受野。

2.3 殘差鏈接(Residual Connections)
在這裏插入圖片描述
殘差鏈接被證明是訓練深層網絡的有效方法,它使得網絡可以以跨層的方式傳遞信息。本文構建了一個殘差塊來代替一層的卷積。如上圖所示,一個殘差塊包含兩層的卷積和非線性映射,在每層中還加入了WeightNorm和Dropout來正則化網絡。

TCN的優點
(1)並行性。當給定一個句子時,TCN可以將句子並行的處理,而不需要像RNN那樣順序的處理。
(2)靈活的感受野。TCN的感受野的大小受層數、卷積核大小、擴張係數等決定。可以根據不同的任務不同的特性靈活定製。
(3)穩定的梯度。RNN經常存在梯度消失和梯度爆炸的問題,這主要是由不同時間段上共用參數導致的,和傳統卷積神經網絡一樣,TCN不太存在梯度消失和爆炸問題。
(4)內存更低。RNN在使用時需要將每步的信息都保存下來,這會佔據大量的內存,TCN在一層裏面卷積核是共享的,內存使用更低。
2. TCN的缺點
(1)TCN 在遷移學習方面可能沒有那麼強的適應能力。這是因爲在不同的領域,模型預測所需要的歷史信息量可能是不同的。因此,在將一個模型從一個對記憶信息需求量少的問題遷移到一個需要更長記憶的問題上時,TCN 可能會表現得很差,因爲其感受野不夠大。
(2)論文中描述的TCN還是一種單向的結構,在語音識別和語音合成等任務上,純單向的結構還是相當有用的。但是在文本中大多使用雙向的結構,當然將TCN也很容易擴展成雙向的結構,不使用因果卷積,使用傳統的卷積結構即可。
(3)TCN畢竟是卷積神經網絡的變種,雖然使用擴展卷積可以擴大感受野,但是仍然受到限制,相比於Transformer那種可以任意長度的相關信息都可以抓取到的特性還是差了點。TCN在文本中的應用還有待檢驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章