成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

說到深度學習架構中的預測編碼模型,還得看PredNet

新聞 深度學習
本文中,作者對經典預測編碼模型和深度學習架構中的預測編碼模型進行了簡單回顧,其中重點介紹了用于視頻預測和無監督學習的深度預測編碼網絡 PredNet 以及基于 PredNet 進行改進的一些版本。

 [[434722]]

 0、 引言

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

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

預測編碼可以看作是一種表征學習(representation learning)。支持貝葉斯預測編碼的學習機制能夠改進所獲取的內部表征的質量,這可以看做是減少未來預測誤差的一種副作用。預測 / 重構能力確保獲得的表征能夠完全代表輸入中所包含的信息。由于整個學習過程是由預測誤差所驅動的,所以是一種無監督學習,只需要預測的數據流的信息。

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

到目前為止,在深度學習架構中構建大型的預測編碼模型的示例非常少見,最著名的為文獻 [3] 中提出的 PredNet 模型,我們會在文章中對其進行介紹。大多數預測編碼模型都是在深度學習框架出現之前實現的,所以這些經典的模型規模都很小,而且都沒有專門的時間處理模塊。

1、 預測編碼的基本知識

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

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

預測編碼的一個早期應用是創建視網膜的模型,這些模型具有較低的信息傳輸要求,因為視神經是向大腦傳輸視覺信息的瓶頸。連續的視覺輸入具有高冗余度。如果視網膜上的細胞從空間上和時間上計算出傳入光線的移動平均值,就可以得到對當前輸入的預測。通過將實際輸入與預測進行比較,視網膜可以將預測誤差發送到后來的處理區域,從而減少傳輸帶寬。如果脊椎動物的視網膜從頭開始創建當前輸入圖像的表征,信息傳輸的要求將取決于建立當前環境的完整表征所需的帶寬。然而,大腦通常可以利用其對過去環境的現有表征以及關于環境如何變化的約束條件,對環境的當前狀態做出非常好的預測。與從頭開始建立當前環境狀態的表征相比,預測誤差只需要較少的帶寬來表示。如果大腦已經有了一個相當準確的默認預測,那么用預測誤差來更新默認預測就可以創造一個最新的、信息傳輸需求較低的表征。此外,預測誤差可以提供很好的信息來指導學習,以改善表征并減少未來的預測誤差。

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

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

2、 預測編碼學習層次化的背景知識[1][5]

本節我們首先了解一下經典的預測編碼方法是如何學習層次化的背景知識的。如上一節中分析,人類的大腦通常可以利用其對過去環境的現有表征以及關于環境如何變化的約束條件,對環境的當前狀態做出非常好的預測。而預測編碼模型則是通過生成方式來預測感覺輸入。一般的,這種生成方式構建為一個層次化的結構:上層預測下層的輸出(即上層的輸入),任何預測誤差都提供信息來指導上層的學習。預測編碼模型通過減少各層的預測誤差來構建層次化的表征,即表征層次結構(Representation hierarchies),具體包括兩類方法:第一類方法是構建越來越抽象的特征層次,通過在層次結構的后期使用更大的輸入上下文信息(input context)來實現,類似于卷積網絡。第二類方法是像在泰勒級數展開中一樣學習高階誤差的層次結構。我們在這一章節具體介紹一種第一類方法,即 Rao/Ballard 模型。

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

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

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 1:(a)預測 PE 的 Rao/Ballard 圖。虛線框中包含的預測元素是預測編碼層次結構的構建塊。圍繞減號的圓表示計算預測誤差的誤差單位向量;(b) 使 Rao-Ballard 協議更加清晰的數據流圖。e^l 明確預測誤差和水平。圓箭頭表示減法。與預測元素關聯的四個連接已標記

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 2. PE 預測單元。e 表示殘差單元,r 表示表征單元,I 表示輸入。黑色的小圓圈代表神經元。以實心圓結尾的紅色箭頭表示減法反饋抑制。紅色箭頭表示 P 連接,藍色箭頭表示 PE 連接,黑色箭頭表示 LT 連接

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

說到深度學習架構中的預測編碼模型,還得看PredNet

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

說到深度學習架構中的預測編碼模型,還得看PredNet

考慮到僅針對單層網絡,為了便于閱讀,作者在公式中省略了層上標。在文獻 [5] 中報告的成本函數包含了先驗知識,但公式 (2) 的成本函數并未考慮先驗知識。為了準備梯度下降,我們得到了 J 對 r 的導數。

說到深度學習架構中的預測編碼模型,還得看PredNet

對于梯度下降,我們以一定的速率沿導數的相反方向移動:

說到深度學習架構中的預測編碼模型,還得看PredNet

通過取 W^T 對 J 的導數,可得到如下所示的學習方程:

說到深度學習架構中的預測編碼模型,還得看PredNet

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

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 3. 擴展后的文獻 [5] 中模型的全局結構,顯示了層次結構和相鄰上下文。圖 2 中的網絡位于虛線框內

3、 PredNet: 用于視頻預測和無監督學習的深度預測編碼網絡[3]

3.1 PredNet 介紹

文獻 [4] 首次提出了深度預測編碼網絡(deep predictive coding networks)的概念,而文獻 [3] 中提出的模型 PredNet,可能是使用深度學習(DL)框架實現的最早的預測編碼模型。與上文描述的直接使用數學公式的方法相比,使用 DL 框架實現預測編碼模型具有許多潛在優勢。

  • 首先,DL 框架非常成熟、通用且高效。因此,他們應該更容易建立和研究預測編碼模型,唯一的復雜性是他們處理跨層反饋連接的能力。
  • 其次,使用 DL 框架的模型可以擴展到具有超過十萬個參數的非常大的體系結構。這不是使用傳統的預測編碼能夠實現的。
  • 第三,深度學習體系結構允許使用大型學習模塊(如 LSTM),可以處理更寬松的統計假設,從而在更一般的情況下運行。

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

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 4. PredNet 架構。左圖:兩層內信息流的圖示。每一層由表示神經元(R_l)組成,表示神經元(R_l)在每個時間步((a_l)^)輸出特定于層的預測,并與目標(A_l)進行比較以產生誤差項(E_l),然后誤差項(E_l)在網絡中橫向和垂直傳播

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

說到深度學習架構中的預測編碼模型,還得看PredNet

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

說到深度學習架構中的預測編碼模型,還得看PredNet

對模型進行訓練以使誤差單元活動的加權和最小。訓練損失為:

說到深度學習架構中的預測編碼模型,還得看PredNet

對于由減法和 ReLU 激活組成的誤差單元,每層的損失相當于 L1 誤差。雖然本文沒有針對此問題進行探討,但作者表示也可以使用其他誤差單元實現,甚至可能是概率的或對抗性的。完整的流程如下:

說到深度學習架構中的預測編碼模型,還得看PredNet

狀態更新通過兩個過程進行:一個自上而下的過程,其中計算(R_l)^t 狀態,然后一個向前的過程,以計算預測、誤差和更高級別的目標。最后一個值得注意的細節是 R_l 和 E_l 被初始化為零,這是由于網絡的卷積性質,意味著初始預測在空間上是一致的。

3.2 PredNet 的預測編碼分析

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

說到深度學習架構中的預測編碼模型,還得看PredNet

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

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

下圖6為PredNet 的兩個視圖。

說到深度學習架構中的預測編碼模型,還得看PredNet

(a)

說到深度學習架構中的預測編碼模型,還得看PredNet

(b)

圖6.PredNet的兩個視圖。(a) 簡單的文字表述。(b) 重構圖

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

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

4、利用 RB 協議對 PredNet 改進的思考

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

說到深度學習架構中的預測編碼模型,還得看PredNet

其中,括號中給出了多通道卷積濾波器的權重數。每個過濾器都有一個偏差。對于每個輸出通道,需要一個多通道卷積。表 1 給出了圖 7 中模型的參數計算量,該模型共有 65799 個可訓練權重。

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 7. 改進的 RBP 模型架構

說到深度學習架構中的預測編碼模型,還得看PredNet

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

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

說到深度學習架構中的預測編碼模型,還得看PredNet

圖 8. 擴充后的三層 PredNet 模型,其中,藍色路線在 RBP 模型中不存在,但在擴充后的模型中使用,紅色通路在 RBP 和混合模型中都是缺失的,這是原始 PredNet 模型特有的。箭頭附近的標簽是通道數。這種結構由表 3 中給出的 Pred1 和 Pred2 模型實現

說到深度學習架構中的預測編碼模型,還得看PredNet

表 2. 圖 8 中涉及的參數計算量

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

說到深度學習架構中的預測編碼模型,還得看PredNet

表 3. 根據模型 ID 索引的模型體系結構規范。其中,"stack sizes" 是誤差模塊的輸入通道數,"R stack sizes" 是表示模塊的輸出通道的數量,"Params" 是模型中可訓練參數的數量

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

說到深度學習架構中的預測編碼模型,還得看PredNet

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

說到深度學習架構中的預測編碼模型,還得看PredNet

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

5、小結

我們在這篇文章中對經典預測編碼模型和深度學習架構中的預測編碼模型進行了簡單回顧。預測編碼模型使用自上而下的重構機制來預測感覺輸入或其低級別的表征,經典預測編碼模型遵循 RB 協議。深度學習架構的 PredNet 構建了一個誤差驅動的表征層次,其中, 上層表示的輸入來自于前一層的預測誤差,但 PredNet 并不滿足 RB 協議。我們對文獻 [1] 中提出的基于 RB 協議改進的 PredNet 也進行了介紹。由給出的實驗結果分析可以,改進后的遵循 RB 協議的 RBP 模型確實提高了性能。

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

在我們撰寫這篇文章的過程中對與預測編碼相關的文獻進行了搜索,與深度學習各類論文相比,預測編碼相關的研究論文數量還非常有限。正如我們在上文中提到的,能夠真正意義上稱為深度學習架構中的預測編碼的模型目前也就只有 PredNet 以及基于 PredNet 進行改進的一些版本。筆者猜測,這可能與預測編碼 “僅致力于減少預測誤差” 有關,在一些專門的任務中表現可能并不亮眼。但是,這種高度模擬大腦工作機制的方法 / 模型能否在實際場景中獲得較好的應用效果,有待后續深入的研究和探索。

 

責任編輯:張燕妮 來源: 機器之心Pro
相關推薦

2022-07-15 16:14:39

深度學習時間序列理論

2023-01-30 17:10:23

DeepTime元學習

2018-03-20 15:33:05

深度學習加密貨幣

2021-05-06 09:05:11

深度學習

2022-03-30 07:32:10

JDK8異步編程

2021-11-24 17:48:30

深度學習風險預測

2019-08-08 08:00:00

深度學習機器學習神經網絡

2025-02-17 13:09:59

深度學習模型壓縮量化

2024-07-19 08:00:00

深度學習知識蒸餾

2022-03-17 17:55:08

深度學習人工智能Nature

2017-12-26 10:48:37

深度學習原始數據

2020-02-10 17:55:32

疫情模型靠譜

2023-02-13 08:00:00

深度學習數據算法

2021-03-29 09:02:24

深度學習預測間隔

2023-08-23 12:38:10

2020-04-10 15:05:09

深度學習人工智能蒸餾

2023-02-24 15:57:02

魅族FlymeAuto

2023-11-20 09:53:13

自動駕駛系統

2023-11-19 23:36:50

2017-02-05 21:02:44

大數據深度學習推薦系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产 | 蜜桃视频在线观看免费视频网站www | 国产成人jvid在线播放 | 中国大陆高清aⅴ毛片 | 久久精品国产亚洲一区二区三区 | 欧美一区2区三区4区公司 | 日本手机在线 | 一区二区三区精品 | 97精品超碰一区二区三区 | 国产免费自拍 | 国产乱码精品一区二区三区忘忧草 | 国产伦精品一区二区三区精品视频 | 国产福利在线 | 亚洲一区二区免费 | 国产福利久久 | 九七午夜剧场福利写真 | 91久久婷婷| 免费av直接看 | 欧美精品一区二区免费 | 天堂亚洲网 | 欧美亚洲国产日韩 | 翔田千里一区二区 | 国产一二区视频 | 国产日韩欧美精品一区二区三区 | 成人日b视频 | 久久中文字幕电影 | 很黄很污的网站 | 久久亚洲一区二区三区四区 | www国产精 | 国产色婷婷精品综合在线手机播放 | 亚洲一区久久久 | 欧美日韩高清一区 | 不卡一区二区在线观看 | 国产精品久久久久久久久久久久 | 成年人在线视频 | 日本成人免费网站 | 成人午夜免费网站 | 欧美一级片在线播放 | 日韩亚洲一区二区 | 亚洲精品自拍视频 | 日一区二区 |