自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

新聞 深度學(xué)習(xí)
本文中,作者對(duì)經(jīng)典預(yù)測(cè)編碼模型和深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型進(jìn)行了簡(jiǎn)單回顧,其中重點(diǎn)介紹了用于視頻預(yù)測(cè)和無監(jiān)督學(xué)習(xí)的深度預(yù)測(cè)編碼網(wǎng)絡(luò) PredNet 以及基于 PredNet 進(jìn)行改進(jìn)的一些版本。

 [[434722]]

 0、 引言

預(yù)測(cè)編碼(predictive coding)是一種認(rèn)知科學(xué)的假說。與一般認(rèn)為高層次的神經(jīng)活動(dòng)都是由感官輸入引起的理念不同,該假說認(rèn)為更高層次的神經(jīng)表征會(huì)參與定義感覺輸入(Sensory Input)。預(yù)測(cè)編碼的概念起源于神經(jīng)科學(xué)界,近年來,機(jī)器學(xué)習(xí)領(lǐng)域的一些研究人員也開始致力于研究預(yù)測(cè)編碼相關(guān)的模型。本文以來自路易斯安那大學(xué)拉菲特分校(University of Louisiana at Lafayette) 的 Hosseini M 和 Maida A 近期發(fā)表的文章為基礎(chǔ)[1],探討預(yù)測(cè)編碼是如何在深度學(xué)習(xí)的架構(gòu)中應(yīng)用的。

預(yù)測(cè)編碼的一個(gè)決定性特征是:它使用自上而下的重構(gòu)機(jī)制來預(yù)測(cè)感覺輸入或其低級(jí)別的表征。具體來說,預(yù)測(cè)編碼首先確定預(yù)測(cè)值和實(shí)際輸入之間的差異(稱為預(yù)測(cè)誤差),然后啟動(dòng)后續(xù)學(xué)習(xí)過程,以改進(jìn)所學(xué)的更高層次表征的預(yù)測(cè)準(zhǔn)確度。在深度學(xué)習(xí)發(fā)展之前,旨在描述新皮質(zhì)計(jì)算(computations in the neocortex)的預(yù)測(cè)編碼模型就已經(jīng)出現(xiàn),這些模型構(gòu)建了模塊之間的通信結(jié)構(gòu),稱之為 Rao-Ballard 協(xié)議(RB protocol)。RB 協(xié)議是由貝葉斯生成模型得出的(通過結(jié)合感覺輸入與先前的預(yù)期,以做出更好的未來預(yù)測(cè)),包含了一些強(qiáng)統(tǒng)計(jì)假設(shè)。而非貝葉斯預(yù)測(cè)編碼模型(不遵循 RB 協(xié)議)一般用于減少信息傳輸要求和取消自身行動(dòng)的影響,而不是用于預(yù)測(cè)。

預(yù)測(cè)編碼可以看作是一種表征學(xué)習(xí)(representation learning)。支持貝葉斯預(yù)測(cè)編碼的學(xué)習(xí)機(jī)制能夠改進(jìn)所獲取的內(nèi)部表征的質(zhì)量,這可以看做是減少未來預(yù)測(cè)誤差的一種副作用。預(yù)測(cè) / 重構(gòu)能力確保獲得的表征能夠完全代表輸入中所包含的信息。由于整個(gè)學(xué)習(xí)過程是由預(yù)測(cè)誤差所驅(qū)動(dòng)的,所以是一種無監(jiān)督學(xué)習(xí),只需要預(yù)測(cè)的數(shù)據(jù)流的信息。

在應(yīng)用方面,預(yù)測(cè)編碼可用于學(xué)習(xí)重疊圖像組件、物體分類、視頻預(yù)測(cè)、視頻異常檢測(cè)、偏向競(jìng)爭(zhēng)(Bias competition)建模、靈長類視覺皮層的反應(yīng)特性以及腦電圖誘發(fā)的大腦反應(yīng)健康問題。此外,它還被提出作為新皮層功能的統(tǒng)一理論。

到目前為止,在深度學(xué)習(xí)架構(gòu)中構(gòu)建大型的預(yù)測(cè)編碼模型的示例非常少見,最著名的為文獻(xiàn) [3] 中提出的 PredNet 模型,我們會(huì)在文章中對(duì)其進(jìn)行介紹。大多數(shù)預(yù)測(cè)編碼模型都是在深度學(xué)習(xí)框架出現(xiàn)之前實(shí)現(xiàn)的,所以這些經(jīng)典的模型規(guī)模都很小,而且都沒有專門的時(shí)間處理模塊。

1、 預(yù)測(cè)編碼的基本知識(shí)

首先,我們參考來自華盛頓大學(xué)的研究人員發(fā)表的一篇預(yù)測(cè)編碼綜述性文章,從神經(jīng)學(xué)的角度對(duì)預(yù)測(cè)編碼進(jìn)行介紹 [2]。預(yù)測(cè)編碼是一個(gè)試圖解釋認(rèn)知現(xiàn)象和理解神經(jīng)系統(tǒng)的統(tǒng)一框架,它提出了神經(jīng)系統(tǒng)中如何減少冗余和進(jìn)行高效編碼:通過只傳輸傳入的感覺信號(hào)中未預(yù)測(cè)的部分,預(yù)測(cè)編碼允許神經(jīng)系統(tǒng)減少冗余并充分利用神經(jīng)元的有限動(dòng)態(tài)范圍。預(yù)測(cè)編碼為一系列神經(jīng)反應(yīng)和大腦組織的許多方面提供了功能性解釋。自然界中視網(wǎng)膜和外側(cè)膝狀核(lateral geniculate nucleus,LGN)接受區(qū)(receptive field) 的側(cè)向和時(shí)間拮抗(temporal antagonism)是自然圖像預(yù)測(cè)編碼的結(jié)果。在預(yù)測(cè)編碼模型中,視網(wǎng)膜 / LGN 中的神經(jīng)回路主動(dòng)地從空間中的附近值或時(shí)間中的先驗(yàn)輸入值的線性加權(quán)總和來預(yù)測(cè)局部強(qiáng)度的數(shù)值。這些電路中的細(xì)胞傳達(dá)的不是原始圖像強(qiáng)度,而是預(yù)測(cè)值和實(shí)際強(qiáng)度之間的差異,這種處理方式減少了輸出冗余。而在高級(jí)視覺系統(tǒng)中,預(yù)測(cè)編碼為定向感受區(qū)和背景效應(yīng)以及大腦皮層的分層互連組織提供了解釋。從不同腦區(qū)獲得的各種神經(jīng)生理學(xué)和心理物理學(xué)數(shù)據(jù)也與預(yù)測(cè)編碼的猜想一致。

我們先了解一下不同層級(jí)的神經(jīng)系統(tǒng)的響應(yīng)特點(diǎn):大腦中初級(jí)視覺皮層(V1)的神經(jīng)元對(duì)特定方向的條形和邊緣作出反應(yīng),而 V2 和 V4 區(qū)的神經(jīng)元對(duì)更復(fù)雜的形狀和輪廓特征作出反應(yīng)。內(nèi)側(cè)顳上區(qū)(medial superior temporal,MST)的神經(jīng)元對(duì)視覺運(yùn)動(dòng)有反應(yīng)。這些反應(yīng)的選擇性可以從自然輸入的分層預(yù)測(cè)編碼的角度來理解。例如,由于視覺系統(tǒng)是分層組織的,皮層區(qū)域之間有相互的聯(lián)系。根據(jù) Rao 和 Ballard 提出的分層神經(jīng)網(wǎng)絡(luò)的架構(gòu)(RB 架構(gòu)),來自高階視覺皮層區(qū)域的自上而下的反饋連接承載了對(duì)低階神經(jīng)活動(dòng)的預(yù)測(cè),而自下而上的連接則傳達(dá)了預(yù)測(cè)的剩余誤差。在對(duì)取自自然場(chǎng)景的圖像斑塊進(jìn)行模型網(wǎng)絡(luò)訓(xùn)練后,他們發(fā)現(xiàn)模型神經(jīng)元發(fā)展出與 V1 相似的感受野特性,包括定向感受野、末端停頓和其他背景效應(yīng)。

預(yù)測(cè)編碼的一個(gè)早期應(yīng)用是創(chuàng)建視網(wǎng)膜的模型,這些模型具有較低的信息傳輸要求,因?yàn)橐暽窠?jīng)是向大腦傳輸視覺信息的瓶頸。連續(xù)的視覺輸入具有高冗余度。如果視網(wǎng)膜上的細(xì)胞從空間上和時(shí)間上計(jì)算出傳入光線的移動(dòng)平均值,就可以得到對(duì)當(dāng)前輸入的預(yù)測(cè)。通過將實(shí)際輸入與預(yù)測(cè)進(jìn)行比較,視網(wǎng)膜可以將預(yù)測(cè)誤差發(fā)送到后來的處理區(qū)域,從而減少傳輸帶寬。如果脊椎動(dòng)物的視網(wǎng)膜從頭開始創(chuàng)建當(dāng)前輸入圖像的表征,信息傳輸?shù)囊髮⑷Q于建立當(dāng)前環(huán)境的完整表征所需的帶寬。然而,大腦通常可以利用其對(duì)過去環(huán)境的現(xiàn)有表征以及關(guān)于環(huán)境如何變化的約束條件,對(duì)環(huán)境的當(dāng)前狀態(tài)做出非常好的預(yù)測(cè)。與從頭開始建立當(dāng)前環(huán)境狀態(tài)的表征相比,預(yù)測(cè)誤差只需要較少的帶寬來表示。如果大腦已經(jīng)有了一個(gè)相當(dāng)準(zhǔn)確的默認(rèn)預(yù)測(cè),那么用預(yù)測(cè)誤差來更新默認(rèn)預(yù)測(cè)就可以創(chuàng)造一個(gè)最新的、信息傳輸需求較低的表征。此外,預(yù)測(cè)誤差可以提供很好的信息來指導(dǎo)學(xué)習(xí),以改善表征并減少未來的預(yù)測(cè)誤差。

隨著預(yù)測(cè)編碼模型的發(fā)展,人們開始嘗試將其構(gòu)建為生成模型,以使其能夠直接生成預(yù)測(cè)的感覺輸入。這通常將其表示為一個(gè)層次結(jié)構(gòu),其中上層預(yù)測(cè)下層的輸出(即對(duì)上層的輸入),任何預(yù)測(cè)誤差都提供信息來指導(dǎo)上層的學(xué)習(xí)。涉及前饋和反饋連接的分層結(jié)構(gòu)也與靈長類動(dòng)物的新皮層結(jié)構(gòu)一致。在感知推理和識(shí)別的背景下,一個(gè)訓(xùn)練好的生成模型具有這樣的特性:學(xué)習(xí)到的表征可以重建原始感覺輸入的分布,并在不同的空間和時(shí)間尺度上估計(jì)輸入中的隱性原因。學(xué)習(xí)到的表征能夠捕捉到首先產(chǎn)生輸入的因果因素,因此使得重建變?yōu)榭赡堋K枰粋€(gè)從感覺到原因的逆向映射,以便構(gòu)建表征。這很有挑戰(zhàn)性,因?yàn)橛?jì)算物理世界中感覺和原因之間的逆向映射是一個(gè) ill-posed 問題,也就是說,它的解決方案不是唯一的。在貝葉斯方法中,這可以通過使用適當(dāng)?shù)南闰?yàn)概率來解決,在某些情況下,如果有足夠的輸入,可以學(xué)習(xí)這些先驗(yàn)概率。一種方法是通過學(xué)習(xí)使預(yù)測(cè)誤差最小化(即預(yù)測(cè)性編碼)。

早期的預(yù)測(cè)編碼模型一般被表述為統(tǒng)計(jì)模型,如分層期望最大化(hierarchical expectation maximization)和變分自由能量模型(variational free energy models)。盡管這些模型提出了計(jì)算預(yù)測(cè)的精確計(jì)算方法但仍存在一些問題和挑戰(zhàn),實(shí)施這些模型具有非常龐大的計(jì)算量,而且模型的假設(shè)具有高度的限制性。在近期的研究工作中,研究人員提出了利用深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來解決這一問題[3],從而可以直接調(diào)用深度學(xué)習(xí)框架附帶的大型工具集已解決計(jì)算量的問題。

2、 預(yù)測(cè)編碼學(xué)習(xí)層次化的背景知識(shí)[1][5]

本節(jié)我們首先了解一下經(jīng)典的預(yù)測(cè)編碼方法是如何學(xué)習(xí)層次化的背景知識(shí)的。如上一節(jié)中分析,人類的大腦通??梢岳闷鋵?duì)過去環(huán)境的現(xiàn)有表征以及關(guān)于環(huán)境如何變化的約束條件,對(duì)環(huán)境的當(dāng)前狀態(tài)做出非常好的預(yù)測(cè)。而預(yù)測(cè)編碼模型則是通過生成方式來預(yù)測(cè)感覺輸入。一般的,這種生成方式構(gòu)建為一個(gè)層次化的結(jié)構(gòu):上層預(yù)測(cè)下層的輸出(即上層的輸入),任何預(yù)測(cè)誤差都提供信息來指導(dǎo)上層的學(xué)習(xí)。預(yù)測(cè)編碼模型通過減少各層的預(yù)測(cè)誤差來構(gòu)建層次化的表征,即表征層次結(jié)構(gòu)(Representation hierarchies),具體包括兩類方法:第一類方法是構(gòu)建越來越抽象的特征層次,通過在層次結(jié)構(gòu)的后期使用更大的輸入上下文信息(input context)來實(shí)現(xiàn),類似于卷積網(wǎng)絡(luò)。第二類方法是像在泰勒級(jí)數(shù)展開中一樣學(xué)習(xí)高階誤差的層次結(jié)構(gòu)。我們?cè)谶@一章節(jié)具體介紹一種第一類方法,即 Rao/Ballard 模型。

Rao/Ballard 的經(jīng)典文獻(xiàn) [5] 中使用三級(jí)表示層次結(jié)構(gòu)對(duì)初級(jí)視皮層末梢神經(jīng)感受野模型進(jìn)行建模,其中來自更上層的反饋傳達(dá)對(duì)前一層神經(jīng)活動(dòng)的預(yù)測(cè)。例如,將最下層的預(yù)測(cè)活動(dòng)與實(shí)際活動(dòng)(原始感官輸入)進(jìn)行比較。預(yù)測(cè)誤差是一個(gè)層的輸出,并被轉(zhuǎn)發(fā)到下一個(gè)更高的層。在層次結(jié)構(gòu)中,有兩類神經(jīng)元:內(nèi)部表示神經(jīng)元和預(yù)測(cè)誤差神經(jīng)元。在預(yù)測(cè)中間層表征時(shí),通過讓最上層表征使用相鄰的空間上下文對(duì)結(jié)束停止(End-stopping)進(jìn)行建模。最上層表征為空間更大的上下文構(gòu)建表示。該模型是圍繞預(yù)測(cè)元素(predictive element,PE)建立的。人們可以將預(yù)測(cè)元素視為大腦中的一個(gè)處理階段或皮質(zhì)層。在深度學(xué)習(xí)術(shù)語中,它由兩個(gè)執(zhí)行互補(bǔ)功能的神經(jīng)層組成,并通過前饋和反饋連接連接。

為了方便理解,我們給出 PE 的圖形化展示。將 PE 堆疊成層次結(jié)構(gòu)(圖 1(a))。PE 從層次結(jié)構(gòu)中的前一層接收預(yù)測(cè)誤差(通過前向連接),并以先驗(yàn)概率的形式(通過后向連接)向前一層發(fā)送預(yù)測(cè)。圖 1(a)給出信息流的原始視圖。第 l+1 層學(xué)習(xí)第 l 層的變換表示,從而提高其對(duì)第 l 層活動(dòng)的預(yù)測(cè)性能。r(l)表示輸入的假設(shè)原因。不同的層 l 以越來越高的描述級(jí)別提供相同原因的不同表示。每一層的表達(dá)都表現(xiàn)為形成該層的神經(jīng)元向量的一組激活水平。圖 1(b)中的視圖顯示相鄰層之間的交互遵循一個(gè)約束協(xié)議,即 Rao-Ballard 協(xié)議。在我們的表示中,有四種連接類型:預(yù)測(cè)(prediction,P)、預(yù)測(cè)誤差(prediction error,PE)、橫向目標(biāo)(lateral target,LT)和橫向目標(biāo)誤差(lateral target error,LTE)。層輸出是由 PE 連接提供的信息。P 和 PE 為完全連接,LT 和 LTE 為點(diǎn)對(duì)點(diǎn)連接(見圖 2)。表示模塊僅與預(yù)測(cè)誤差模塊通信,預(yù)測(cè)誤差模塊僅與表示模塊通信。此外,預(yù)測(cè)誤差神經(jīng)元在層次結(jié)構(gòu)中從不向下投射,內(nèi)部表征神經(jīng)元在層次結(jié)構(gòu)中從不向上投射。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 1:(a)預(yù)測(cè) PE 的 Rao/Ballard 圖。虛線框中包含的預(yù)測(cè)元素是預(yù)測(cè)編碼層次結(jié)構(gòu)的構(gòu)建塊。圍繞減號(hào)的圓表示計(jì)算預(yù)測(cè)誤差的誤差單位向量;(b) 使 Rao-Ballard 協(xié)議更加清晰的數(shù)據(jù)流圖。e^l 明確預(yù)測(cè)誤差和水平。圓箭頭表示減法。與預(yù)測(cè)元素關(guān)聯(lián)的四個(gè)連接已標(biāo)記

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 2. PE 預(yù)測(cè)單元。e 表示殘差單元,r 表示表征單元,I 表示輸入。黑色的小圓圈代表神經(jīng)元。以實(shí)心圓結(jié)尾的紅色箭頭表示減法反饋抑制。紅色箭頭表示 P 連接,藍(lán)色箭頭表示 PE 連接,黑色箭頭表示 LT 連接

圖 1(b)拋出了一個(gè)尚未有答案的問題:第 r^(l-1)層從第 r^(l+1)層中中獲得了什么樣的層次表示,這些層次表示與經(jīng)典的深度學(xué)習(xí)模型(如卷積網(wǎng)絡(luò))中獲得的層次表示相比如何?圖 2 示出了 [5] 中模型第一層 PE 的網(wǎng)絡(luò)級(jí)表示。為簡(jiǎn)單起見,假定第 2 層中的表示單元 r^(2)為線性。在接收層 r^(2)中,有兩個(gè)表示 16x16 大小的圖像塊的輸入像素強(qiáng)度的元素,但只有 32 個(gè)表示元素。前饋連接為藍(lán)色 W,反饋連接為紅色 W^T。自上而下的預(yù)測(cè),表示為 I^。e^(1)單元計(jì)算預(yù)測(cè)誤差。這些想法與架構(gòu)處理有關(guān):

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

根據(jù)公式 (1a),I 是感官輸入,第一層表征表示為 r^(1),它們是等同的。I 和 I^ 的維度均為 256 x1(假設(shè)為 16 x 16 的輸入圖像塊)。預(yù)測(cè)輸入 I^ 也是等同于 r^(1)。預(yù)測(cè)輸入表示為 W^Tr^(2),其中 r^(2) 的維度為 32 x 1,W 的維度為 32 x 256。最后,在正常工作條件下,輸入 I 和預(yù)測(cè)輸入 I^ 應(yīng)大致相等。公式 (1b) 將第 1 層的預(yù)測(cè)誤差 e^(1)定義為實(shí)際輸入和預(yù)測(cè)輸入之間的差異。公式 (1c) 用于根據(jù)預(yù)測(cè)誤差更新第二層的內(nèi)部表征。從預(yù)測(cè)誤差平方和的成本函數(shù) J 開始。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

考慮到僅針對(duì)單層網(wǎng)絡(luò),為了便于閱讀,作者在公式中省略了層上標(biāo)。在文獻(xiàn) [5] 中報(bào)告的成本函數(shù)包含了先驗(yàn)知識(shí),但公式 (2) 的成本函數(shù)并未考慮先驗(yàn)知識(shí)。為了準(zhǔn)備梯度下降,我們得到了 J 對(duì) r 的導(dǎo)數(shù)。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

對(duì)于梯度下降,我們以一定的速率沿導(dǎo)數(shù)的相反方向移動(dòng):

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

通過取 W^T 對(duì) J 的導(dǎo)數(shù),可得到如下所示的學(xué)習(xí)方程:

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

進(jìn)一步的,給定圖 2 中的模塊,我們希望看到更大的體系結(jié)構(gòu)是什么樣子,以及當(dāng)它嵌入到上下文層次結(jié)構(gòu)中時(shí)會(huì)發(fā)生什么。為了實(shí)現(xiàn)這一點(diǎn),圖 3 擴(kuò)展了圖 2,在第一層中有兩個(gè)橫向 PE,在第二層中增加了一個(gè) PE。層 2 的輸入由三個(gè)重疊的 16x16 圖像塊組成。圖 2 中的神經(jīng)元 (r_1)^(1)-(r_1)^(32) 與圖 3 中由 (r_1)^(1,2)-(r_1)^(32,2) 識(shí)別的神經(jīng)元相同。新添加的第 3 層接收來自第 1 層的所有 PEs 的輸入。在圖 3 中,第一層的中間組件對(duì)應(yīng)于圖 2 中的模塊。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 3. 擴(kuò)展后的文獻(xiàn) [5] 中模型的全局結(jié)構(gòu),顯示了層次結(jié)構(gòu)和相鄰上下文。圖 2 中的網(wǎng)絡(luò)位于虛線框內(nèi)

3、 PredNet: 用于視頻預(yù)測(cè)和無監(jiān)督學(xué)習(xí)的深度預(yù)測(cè)編碼網(wǎng)絡(luò)[3]

3.1 PredNet 介紹

文獻(xiàn) [4] 首次提出了深度預(yù)測(cè)編碼網(wǎng)絡(luò)(deep predictive coding networks)的概念,而文獻(xiàn) [3] 中提出的模型 PredNet,可能是使用深度學(xué)習(xí)(DL)框架實(shí)現(xiàn)的最早的預(yù)測(cè)編碼模型。與上文描述的直接使用數(shù)學(xué)公式的方法相比,使用 DL 框架實(shí)現(xiàn)預(yù)測(cè)編碼模型具有許多潛在優(yōu)勢(shì)。

  • 首先,DL 框架非常成熟、通用且高效。因此,他們應(yīng)該更容易建立和研究預(yù)測(cè)編碼模型,唯一的復(fù)雜性是他們處理跨層反饋連接的能力。
  • 其次,使用 DL 框架的模型可以擴(kuò)展到具有超過十萬個(gè)參數(shù)的非常大的體系結(jié)構(gòu)。這不是使用傳統(tǒng)的預(yù)測(cè)編碼能夠?qū)崿F(xiàn)的。
  • 第三,深度學(xué)習(xí)體系結(jié)構(gòu)允許使用大型學(xué)習(xí)模塊(如 LSTM),可以處理更寬松的統(tǒng)計(jì)假設(shè),從而在更一般的情況下運(yùn)行。

PredNet 屬于第二類預(yù)測(cè)編碼模型(如上文所述:像在泰勒級(jí)數(shù)展開中一樣學(xué)習(xí)高階誤差的層次結(jié)構(gòu))。PredNet 的架構(gòu)見圖 4。PredNet 由一系列重復(fù)堆疊的模塊組成,這些模塊對(duì)輸入進(jìn)行局部預(yù)測(cè),然后從實(shí)際輸入中減去該預(yù)測(cè)并傳遞到下一層。具體的,每個(gè)模塊由四個(gè)基本部分組成:輸入卷積層(A_l)、遞歸表示層(R_l)、預(yù)測(cè)層((a_l)^)和誤差表示層(E_l)。R_l 是一個(gè)循環(huán)卷積網(wǎng)絡(luò),它生成 A_l 在下一幀上的預(yù)測(cè)(a_l)^。該網(wǎng)絡(luò)獲取 A_l 和(A_l)^ 之間的差值,并輸出誤差表示形式 E_l,包括單獨(dú)的校正正誤差總體和負(fù)誤差總體。E_l 通過卷積層向前傳遞,成為下一層(A_l+1)的輸入。R_l 接收 E_l 的副本以及來自下一級(jí)網(wǎng)絡(luò)(R_l+1)的表示層的自頂向下的輸入。網(wǎng)絡(luò)的組織是這樣的,在操作的第一個(gè)時(shí)間步驟中,網(wǎng)絡(luò)的“右側(cè)”(A_l’s 和 E_l’s)相當(dāng)于標(biāo)準(zhǔn)的深度卷積網(wǎng)絡(luò)。網(wǎng)絡(luò)的 "左側(cè)"(R_l’s)相當(dāng)于一個(gè)生成性去卷積網(wǎng)絡(luò),每個(gè)階段都有局部遞歸。與上一節(jié)介紹的經(jīng)典預(yù)測(cè)編碼模型不同,PredNet 構(gòu)建為一個(gè)深度學(xué)習(xí)框架,它使用梯度下降法進(jìn)行端到端的訓(xùn)練,同時(shí)隱式嵌入了一個(gè)損失函數(shù)作為誤差神經(jīng)元的觸發(fā)頻率。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 4. PredNet 架構(gòu)。左圖:兩層內(nèi)信息流的圖示。每一層由表示神經(jīng)元(R_l)組成,表示神經(jīng)元(R_l)在每個(gè)時(shí)間步((a_l)^)輸出特定于層的預(yù)測(cè),并與目標(biāo)(A_l)進(jìn)行比較以產(chǎn)生誤差項(xiàng)(E_l),然后誤差項(xiàng)(E_l)在網(wǎng)絡(luò)中橫向和垂直傳播

PredNet 架構(gòu)適用于各種模擬數(shù)據(jù),文獻(xiàn) [3] 具體關(guān)注圖像序列(視頻)數(shù)據(jù)。給定圖像序列 x_t,下層的目標(biāo)設(shè)置為實(shí)際序列本身,上層的目標(biāo)則是通過對(duì)下層的誤差單元進(jìn)行卷積,然后通過 ReLU 和 Max pooling 處理得到的,使用 LSTM 作為表示神經(jīng)元。(R_l)^t 利用 (R_l)^(t-1)、(E_l)^(t-1) 更新,以得到(R_l+1)^t。(A_l)^t^ 則通過(R_l)^t 堆的卷積附加 ReLU 處理得到。對(duì)于下層,(A_l)^t^ 通過一個(gè)設(shè)置為最大像素值飽和非線性集:

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

最后,(E_l)^t 計(jì)算為(A_l)^t^ 和(A_l)^t 的差,然后被分為 ReLU 激活的正預(yù)測(cè)誤差和負(fù)預(yù)測(cè)誤差,這些誤差沿特征維度串聯(lián)。完整的更新公式如下:

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

對(duì)模型進(jìn)行訓(xùn)練以使誤差單元活動(dòng)的加權(quán)和最小。訓(xùn)練損失為:

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

對(duì)于由減法和 ReLU 激活組成的誤差單元,每層的損失相當(dāng)于 L1 誤差。雖然本文沒有針對(duì)此問題進(jìn)行探討,但作者表示也可以使用其他誤差單元實(shí)現(xiàn),甚至可能是概率的或?qū)剐缘?。完整的流程如下?/p>

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

狀態(tài)更新通過兩個(gè)過程進(jìn)行:一個(gè)自上而下的過程,其中計(jì)算(R_l)^t 狀態(tài),然后一個(gè)向前的過程,以計(jì)算預(yù)測(cè)、誤差和更高級(jí)別的目標(biāo)。最后一個(gè)值得注意的細(xì)節(jié)是 R_l 和 E_l 被初始化為零,這是由于網(wǎng)絡(luò)的卷積性質(zhì),意味著初始預(yù)測(cè)在空間上是一致的。

3.2 PredNet 的預(yù)測(cè)編碼分析

本小節(jié)介紹 PredNet 的圖形化展示[1]。圖 5 示出了模型最下層的 PredNet 預(yù)測(cè)元素(PE),其中左側(cè)的表示模塊實(shí)現(xiàn)為 cLSTM(convolutional LSTMs,卷積 LSTM)。由于 PredNet 處理視頻數(shù)據(jù),因此該模型中的表示模塊由卷積 LSTM(cLSTMs)組成。cLSTM 是對(duì) LSTM 的一種修改,它使用多通道圖像作為其內(nèi)部數(shù)據(jù)結(jié)構(gòu)來代替特征向量。cLSTM 將基于仿射權(quán)乘(用于常規(guī) LSTM)的門操作替換為適用于多通道圖像的卷積門操作,以生成圖像序列(如視頻)的有用表示。表示模塊的輸出投射到誤差計(jì)算模塊,該模塊將其輸出發(fā)送回表示模塊。該模型通過將預(yù)測(cè)結(jié)果與目標(biāo)幀進(jìn)行比較,并使用預(yù)測(cè)誤差作為代價(jià)函數(shù),來學(xué)習(xí)預(yù)測(cè)視頻(目標(biāo))中的下一幀。由于圖 5 沒有顯示前饋和反饋連接如何鏈接到下一個(gè)更上層,我們無法確定它是否是預(yù)測(cè)預(yù)測(cè)誤差的模型。在這一點(diǎn)上,它作為預(yù)測(cè)編碼模型是通用的。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 5. PredNet 最下層(訓(xùn)練模式)中的信息流,其中輸入為真實(shí)視頻幀,R 和 E 是循環(huán)連接的

PredNet 與早期預(yù)測(cè)編碼模型之間的根本區(qū)別在于 PredNet 中的模塊間連接性與之前研究的模型不同。具體而言,PredNet 不遵循 RB 協(xié)議。這在圖 5 中不容易看出,但在圖 6(a)中很明顯,圖 6(a)給出了 PredNet 模型的兩層版本,模塊互連模式不同于 RB 協(xié)議。例如,PredNet 中第二層表示投影到第一層表示,而如果使用 RB 協(xié)議,它將投影到第一層誤差。類似地,如果使用 RB 協(xié)議,第一層應(yīng)投影到第二層表示。相反,PredNet 投影到了第二層誤差。

下圖6為PredNet 的兩個(gè)視圖。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

(a)

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

(b)

圖6.PredNet的兩個(gè)視圖。(a) 簡(jiǎn)單的文字表述。(b) 重構(gòu)圖

我們可以通過圖 6 具體分析 PredNet 的工作方法。當(dāng)使用 L0 訓(xùn)練損失時(shí),誤差值 e2 不是訓(xùn)練損失函數(shù)的一部分,因此在第 2 層的表示中學(xué)習(xí)僅減少損失 e1。此外,兩層的架構(gòu)表示減少了高階誤差,但 L0 損失函數(shù)與此相反。因?yàn)?e2 并不影響訓(xùn)練。來自 e2 的反向傳播權(quán)重更新信息沿箭頭指向的相反方向流動(dòng)。

假設(shè):如果我們切斷標(biāo)記為 “1” 的連接,它對(duì)性能的影響應(yīng)該可以忽略不計(jì)。如果這一假設(shè)被證明是正確的,那么更高級(jí)別的預(yù)測(cè)誤差計(jì)算不會(huì)起到顯著作用。Hosseini M 和 Maida A 認(rèn)為,這意味著 PredNet 模型并非真正的預(yù)測(cè)編碼網(wǎng)絡(luò),其功能原理類似于傳統(tǒng)的深度網(wǎng)絡(luò)。具體而言,它是一個(gè)分層 cLSTM 網(wǎng)絡(luò),在最下層使用平方誤差損失之和[1]。雖然圖 6 中沒有明確顯示,但在連續(xù)層之間的上行鏈路上使用了池化,在下行鏈路上使用了上采樣。這實(shí)現(xiàn)了某種形式的分層空間上下文,但由于它將預(yù)測(cè)誤差作為更上層次的表征,所以很難進(jìn)行啟發(fā)式解釋。

4、利用 RB 協(xié)議對(duì) PredNet 改進(jìn)的思考

通過上文的介紹我們可以看出,PredNet 是第一個(gè)深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼,但是它并不遵循 RB 協(xié)議。Hosseini M 和 Maida A 在 文獻(xiàn) [1] 中提出了一種利用 RB 協(xié)議改進(jìn) PredNet 的方法,命名為 RBP 模型(RB-PredNet),如圖 7 所示。所有可訓(xùn)練參數(shù)都在 A^l、(A^l)^ 和 R^l 模塊中。所有三種模塊類型都執(zhí)行多通道 2D 卷積運(yùn)算。A^l 和(A^l)^ 模塊使用一種操作,而 R^l 模塊實(shí)現(xiàn)的是 cLSTM,因此一共使用了四組相同的操作。如果輸出通道數(shù)為 oc,則需要 oc 多通道卷積來計(jì)算此輸出,這是卷積集的大小。cLSTM 有三個(gè)門操作和一個(gè)輸入更新操作,每個(gè)操作計(jì)算一個(gè)多通道卷積集。除了內(nèi)核中的權(quán)重值外,這些集合是相同的。R^l 模塊的輸入通道數(shù)(表示為 ic)是前饋、橫向和反饋輸入的總和。所有卷積運(yùn)算都使用平方濾波器,其內(nèi)核大小在一維上由 k=3 表示??紤]到這些因素,下面的公式給出了一組多通道卷積的參數(shù)計(jì)數(shù),稱為卷積集:

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

其中,括號(hào)中給出了多通道卷積濾波器的權(quán)重?cái)?shù)。每個(gè)過濾器都有一個(gè)偏差。對(duì)于每個(gè)輸出通道,需要一個(gè)多通道卷積。表 1 給出了圖 7 中模型的參數(shù)計(jì)算量,該模型共有 65799 個(gè)可訓(xùn)練權(quán)重。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 7. 改進(jìn)的 RBP 模型架構(gòu)

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

表 1. 圖 7 所示模型的參數(shù)計(jì)算量。如果 R^l 模型中的 LSTM 被 GRU 替換,則參數(shù)計(jì)數(shù)為 50451,而不是 65799。這是通過將每個(gè) R^l 模塊中的卷積集的數(shù)量從四個(gè)更改為三個(gè)來實(shí)現(xiàn)的

接下來,作者將圖 7 中的 RBP 模型與原始 PredNet 3 層模型進(jìn)行比較。兩個(gè)模型都使用相同的 11 個(gè)模塊。兩種模式都被限制在 R^l 模塊中使用相同的輸出通道。為了將這些模塊組合在一起,要求 Rl^ 模塊的輸入通道數(shù)不同,E^1 和 E^2 模塊以及連接它們的 A^l 和(A^l)^ 模塊的通道數(shù)也不同。由于輸入通道的數(shù)量不同,圖 8 模型有 103,020 個(gè)參數(shù)(參見表 2),而不是 65,799。圖 7 和圖 8 中連接模塊的箭頭表示信息流的方向。箭頭上的數(shù)字標(biāo)簽表示該路徑的通道數(shù)。每個(gè)模型的 R^l 模塊中的輸出通道數(shù)量是匹配的。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

圖 8. 擴(kuò)充后的三層 PredNet 模型,其中,藍(lán)色路線在 RBP 模型中不存在,但在擴(kuò)充后的模型中使用,紅色通路在 RBP 和混合模型中都是缺失的,這是原始 PredNet 模型特有的。箭頭附近的標(biāo)簽是通道數(shù)。這種結(jié)構(gòu)由表 3 中給出的 Pred1 和 Pred2 模型實(shí)現(xiàn)

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

表 2. 圖 8 中涉及的參數(shù)計(jì)算量

所有的模型都在預(yù)處理的 KITTI 交通數(shù)據(jù)集上使用 Adam 優(yōu)化器訓(xùn)練了 20 個(gè) epochs。該數(shù)據(jù)集經(jīng)過預(yù)處理,以獲得尺寸為 120 x 160 像素的三通道彩色圖像。完成這個(gè)數(shù)據(jù)集上的預(yù)測(cè)任務(wù)需要模型檢測(cè)和跟蹤視頻幀中的幾個(gè)移動(dòng)和非移動(dòng)物體。作者通過實(shí)驗(yàn)測(cè)試了三種架構(gòu)。第一個(gè)是 RBP 架構(gòu),其中 R^l 模塊是由 cLSTMs 構(gòu)建的。第二個(gè)也是 RBP 架構(gòu),其中 R^l 模塊由卷積 GRU 構(gòu)建。第三種是使用原始 PredNet 架構(gòu)進(jìn)行測(cè)試。如表 3 所示具體的模型體系結(jié)構(gòu)規(guī)范。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

表 3. 根據(jù)模型 ID 索引的模型體系結(jié)構(gòu)規(guī)范。其中,"stack sizes" 是誤差模塊的輸入通道數(shù),"R stack sizes" 是表示模塊的輸出通道的數(shù)量,"Params" 是模型中可訓(xùn)練參數(shù)的數(shù)量

作者具體完成了兩個(gè)實(shí)驗(yàn)。第一個(gè)實(shí)驗(yàn)使用的損失函數(shù)權(quán)重值為 [.5, .4, .2]。第二個(gè)實(shí)驗(yàn)使用的損失函數(shù)權(quán)重值為[1, 0, 0]。在所有的實(shí)驗(yàn)中,作者記錄了三個(gè)性能指標(biāo):平均絕對(duì)誤差(MAE)、平均平方誤差(MSE)和結(jié)構(gòu)相似度指數(shù)(SSIM)。所有指標(biāo)都是在文獻(xiàn)[3] 給出的基線控制條件下計(jì)算的,以便與神經(jīng)網(wǎng)絡(luò)性能指標(biāo)進(jìn)行比較。基線使用當(dāng)前的視頻幀作為下一幀的預(yù)測(cè)值。表 4 和表 5 分別給出兩個(gè)實(shí)驗(yàn)的結(jié)果。作者將預(yù)測(cè)誤差分?jǐn)?shù)應(yīng)與基線分?jǐn)?shù)相比較。在訓(xùn)練階段,RBP 模型對(duì)訓(xùn)練數(shù)據(jù)的平均絕對(duì)誤差(MAE)為 .0191,對(duì)驗(yàn)證誤差的平均絕對(duì)誤差為 .0245。在測(cè)試階段,MSE 下一幀的預(yù)測(cè)精度為 .0163,而使用前一幀作為預(yù)測(cè)的基線預(yù)測(cè)精度為 .0212。這些結(jié)果與 PredNet 模型非常接近。SSIM 的結(jié)果與 MAE 非常類似。這些結(jié)果表明,盡管這兩個(gè)模型的通信結(jié)構(gòu)不同,但實(shí)際上是等效的。第二個(gè)實(shí)驗(yàn)給出的結(jié)果與實(shí)驗(yàn)一有所不同。兩個(gè)模型的預(yù)測(cè)性能都有所提高。就 Lotter 等人提出的 PredNet 模型而言,這是預(yù)料之中的,因?yàn)樵摻Y(jié)果已在原始論文中報(bào)告。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

表 4. 使用 LSTM 的原始 PredNet 模型和使用 LSTM 和 GRU 的 RBP 模型的比較。兩個(gè)模型的層損失函數(shù)權(quán)重都是[.5, .4, .2]。完整的模型規(guī)格可以通過查找表 3 中的模型 ID 找到。

說到深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型,還得看PredNet

表 5. 原始 PredNet 模型和 RBP 三層模型的比較。兩個(gè)模型的損失函數(shù)權(quán)重都是[1.0, .0, .0]。關(guān)于模型的更多信息可以通過在表 3 中查詢模型 ID 找到

5、小結(jié)

我們?cè)谶@篇文章中對(duì)經(jīng)典預(yù)測(cè)編碼模型和深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼模型進(jìn)行了簡(jiǎn)單回顧。預(yù)測(cè)編碼模型使用自上而下的重構(gòu)機(jī)制來預(yù)測(cè)感覺輸入或其低級(jí)別的表征,經(jīng)典預(yù)測(cè)編碼模型遵循 RB 協(xié)議。深度學(xué)習(xí)架構(gòu)的 PredNet 構(gòu)建了一個(gè)誤差驅(qū)動(dòng)的表征層次,其中, 上層表示的輸入來自于前一層的預(yù)測(cè)誤差,但 PredNet 并不滿足 RB 協(xié)議。我們對(duì)文獻(xiàn) [1] 中提出的基于 RB 協(xié)議改進(jìn)的 PredNet 也進(jìn)行了介紹。由給出的實(shí)驗(yàn)結(jié)果分析可以,改進(jìn)后的遵循 RB 協(xié)議的 RBP 模型確實(shí)提高了性能。

從定義的角度出發(fā)分析,我們可以看出預(yù)測(cè)編碼模型的目的是 “減少預(yù)測(cè)誤差”。不過,如果只是通過減少預(yù)測(cè)誤差來生成表征,那么我們是無法保證這些獲取的表征對(duì)特定的任務(wù)是有效的,例如分類任務(wù)。正如文獻(xiàn)[1] 的作者在文章最后問到的,指導(dǎo)構(gòu)建高階表征的殘余誤差是如何提高 PredNet 模型的學(xué)習(xí)能力的?預(yù)測(cè)誤差觸發(fā)了學(xué)習(xí),但是否還需要什么來觸發(fā)特征層次的學(xué)習(xí)?

在我們撰寫這篇文章的過程中對(duì)與預(yù)測(cè)編碼相關(guān)的文獻(xiàn)進(jìn)行了搜索,與深度學(xué)習(xí)各類論文相比,預(yù)測(cè)編碼相關(guān)的研究論文數(shù)量還非常有限。正如我們?cè)谏衔闹刑岬降模軌蛘嬲饬x上稱為深度學(xué)習(xí)架構(gòu)中的預(yù)測(cè)編碼的模型目前也就只有 PredNet 以及基于 PredNet 進(jìn)行改進(jìn)的一些版本。筆者猜測(cè),這可能與預(yù)測(cè)編碼 “僅致力于減少預(yù)測(cè)誤差” 有關(guān),在一些專門的任務(wù)中表現(xiàn)可能并不亮眼。但是,這種高度模擬大腦工作機(jī)制的方法 / 模型能否在實(shí)際場(chǎng)景中獲得較好的應(yīng)用效果,有待后續(xù)深入的研究和探索。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2022-07-15 16:14:39

深度學(xué)習(xí)時(shí)間序列理論

2023-01-30 17:10:23

DeepTime元學(xué)習(xí)

2018-03-20 15:33:05

深度學(xué)習(xí)加密貨幣

2021-05-06 09:05:11

深度學(xué)習(xí)

2022-03-30 07:32:10

JDK8異步編程

2019-08-08 08:00:00

深度學(xué)習(xí)機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2021-11-24 17:48:30

深度學(xué)習(xí)風(fēng)險(xiǎn)預(yù)測(cè)

2025-02-17 13:09:59

深度學(xué)習(xí)模型壓縮量化

2024-07-19 08:00:00

深度學(xué)習(xí)知識(shí)蒸餾

2017-12-26 10:48:37

深度學(xué)習(xí)原始數(shù)據(jù)

2022-03-17 17:55:08

深度學(xué)習(xí)人工智能Nature

2020-02-10 17:55:32

疫情模型靠譜

2023-02-13 08:00:00

深度學(xué)習(xí)數(shù)據(jù)算法

2023-08-23 12:38:10

2020-04-10 15:05:09

深度學(xué)習(xí)人工智能蒸餾

2021-03-29 09:02:24

深度學(xué)習(xí)預(yù)測(cè)間隔

2023-02-24 15:57:02

魅族FlymeAuto

2023-11-20 09:53:13

自動(dòng)駕駛系統(tǒng)

2017-02-05 21:02:44

大數(shù)據(jù)深度學(xué)習(xí)推薦系統(tǒng)

2023-11-19 23:36:50

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)