国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

TCN(Temporal Convolutional Network,時(shí)間卷積網(wǎng)絡(luò))

這篇具有很好參考價(jià)值的文章主要介紹了TCN(Temporal Convolutional Network,時(shí)間卷積網(wǎng)絡(luò))。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 前言

? ? ? ? 實(shí)驗(yàn)表明,RNN 在幾乎所有的序列問題上都有良好表現(xiàn),包括語音/文本識別、機(jī)器翻譯、手寫體識別、序列數(shù)據(jù)分析(預(yù)測)等。

? ? ? ? 在實(shí)際應(yīng)用中,RNN 在內(nèi)部設(shè)計(jì)上存在一個(gè)嚴(yán)重的問題:由于網(wǎng)絡(luò)一次只能處理一個(gè)時(shí)間步長,后一步必須等前一步處理完才能進(jìn)行運(yùn)算。這意味著 RNN 不能像 CNN 那樣進(jìn)行大規(guī)模并行處理,特別是在 RNN/LSTM 對文本進(jìn)行雙向處理時(shí)。這也意味著 RNN 極度地計(jì)算密集,因?yàn)樵谡麄€(gè)任務(wù)運(yùn)行完成之前,必須保存所有的中間結(jié)果。

? ? ? ? CNN 在處理圖像時(shí),將圖像看作一個(gè)二維的“塊”(m*n 的矩陣)。遷移到時(shí)間序列上,就可以將序列看作一個(gè)一維對象(1*n 的向量)。通過多層網(wǎng)絡(luò)結(jié)構(gòu),可以獲得足夠大的感受野。這種做法會(huì)讓 CNN 非常深,但是得益于大規(guī)模并行處理的優(yōu)勢,無論網(wǎng)絡(luò)多深,都可以進(jìn)行并行處理,節(jié)省大量時(shí)間。這就是 TCN 的基本思想。

1.1?RNN的問題

LightRNN:高效利用內(nèi)存和計(jì)算的循環(huán)神經(jīng)網(wǎng)絡(luò)_曼陀羅彼岸花的博客-CSDN博客

將RNN內(nèi)存占用縮小90%:多倫多大學(xué)提出可逆循環(huán)神經(jīng)網(wǎng)絡(luò):將RNN內(nèi)存占用縮小90%:多倫多大學(xué)提出可逆循環(huán)神經(jīng)網(wǎng)絡(luò) - 知乎

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

? ? ? ? ?循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在處理序列數(shù)據(jù)方面取得了當(dāng)前最佳的性能表現(xiàn),但訓(xùn)練時(shí)需要大量內(nèi)存需要存儲(chǔ)隱藏狀態(tài)。

? ? ? ? 最近,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)已被用于處理多種自然語言處理(NLP)任務(wù),例如語言建模、機(jī)器翻譯、情緒分析和問答。有一種流行的 RNN 架構(gòu)是長短期記憶網(wǎng)絡(luò)(LSTM),其可以通過記憶單元(memory cell)和門函數(shù)(gating function)建模長期依賴性和解決梯度消失問題。因?yàn)檫@些元素,LSTM 循環(huán)神經(jīng)網(wǎng)絡(luò)在當(dāng)前許多自然語言處理任務(wù)中都實(shí)現(xiàn)了最佳的表現(xiàn),盡管它的方式幾乎是從頭開始學(xué)習(xí)。

? ? ? ? 雖然?RNN 越來越受歡迎,但它也存在一個(gè)局限性:當(dāng)應(yīng)用于大詞匯的文本語料庫時(shí),模型的體量將變得非常大。比如說,當(dāng)使用 RNN 進(jìn)行語言建模時(shí),詞首先需要通過輸入嵌入矩陣(input-embedding matrix)從 one-hot 向量(其維度與詞匯尺寸相同)映射到嵌入向量。然后為了預(yù)測下一詞的概率,通過輸出嵌入矩陣(output-embedding matrix)將頂部隱藏層投射成詞匯表中所有詞的概率分布。當(dāng)該詞匯庫包含數(shù)千萬個(gè)不同的詞時(shí)(這在 Web 語料庫中很常見),這兩個(gè)嵌入矩陣就會(huì)包含數(shù)百億個(gè)不同的元素,這會(huì)使得 RNN 模型變得過大,從而無法裝進(jìn) GPU 設(shè)備的內(nèi)存。以 ClueWeb 數(shù)據(jù)集為例,其詞匯集包含超過 1000 萬詞。如果嵌入向量具有 1024 個(gè)維度并且每個(gè)維度由 32 位浮點(diǎn)表示,則輸入嵌入矩陣的大小將為大約 40GB。進(jìn)一步考慮輸出嵌入矩陣和隱藏層之間的權(quán)重,RNN 模型將大于 80GB,這一數(shù)字遠(yuǎn)遠(yuǎn)超出了市面上最好的 GPU 的能力。

? ? ? ? ?即使?GPU 的內(nèi)存可以擴(kuò)容,用于訓(xùn)練這樣體量模型的計(jì)算復(fù)雜度也將高到難以承受。在 RNN 語言模型中,最耗時(shí)的運(yùn)算是計(jì)算詞匯表中所有詞的概率分布,這需要疊乘序列每個(gè)位置處的輸出嵌入矩陣和隱藏狀態(tài)。簡單計(jì)算一下就可以知道,需要使用目前最好的單 GPU 設(shè)備計(jì)算數(shù)十年才能完成 ClueWeb 數(shù)據(jù)集語言模型的訓(xùn)練。此外,除了訓(xùn)練階段的難題,即使我們最終訓(xùn)練出了這樣的模型,我們也幾乎不可能將其裝進(jìn)移動(dòng)設(shè)備讓它進(jìn)入應(yīng)用。

1.2?TCN背景

? ? ? ? 到目前為止,深度學(xué)習(xí)背景下的序列建模主題主要與遞歸神經(jīng)網(wǎng)絡(luò)架構(gòu)(如LSTM和GRU)有關(guān)。S. ?Bai等人(*)認(rèn)為,這種思維方式已經(jīng)過時(shí),在對序列數(shù)據(jù)進(jìn)行建模時(shí),應(yīng)該將卷積網(wǎng)絡(luò)作為主要候選者之一加以考慮。他們能夠表明,在許多任務(wù)中,卷積網(wǎng)絡(luò)可以取得比RNNs更好的性能,同時(shí)避免了遞歸模型的常見缺陷,如梯度爆炸/消失問題或缺乏內(nèi)存保留。此外,使用卷積網(wǎng)絡(luò)而不是遞歸網(wǎng)絡(luò)可以提高性能,因?yàn)樗试S并行計(jì)算輸出。他們提出的架構(gòu)稱為時(shí)間卷積網(wǎng)絡(luò)(TCN),將在下面的部分中進(jìn)行解釋。

? ? ? ? ? TCN是指時(shí)間卷積網(wǎng)絡(luò),一種新型的可以用來解決時(shí)間序列預(yù)測的算法。

? ? ? ? ? 該算法于2016年由Lea等人首先提出,當(dāng)時(shí)他們在做視頻動(dòng)作分割的研究,一般而言此常規(guī)過程包括兩個(gè)步驟:首先,使用(通常)對時(shí)空信息進(jìn)行編碼的CNN來計(jì)算低級特征,其次,將這些低級特征輸入到使用(通常是)捕獲高級時(shí)域信息的分類器中)RNN。這種方法的主要缺點(diǎn)是需要兩個(gè)單獨(dú)的模型。

? ? ? ? ?TCN提供了一種統(tǒng)一的方法來分層捕獲所有兩個(gè)級別的信息。

? ? ? ? ?自從TCN提出后引起了巨大反響,有人認(rèn)為:時(shí)間卷積網(wǎng)絡(luò)(TCN)將取代RNN成為NLP或者時(shí)序預(yù)測領(lǐng)域的王者。

? ? ? ? ?DataScienceCentral 的編輯主任William Vorhies給出的原因如下:

? ? ? ? ? RNN耗時(shí)太長,由于網(wǎng)絡(luò)一次只讀取、解析輸入文本中的一個(gè)單詞(或字符),深度神經(jīng)網(wǎng)絡(luò)必須等前一個(gè)單詞處理完,才能進(jìn)行下一個(gè)單詞的處理。這意味著 RNN 不能像 CNN 那樣進(jìn)行大規(guī)模并行處理;并且TCN的實(shí)際結(jié)果也要優(yōu)于RNN算法。

? ? ? ? ?TCN可以采用一系列任意長度并將其輸出為相同長度。在使用一維完全卷積網(wǎng)絡(luò)體系結(jié)構(gòu)的情況下,使用因果卷積。一個(gè)關(guān)鍵特征是,時(shí)間t的輸出僅與t之前發(fā)生的元素卷積。

2?TCN特點(diǎn)

TCN 模型以 CNN 模型為基礎(chǔ),并做了如下改進(jìn):

  1. 適用序列模型:因果卷積(Causal Convolution)
  2. 記憶歷史:空洞卷積/膨脹卷積(Dilated Convolution),殘差模塊(Residual block)

下面將分別介紹 CNN 的擴(kuò)展技術(shù)。

TCN的特點(diǎn)

  1. 因果卷積網(wǎng)絡(luò)
  2. 膨脹卷積方式(擴(kuò)張卷積、空洞卷積)Dilated Causal Convolution
  3. 殘差塊
  4. 激活函數(shù)
  5. 規(guī)范化
  6. 正則化
  7. Dropout

2.1?因果卷積(Causal Convolution)

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能??

?? ? ? ? 因果卷積可以用上圖直觀表示。 即對于上一層t時(shí)刻的值,只依賴于下一層t時(shí)刻及其之前的值。和傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的不同之處在于,因果卷積不能看到未來的數(shù)據(jù),它是單向的結(jié)構(gòu),不是雙向的。也就是說只有有了前面的因才有后面的果,是一種嚴(yán)格的時(shí)間約束模型,因此被成為因果卷積。

因果卷積有兩個(gè)特點(diǎn):

  1. 不考慮未來的信息。給定輸入序列?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能,預(yù)測?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能。但是在預(yù)測?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能時(shí),只能使用已經(jīng)觀測到的序列?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能,而不能使用??tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能。
  2. 追溯歷史信息越久遠(yuǎn),隱藏層越多。上圖中,假設(shè)我們以第二層隱藏層作為輸出,它的最后一個(gè)節(jié)點(diǎn)關(guān)聯(lián)了輸入的三個(gè)節(jié)點(diǎn),即?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能?;假設(shè)以輸出層作為輸出,它的最后一個(gè)節(jié)點(diǎn)關(guān)聯(lián)了輸入的五個(gè)節(jié)點(diǎn)。

2.2 空洞卷積/膨脹卷積(Dilated Convolution)

? ? ? ? 單純的因果卷積還是存在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的問題,即對時(shí)間的建模長度受限于卷積核大小的,如果要想抓去更長的依賴關(guān)系,就需要線性的堆疊很多的層。標(biāo)準(zhǔn)的 CNN 可以通過增加 pooling 層來獲得更大的感受野,而經(jīng)過 pooling 層后肯定存在信息損失的問題。

? ? ? ? 空洞卷積是在標(biāo)準(zhǔn)的卷積里注入空洞,以此來增加感受野。空洞卷積多了一個(gè)超參數(shù) dilation rate,指的是 kernel 的間隔數(shù)量(標(biāo)準(zhǔn)的 CNN 中 dilatation rate 等于 1)??斩吹暮锰幨遣蛔?pooling 損失信息的情況下,增加了感受野,讓每個(gè)卷積輸出都包含較大范圍的信息。下圖展示了標(biāo)準(zhǔn) CNN (左)和 Dilated Convolution (右),右圖中的 dilatation rate 等于 2 。?

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

?? ? ? ? 和傳統(tǒng)卷積不同的是,膨脹卷積允許卷積時(shí)的輸入存在間隔采樣,采樣率受圖中的d控制。 最下面一層的d=1,表示輸入時(shí)每個(gè)點(diǎn)都采樣,中間層d=2,表示輸入時(shí)每2個(gè)點(diǎn)采樣一個(gè)作為輸入。一般來講,越高的層級使用的d的大小越大。所以,膨脹卷積使得有效窗口的大小隨著層數(shù)呈指數(shù)型增長。這樣卷積網(wǎng)絡(luò)用比較少的層,就可以獲得很大的感受野。

空洞卷積的參數(shù):

  • d:層數(shù)
  • k:內(nèi)核大小,filter size

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

? ? ? ? ?因?yàn)檠芯繉ο笫菚r(shí)間序列,TCN 采用一維的卷積網(wǎng)絡(luò)。上圖是 TCN 架構(gòu)中的因果卷積與空洞卷積,可以看到每一層??tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能時(shí)刻的值只依賴于上一層?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能?時(shí)刻的值,體現(xiàn)了因果卷積的特性;而每一層對上一層信息的提取,都是跳躍式的,且逐層 dilated rate 以 2 的指數(shù)增長,體現(xiàn)了空洞卷積的特性。由于采用了空洞卷積,因此每一層都要做 padding(通常情況下補(bǔ) 0),padding 的大小為?tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能?。?

2.3 ?殘差模塊(Residual block)

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

?? ? ? ? 殘差鏈接被證明是訓(xùn)練深層網(wǎng)絡(luò)的有效方法,它使得網(wǎng)絡(luò)可以以跨層的方式傳遞信息。本文構(gòu)建了一個(gè)殘差塊來代替一層的卷積。如上圖所示,一個(gè)殘差塊包含兩層的卷積和非線性映射,在每層中還加入了WeightNorm和Dropout來正則化網(wǎng)絡(luò)。

3 TCN時(shí)間卷積網(wǎng)絡(luò)的預(yù)測

? ? ? ?給定input_length, kernel_size, dilation_base和覆蓋整個(gè)歷史所需的最小層數(shù),基本的TCN網(wǎng)絡(luò)看起來像這樣:

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

? ? ? ? 到目前為止,我們只討論了‘輸入序列’和‘輸出序列’,而沒有深入了解它們之間是如何相互關(guān)聯(lián)的。在預(yù)測方面,我們希望預(yù)測未來時(shí)間序列的下一個(gè)條目。為了訓(xùn)練我們的TCN網(wǎng)絡(luò)進(jìn)行預(yù)測,訓(xùn)練集將由給定時(shí)間序列的等大小子序列對(輸入序列、目標(biāo)序列)組成。

? ?? ? ?即 input?series = target series

? ? ? ? 目標(biāo)序列將是相對于其各自的輸入序列向右移動(dòng)一定數(shù)量output_length的序列。這意味著長度input_length的目標(biāo)序列包含其各自輸入序列的最后(input_length - output_length)元素作為第一個(gè)元素,位于輸入序列最后一個(gè)條目之后的output_length元素作為它的最后一個(gè)元素。在預(yù)測方面,這意味著該模型所能預(yù)測的最大預(yù)測視界等于output_length。使用滑動(dòng)窗口的方法,許多重疊的輸入和目標(biāo)序列可以創(chuàng)建出一個(gè)時(shí)間序列。

tcn,預(yù)測,深度學(xué)習(xí),機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí),人工智能

?4?TCN 進(jìn)行序列建模的幾個(gè)優(yōu)點(diǎn)和缺點(diǎn)

優(yōu)點(diǎn)

  1. 并行性(Parallelism)。與在?RNN?中對后續(xù)時(shí)間步的預(yù)測必須等待其前任完成的情況不同,卷積可以并行完成,因?yàn)槊恳粚佣际褂孟嗤臑V波器。因此,在訓(xùn)練和評估中,長輸入序列可以在?TCN?中作為一個(gè)整體進(jìn)行處理,而不是像在?RNN?中那樣按順序處理。
  2. 靈活的感受野大?。‵lexible receptive field size)。TCN?可以通過多種方式改變其感受野大小。例如,堆疊更多擴(kuò)張(因果)卷積層、使用更大的膨脹因子或增加濾波器大小都是可行的選擇(可能有不同的解釋)。因此,TCN?可以更好地控制模型的內(nèi)存大小,并且易于適應(yīng)不同的領(lǐng)域。
  3. 穩(wěn)定的梯度(Stable gradients)。與循環(huán)架構(gòu)不同,TCN?的反向傳播路徑與序列的時(shí)間方向不同。因此,TCN?避免了梯度爆炸/消失的問題,這是?RNN?的一個(gè)主要問題,并導(dǎo)致了?LSTM、GRU、HF-RNN(Martens & Sutskever,2011)等的發(fā)展。
  4. 訓(xùn)練時(shí)內(nèi)存要求低。特別是在輸入序列較長的情況下,LSTM?和?GRU?很容易占用大量內(nèi)存來存儲(chǔ)它們的多個(gè)單元門的部分結(jié)果。而在?TCN?中,濾波器跨層共享,反向傳播路徑僅取決于網(wǎng)絡(luò)深度。因此,在實(shí)踐中,我們發(fā)現(xiàn)門控?RNN?可能比?TCN?使用更多的內(nèi)存。
  5. 可變長度輸入。就像?RNN?以循環(huán)方式對可變長度的輸入進(jìn)行建模一樣,TCN?也可以通過滑動(dòng)?1D?卷積核來接收任意長度的輸入。這意味著?TCN?可以作為?RNN?的替代品,用于任意長度的序列數(shù)據(jù)。

使用?TCN 也有兩個(gè)明顯的缺點(diǎn)

  1. 評估期間的數(shù)據(jù)存儲(chǔ)。在評估/測試中,RNN?只需保持隱藏狀態(tài)并獲取當(dāng)前輸入?xt?即可生成預(yù)測。換句話說,整個(gè)歷史的“摘要”由一組固定長度的向量?ht?提供,而實(shí)際觀察到的序列可以被丟棄。相比之下,TCN?需要接收到有效歷史長度的原始序列,因此在評估期間可能需要更多內(nèi)存。
  2. 域遷移的潛在參數(shù)變化(Potential parameter change for a transfer of domain)。不同領(lǐng)域?qū)δP皖A(yù)測所需的歷史數(shù)量可能有不同的要求。因此,當(dāng)將模型從只需要很少內(nèi)存的域(即小?k?和?d)轉(zhuǎn)移到需要更長內(nèi)存的域(即大得多的?k?和?d)時(shí),TCN?可能會(huì)因?yàn)闆]有足夠大的感受野。

?論文《An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling》:https://arxiv.org/pdf/1803.01271.pdf

TCN 時(shí)間卷積網(wǎng)絡(luò):TCN 時(shí)間卷積網(wǎng)絡(luò) - 知乎

時(shí)域卷積網(wǎng)絡(luò)TCN詳解:使用卷積進(jìn)行序列建模和預(yù)測:時(shí)域卷積網(wǎng)絡(luò)TCN詳解:使用卷積進(jìn)行序列建模和預(yù)測_deephub的博客-CSDN博客_tcn時(shí)間卷積網(wǎng)絡(luò)

時(shí)空卷積網(wǎng)絡(luò)TCN:時(shí)空卷積網(wǎng)絡(luò)TCN - USTC丶ZCC - 博客園

Darts實(shí)現(xiàn)TCN(時(shí)域卷積網(wǎng)絡(luò)): https://blog.csdn.net/liuhaikang/article/details/119704701?spm=1001.2014.3001.5501

TCN-時(shí)間卷積網(wǎng)絡(luò):https://blog.csdn.net/qq_27586341/article/details/90751794?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-4.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-4.base

多變量時(shí)間序列、預(yù)訓(xùn)練模型和協(xié)變量:

多變量時(shí)間序列、預(yù)訓(xùn)練模型和協(xié)變量_liuhaikang的博客-CSDN博客_多變量時(shí)間序列模型文章來源地址http://www.zghlxwxcb.cn/news/detail-790223.html

到了這里,關(guān)于TCN(Temporal Convolutional Network,時(shí)間卷積網(wǎng)絡(luò))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包