結構遞迴神經網路: 時空領域影象中的深度學習--CVPR2016最佳論文詳解
聯合編譯:陳圳、章敏、Blake
摘要
雖然相當適合用來進行序列建模,但深度遞迴神經網路體系結構缺乏直觀的高階時空架構。計算機視覺領域的許多問題都固有存在高階架構,所以我們思考從這方面進行提高。在解決現實世界中的高階直覺計算方面,時空領域影象是一個相當流行的工具。在本文中,我們提出了一種結合高階時空影象和遞迴神經網路的方法。我們開發了一種可隨意擴充套件時空影象的辦法,這是一種正反饋、差異化高、可同步訓練的RNN混合網路。這種方法是通用的,通過一系列設定好的步驟可以將任意時空影象進行轉化。這種估值計算能解決一系列不同的問題,從人類運動建模到物體迭代,比目前最佳的解決方案還要好一大截。我們希望這種通過高階時空影象和遞迴神經網路的方法能夠提供新的解決方案。
1.引言
我們生活的世界本質上是結構化的。它包括與在空間和時間上彼此相互作用的組分,形成了一個時空結合物。在這類問題上使用這種結構可以將高階資訊注入學習框架。這一直是計算機視覺和機器學習努力的原因,比如邏輯網、圖片模型和結構化SVMs。這跨越了空間和時間(時空)的結構,在計算機視覺和機器人技術社群相當流行。首先,在現實世界中的人類和環境之間的相互作用是固有時空性的。例如,在烹飪的時候人類既和空間,又和時間中多個物件進行互動。同樣,人的身體(胳膊,腿等)有單獨的功能,但在實際行動中又互相合作。因此,對許多應用來說高階的時空結構和豐富的序列建模能力協同作用是相當重要的。
RNNs的顯著的成功已經證明它們能應用到對許多端對端學習任務。雖然它們已被證明能夠對長序列成功建模,但它們缺乏高階的和直觀的時空結構。時空圖(ST-圖)是一種流行的用來表示這種高階的時空結構的通用工具。圖的節點通常代表該問題的元件,並且邊緣捕捉他們時空相互作用。為了實現上述目標,我們開發用於轉化任意ST-圖形成RNNs的前饋混合物,命名結構-RNN(S-RNN)的通用工具,見圖1所示。
圖1
在高階步驟中,給定一個任意的ST-圖,我們先推出它的時間分解成一組因素元件。因素共同確定一個決定,並從ST-圖形的兩邊緣和節點所來源的獨立元件。我們然後語義組因子部件和表示使用一個RNN,這導致所需RNN混合物。這種轉變問題的主要挑戰是:1)使RNN混合儘可能豐富,學習複雜的功能,2)相對於輸入ST-圖的大小保持RNN混合可擴充套件,為了使所得RNN混合物豐富,我們代表每個時空因子(包括節點的因素,邊的因素,和時空邊緣因子)利用每一個RNN。在另一方面,為了保持整體的混合物可擴充套件,但不能失去必要的學習能力,我們利用“因素共享”,並允許類似語義的功能要素共享一個RNN。這導致RNNs的前饋混合物豐富且可擴充套件,它等效於在輸入、輸出和時空關係方面所提供的ST-曲線圖。該混合物也完全差異化的,可以共同作為一個實體和擴充套件的構築。
該方法是原則性通用的,它是適用於可以配製為ST-圖。以前幾個工作已經試圖解決在使用RNNs的集合,但是它們幾乎一致沒有任務特定的具體問題。為了分解或要素共享機制,也沒有利用在制定他們的架構,以確保豐富性和可擴充套件性相似。
S-RNN也是模型化的,它的根本也是一個高階架構。
本文的主要貢獻在於:
l 提出一個通用處理辦法,對於時空圖設計了豐富、可拓展、可同步訓練的RNN混合網路。
l S-RNN比未架構RNN的表現要顯著提高。
l 為了和RNN進行比較,針對幾個時空影象問題對S-RNN的表現與無深度構架網路進行對比,S-RNN表現優異。
2. 相關工作
我們對相關內容進行分類概述。大體來說,我們的工作與現有的科技有三個主要區別:第一是我們是通用不限制與某個特定問題的,第二是提供了一個為了豐富RNN轉移的一個方法。
時空問題
在機器人和計算機視覺領域,需要時間和空間推理來解決的問題非常普遍。包括人類互動視訊,模擬人類運動等。事實上,大多數我們的日常活動在本質上是時空之間。隨著豐富的互動和機器人技術不斷增長,這種形式的推理將變得更加重要。我們評估三個時空問題,:(一)人體運動模擬(二)人體物件互動理解(三)驅動預期。
深度構架混合
以前的工作大多基於建立多個網路和以捕捉,如活動檢測,場景標籤,影象字幕和目標檢測等。然而,這樣的架構大多是設計來處理具體問題,雖然他們展示採用模型深度架構也十分受益。在另一方面,遞迴神經網路是通用的前饋結構。我們的工作是為時空圖問題提供補救措施。
深度影象模型學習
針對架構預測任務,許多工作都將影象模型新增到深度網路中。Bengio等人將CNNs和HMM結合起來用來進行手寫識別。Tomposon等人主要將CNN和MRF用來人類姿勢預估。Chen等人使用和MRF差不多的相似影象分類。
圖2:人類活動的時空影象。(a)時空影象記錄人與物體之間的互動。(b)通過邊緣展開時空影象,節點和邊緣都由與其相關的特徵向量進行標註。(c)時空圖的因子圖引數化。
最近的一些研究通過完全連線的CRF模式解決了端對端影象分割。一些研究則使用兩步走的方法及在CRF中減弱深度網路。這些方法曾用於解決多種問題如影象分割,姿勢評價及檔案分析。所有的研究都提倡也展示了在有深層結構中探索有問題的結構。但是,他們不解決時空問題,並且認為結構問題是有具體任務指向的。
條件隨機場模式(CRF)通過學習共同的分佈,其附屬領域位於輸入之間。他們被運用於許多應用程式,包括通常被作為用於時空CRF模式的時空影象。在我們的方法中,我們採用時空影象作為一般影象的表示方法,並使用RNN複合結構進行具像化。與CRF不同的是,我們的方法是有概率性的,並且也不會在輸出之間的共同分佈進行建模。S-RNN通過RNNs在輸出之間的結構分享學習輸出之間的相關性。
3.S-RNN結構
在本段,我們會描述建立S-RNN(Structual RNN)的方法。我們首先以時間空間影象開始,然後用RNN代表每一個因子。RNN模式是通過能捕捉時間空間影象構造和相互聯絡的結構聯絡起來的。
3.1 時間空間影象的表現。
許多運用程式要求時空影象推理過程是使用時空影象建模的。圖2a展示了在活動中人與物之間相互聯絡的時空圖片。圖2b展示的是按照時間順序展開的時空影象。在人與物的互動中,節點的特徵能通過物體和人的姿勢進行表示,邊緣能確定他們的方向。節點標籤表示人的活動以及功能可見性。標籤yvt 會受到節點及節點之間的互動影響,從而導致系統混亂。此類互動會引數化成因子圖,進而能把時空圖的複雜函式引數化成簡單的函式。我們能從時空圖的因子圖表示中得出S-RNN模式。圖2c展示的是圖2a相對應的因子圖。
分享節點之間的因子
在時空圖中的每一個因子都有引數,且需要我們瞭解。不是通過學習每一個節點的特徵,語義上相似的節點能隨意地分享因子。例如所有在時空圖中的“物體節點”{v, w}都能分享共同的節點因子和引數。這一建模選擇能加強相似節點之間的分享。同時也能在不增加引數的情況下,進一步加強通過節點處理時空圖片的靈活性。
根據語義分割節點會導致自然語義的邊緣分割。在所有“人與物的邊緣”{(v, w),(v, w)}是通過相同的邊緣因子建模的。基於語義的分享因子能讓引數化更緊密。實際上,分享引數對於解決節點是基於實際情況的應用十分關鍵。例如,在所有的人與物之間的互動中物體節點的數量會隨著環境的變化而發生改變。因此在沒有節點之間的引數情況下,模式不能適應有更多物體的環境。對於建模的靈活性,邊緣因子不會跨邊緣分享。
我們將節點因子和邊緣因子定義為鄰居,因為它們能共同影響時空影象中的節點標籤。我們將會在構建S-RNN中使用這一定義,因為它能在時空影象中捕捉相互互動。
圖3.S-RNN的時空圖片。(a)圖2的時空圖用彩色重新進行了繪製,暗示節點因子和邊緣因子之間的分享。相同顏色之間的節點因子和邊緣因子會進行分享。所有的因子一共有6種,2種節點因子和4種邊緣因子。(b)S-RNN結構中的每一個因子都有一個RNN。節點RNNs和邊緣RNNs 會連線起來形成一個雙向圖。
3.2 來自時空圖片的S-RNN
我們從時空圖的因子圖片中能得出S-RNN結構。時空圖中的因子會按照時間順序執行,且每一步因子都會觀察(節點和邊緣)的特徵,並且會在這些特徵上進行運算。在S-RNN中,我們會用一個RNN代表一個因子。我們會把從節點因子得到的RNNs指代為nodeRNNs,把從邊緣因子中得出的RNNs指代為edgeRNNs。由時空圖表示的相互互動是通過nodeRNNs和edgeRNNs之間的聯絡進行記錄的。
在演算法1中,我們能看到建立S-RNN的方法。圖3b展示了用於表示人類活動的S-RNN通過圖3b再一次進行展示。節點S-RNN聯合邊緣S-RNN的輸出,而這些輸出是用於預測節點標籤的。節點RNNs的預測能通過邊緣RNNs相互發生作用。每一個邊緣RNN能處理在時空圖中有聯絡的節點之間的一個特殊語義關係。
3.3 訓練S-RNN模式
為訓練S-RNN模式,每一個時空圖節點的特徵都與節點連線起來進入S-RNN結構中。在訓練時,在預測中的錯誤能通過向前傳播的節點RNN和邊緣RNN進行反向傳播。在此方法中,為預測節點標籤,S-RNN會對節點和邊緣的特徵進行非線性連線。
圖4:向前傳播的人類節點v展示了與圖3相對應的結構分佈。
圖3展示的是通過S-RNN向前傳播的人類節點。圖4展示的是相同向前傳播的結構細節。特徵的集合與連線相反,對於解決有易變但卻有固定結構的物體節點十分重要。因為物體節點計算會隨著環境變化而發生變化,所以用固定長度的向量特徵表示可變環境極具挑戰性。依經驗來看,增加特徵比合並均值更有用。我們推測增加部分會維持目標計算和時空影象特徵,而合併均值會平衡邊緣數。
引數共享及構建的特徵空間。S-RNN模式的一個重要方面是跨越節點標籤的引數分享。當RNN在向前傳播時,節點標籤之間的會進行引數分享。
圖5。不同的時空人物。我們使用S-RNN去跟蹤3種不同的時空問題。
4.實驗
為保證S-RNN的通用性,我們展示了三個不同的時空問題,如圖5所示。這一運用包括:(i)基於活動資料對人類活動進行建模;(ii)人類活動的探測和預測;(iii)基於現實世界資料進行預期假設。
4.1 對人類活動進行建模和預測
人類的身體是分開但卻聯絡緊密部分的典型代表。人類活動包括不同部分(如胳膊,腿,脊椎)之間複雜的時空作用,而這會導致可見的移動,如走路,吃飯等。在此實驗中,我們用複雜的時空圖片代表人的活動,並試著用S-RNN進行建模。從活動中收集資料再進行活動預測這一方面,我們建模方法超過其他未進行建模的深層結構。此外一些方法曾基於高斯法,玻爾茲曼法(RNMs)和RNN對人類活動進行過探索。最近,Fragkiadaki等其他人提議進行編碼—RNN—解碼方法進行探索,因為此方法曾取得較好的預測資料。
用於人類活動的S-RNN結構
S-RNN結構是按照圖5的時空圖流程執行的,見圖5a。據圖可是,脊椎是身體所有部分的相互作用,胳膊和腿相互作用。時空圖會自動轉化為S-RNN結構,見3.2部分。S-RNN對身體的每一個部分(胳膊,腿,脊椎)標上3個節點RNN,對於時空圖之間的相互作用建模會標上4個邊緣節點,而他們之間的時空聯絡會標上3個邊緣RNN。對於邊緣RNN和節點RNN我們分別使用FC(256)-FC(256)-LSTM(512)和LSTM(512)-FC(256)-FC(100)-FC(·)結構,並且跳過了輸入和輸出之間的關係。節點RNN是不同身體部分的框架連線。為在訓練時在動作捕捉時增加噪音。而這會刺激課程學習並能幫助預測動作與人類動作相符。
圖6:預測測試物件的飲食活動。在非週期性行為中,ERD和LSTM-3LR努力的模仿人類行為。S-RNN,另一方面,在短期內模擬地面實況,並且長期產生類似人類的行為 。在沒有(w/o)edgeRNNs情況下,行為在一些預定站著的位置上凍結了。見視訊。
我們聯合訓練RNNs,以便最小化預測捕獲幀和地面實況之間的歐幾里得幾何學的損耗。訓練的細節見專案網頁補充材料。
評估體系
我們在H3.6m動作捕捉資料集中將S-RNN和最先進的ERD結構進行了對比。同時也與3層LSTM架構進行了比較(LSTM-3LR),這被用來作基線。為了預測運動,我們遵循[ 14 ]中的實驗設定。兩次向下取樣H3.6,並且在專案6中訓練,在專案S5中測試。為了預測,我們首先將初始捕獲幀注入結構中,然後預測未來的幀。緊接著,我們考慮了行走,飲食,和抽菸行為。除了這三個,還考慮了討論行為。
預測人類非週期性的行為是非常具有挑戰性的任務
在H3.6資料集中,飲食、吸菸和討論作為的重要組成部分是非週期性的,而行走行為大部分是週期性的。我們在三個方面表明了擁有一個基礎結構的好處:(i)對於複雜的非週期性運動,我們提出了視覺化和定量化的結果。(ii)我們預測人類行為的時間比最高的水準還要長兩倍。對於非週期性活動,這非常具有挑戰性的;(iii)我們展現了S-RNN非常有趣的學習語義概念,並且通過混合人體行為展示其模組性。非結構化的深層結構,如[ 14 ]不具備這樣的模組化。
表1運動預測角度誤差。初始運動1毫秒後。平均結果超過了8個測試專案上,每個活動的初始運動序列。
運動預測的定性結果
圖6顯示了預測1000ms內人類“飲食”的行為——散步時喝飲料的專案。S-RNN短期內保持近似地面實況,並長期產生類似人類行為。移除edgernns,人體身體部分變得獨立,並通過引數停止相互作用。因此,沒有edgRNN的骨架,在一些預定的位置會凍結。LSTM-3LR面臨漂移問題。在很多測試例項中它漂移到了人類行走的平均位置。ERD產生的行為在短時間內保持類似於人類,但在長時間時,它漂移到不像人類的行為。與S-RNN不同,在複雜的非週期性活動中,這是ERD常見的結果。此外,在許多測試例項中ERD產生的人類行為並不流暢。更多例項見專案網頁。
定量評價
我們遵循Fragkiadaki等人的評價指標,並在表1的預測捕獲幀和地面實況之間提出了3D角度誤差。ERD模擬人類運動在質量方面比LSTM-3LR要好。然而在短期內,它模仿地面的實況沒有LSTM-3LR效果好。Fragkiadaki 等人同樣注意到了ERD和LSTM-3LR之間的權衡。另一方面,S-RNN在短期內預測行為的效果比LSTM-3LR和ERD都要好。所以S-RNN在短時間內模擬地面實況,並在長時間內產生人類的行為。以這種方式,它能夠很好地處理短期和長期預測。由於人體行為的隨機性、根據地面實況的長期預測(>500ms)會變得顯著不同,但它仍然可以描繪人類的行為。鑑於這個原因,表1中的長期預測資料並不能有效的代表演算法的建模能力。同時,我們也觀察到討論對於演算法來說是最具挑戰性的非週期運動。
圖7S-RNN記憶細胞視覺化。當腿向前運動時,(左)腿部nodeRNN的一個細胞激勵。(右)將手靠近臉時,手臂nodeRNN的一個細胞激勵。我們在飲食和抽菸活動中假設了相同的細胞(見視訊)。
使用者研究
我們要求使用者動的速率運在1至3李克特量表之間。據使用者研究,S-RNN表現的最好。結果見補充材料。
總結
非結構化方法如LSTM-3LR和ERD,努力在複雜的行為方面,模擬更長時間的人類運動。S-RNN的良好效能,歸功於它的結構是通過底層st-圖模擬人類的行為。S-RNN用nodeRNN分別模擬身體的每一個部分,並且用edgeRNNs捕獲它們之間的相互運動,以便產生相干運動。
4.2.深入RNN結構
我們現在展示幾個S-RNN結構的內部檢視,並演示結構的模組化,確保它能夠產生混合的人體運動。
記憶細胞的視覺化 。我們研究了S-RNN記憶細胞是否能夠代表有意義的語義替代運動。有人在更早的問題中研究了語義細胞。圖7中展示了,腿部nodeRNN的一個細胞學習向前移動的語義行為。腿向前移動時細胞積極的激勵(紅色)和向後運動時消極的激勵(藍色)。當主體先前運動時,細胞選擇左腿和右腿的激勵。右腿更長時間的運動,對應了右腿需要更長執行的步驟。同樣的,圖7中展示了,手臂nodeRNN的一個細胞學習把手靠近臉概念的過程。主體在飲食或者抽菸時將手靠近臉細胞激勵是一樣的。只要手緊貼臉部,細胞就保持活躍。見視訊。
生成混合人體運動
我們通過生成新的尚未有意義,而且不在資料集中的行為。展示模組化架構的靈活性,這種模組化是有趣的,而且它已被探討用於產生不同的行為風格。由於存在一個潛在的高層結構,我們的方法允許在RNNs和S-RNN之間,交換不同運動風格的訓練結構。利用該優勢,我們建立了一個新的S-RNN結構,它產生了人類用單腳先前跳躍的混合行為,如圖8所示。為了該試驗,我們使用了不同的nodeRNNS模擬左腿和右腿。我們訓練了兩個獨立的S-RNN模型–一個更慢的和一個更快的模型(通過向下取樣資料)–然後換左腿nodeRNN訓練模型。由此產生一個有著更慢的左腿卻更快的人,用左腳向前跳躍,以便跟上比它快兩倍的右腿。非結構化的結構如ERD,不具備這種靈活性。
圖8(右)用迭代次數檢查了測試和訓練誤差。S-RNN和ERD都收斂到了相似的訓練誤差,然而,S-RNN推廣的更好,因為進行下一步預測時它有著更小的測試誤差。補充中進行了討論。
圖8(左)生成混合行為(見視訊)我們通過“人單腳向前跳躍”的混合行為,展示了S-RNN的靈活性。(右)訓練和測試誤差。由於有著更小的測試誤差,S-RNN比ERD推廣的更好。
4.3 人類活動檢測與預測
在該部分提出了S-RNN用於模擬人類行為。我們考慮了CAD-120資料集,它涉及豐富的人類物件相互作用活動。每個活動包括一系列的子活動(如運動、飲酒等)和物件功能可視性(例如,可觸性,飲用性等),它能隨著活動程序而演變。檢測和預測的子活動及功能可見性確保了私人機器人去幫助人類。然而,這問題是具有挑戰性的,因為它涉及複雜的相互作用——在活動過程中人類與多個物件相互影響,物件之間也相互作用(例如,將水從“玻璃”倒進一個“容器”),這使得它非常適合來評估我們的方法。Koppula等人用ST圖表示了這種豐富的時空相互作用,如圖5b所示的,並且用時空CRF模擬它。在實驗中,我們展示了用S-RNN收益量模擬相同的st圖會產生卓越的結果。其中,我們使用了[29]中的節點和邊緣功能。
圖3b顯示了我們的S-RNN結構模擬st圖。由於物件的數目隨環境變化,物件節點和人類的物體邊緣之間的因子共享變得至關重要。在S-RNN中,Rv2和RE1分別處理所有的物件節點和人類對像邊緣。這使得固定S-RNN架構可以處理不同大小的ST圖。對於edgeRNNs,我們使用了一個大小為128的單獨層LSTM。每一步,人類nodeRNN都會輸出子活動標籤(10級),並且專案nodeRNN會輸出功能的可見性(12級)。觀察ST圖至時間t,我們的目標是檢測在目前時間t的子活動和可見性功能標籤。並預測他們在時間步長為T + 1的標籤。為了檢測,我們在當前時間步長的標籤訓練S-RNN。給定觀測點為當前時間,為了預測,我們訓練結構預測下一步的標籤 。我們還培養了多工版本的S-RNN,在每個nodeRNN中加入了兩個softmax層,並且聯合訓練以便預測和檢測。
表2:真實世界中1100英里預測的移動資料。S-RNN來自圖5c中顯示的ST圖。Jain等人使用了相同的st圖,但他們是在AIO-HMM的概率框架中進行模擬。這個表格顯示了平均精度,召回和時間-動作。時間-動作區間在演算法預測時間和行動開始時間之間。演算法的特徵比較來自於[22].
表3。CAD-120的結果。S-RNN結構來自圖5b的st圖,它優於Koppula等人的結構,在概率框架中模擬了相同的st圖。S-RNN在多工設定(聯合檢測和預期)中進一步提高了效能。
圖9:CAD-120中飲食活動的定性結果。顯示了多工S-RNN的檢測和預期結果。為了使子活動在時間t,標籤的預測是在時間t- 1。(放大以便看清影象)
表3顯示檢測和預期的F1平均分數超過了所有的級。S-RNN在預測和檢測兩方面顯著的提高超越了Koppula等人。在預測物件可見性功能方面S-RNN的F1分數比[31]多44%,在檢測方面多7%。S-RNN沒有任何像時空CRF的馬爾科夫假設,因此,它能更好的模擬預測所需的長期依賴。該表還展示了edGERNNs在處理時空元件方面的重要性。EdgeRNN在人和物體之間傳輸資訊,這有助於預測物件標籤。因此,沒有edgeRNNs的S-RNN很難模擬物體。這意味著edgeRNNs的重要性,同時也驗證了我們的設計。最後,在大多數案例中,以多工的方式訓練S-RNN,效果是最好的。圖9中我們展示了飲食活動的視覺化。我們從在每個子活動和相對應的預測中展示了一個代表性的幀。
S-RNN的複雜性
在複雜性方面,我們討論了兩點作為基礎st圖的函式:(i)混合中RNNs的數量。(ii)向前-通過的複雜性。RNNs的數量取決於st圖中相似的語義點數量。S-RNN的整體結構是緊湊的,因為edgeRNNs和nodeRNNs是共享的,而且在內容豐富的應用中,語義的種類通常很少。此外,由於因素共享,如果在st圖中加入了更多相似的語義點,RNNs的數量並不會增加。向前-通過的複雜性取決於RNNs的數量。由於向前-通過貫穿了整個edgeRNNs,並且nodeRNNS能夠平行發生,實踐中的複雜度僅僅取決於兩個神經網路的級聯(nodeRNN緊隨edgeRNN)。
4.4司機行動預測
我們最後提出了S-RNN的另一個應用,它涉及在行為發生之前,預測幾秒鐘後的行動。Jain等人用圖5c中的st圖代表了該問題。他們將st圖模擬成一個概率貝葉斯網路(AIO-HMM [ 22 ])。St圖代表了車外的觀察資料(例如路的特徵),司機的行動,和車內的觀察資料(例如司機的面部特徵)之間的相互作用。我們使用了從Jain等人獲得的點和邊緣特徵,模擬相同S-RNN結構的st圖。表2顯示了該任務中不同演算法的效能。在每任何設定下,S-RNN的效能都好於最先進的AIO-HMM。討論和細節見補充材料。
5.總結
本文提出了一個通用的原則性方法,用來結合高層次時空圖和序列成功建模RNNs。我們利用因子圖,和因子共享以獲得一個RNN混合物。它是可擴充套件的,並且適用於任何st圖問題的表達。我們的RNN混合在底層的st圖中,捕獲了豐富的相互作用。而且在三個不同的時空問題中,我們的S-RNN表現了出顯著的改善:(i) 人類行為模擬。(ii)人類-物體相互作用。(iii)司機行動預測。我們通過視覺化記憶細胞,展示S-RNN學習特定語義子運動,並且通過生成新的人類行為,展示其模組化。
相關推薦
結構遞迴神經網路: 時空領域影象中的深度學習--CVPR2016最佳論文詳解
聯合編譯:陳圳、章敏、Blake 摘要 雖然相當適合用來進行序列建模,但深度遞迴神經網路體系結構缺乏直觀的高階時空架構。計算機視覺領域的許多問題都固有存在高階架構,所以我們思考從這方面進行提高。在解決現實世界中的高階直覺計算方面,時空領域影象是一個相當流行的工具。在本
NeuralTalk:一種基於Python+numpy使用語句描述影象的多模態遞迴神經網路的例程
NeuralTalk工程的流程如下: The pipeline for the project looks as follows: 輸入資料使用Amazon Mechanical Turk收集的影象和5組語句描述的資料集。 The input is a dataset of im
PyTorch--雙向遞迴神經網路(B-RNN)概念,原始碼分析
關於概念: BRNN連線兩個相反的隱藏層到同一個輸出.基於生成性深度學習,輸出層能夠同時的從前向和後向接收資訊.該架構是1997年被Schuster和Paliwal提出的.引入BRNNS是為了增加網路所用的輸入資訊量.例如,多層感知機(MLPS)和延時神經網路(TDNNS)在輸入資料的靈活性方面是非
遞迴神經網路(RNN)隨記
基本概念 想法:在之後的輸入要把之前的資訊利用起來。W3就相當於對中間資訊進行一個保留。 X和U組合成一個特徵圖,A表示一個記憶單元。 V矩陣相當於對St進行一個全連線的操作。最終的輸出需要通過softmax將向量轉化成概率的形式。RNN最適合做自然語言處理
Tensorflow學習筆記(第四天)—遞迴神經網路
一、首先下載來源於 Tomas Mikolov 網站上的 PTB 資料集 http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz 二、需要的程式碼: 這裡只簡單的放了一些程式碼
(轉載)深度學習基礎(7)——遞迴神經網路
原文地址:https://zybuluo.com/hanbingtao/note/626300 轉載在此的目的是自己做個筆記,日後好複習,如侵權請聯絡我!! 在前面的文章中,我們介紹了迴圈神經網路,它可以用來處理包含序列結構的資訊。然而,除此之外,資訊往往還存在著諸如樹結構、圖結構等更復雜的結構。對於
[譯]使用遞迴神經網路(LSTMs)對時序資料進行預測
原文地址:A Guide For Time Series Prediction Using Recurrent Neural Networks (LSTMs) 原文作者:Neelabh Pant 譯文出自:掘金翻譯計劃 本文永久連結:github.com/xitu/gold-m
長短期記憶(LSTM)系列_2.1~2.3、用遞迴神經網路簡要介紹序列預測模型
前置課程 https://machinelearningmastery.com/sequence-prediction/ https://machinelearningmastery.com/gentle-introduction-long-short-term-memory-network
遞迴神經網路RNN網路 LSTM
前言: 根據我本人學習 TensorFlow 實現 LSTM 的經歷,發現網上雖然也有不少教程,其中很多都是根據官方給出的例子,用多層 LSTM 來實現 PTBModel 語言模型,比如: tensorflow筆記:多層LSTM程式碼分析 但是感覺這些例子還是
遞迴神經網路
遞迴神經網路 序列。根據您的背景,您可能想知道:什麼使Recurrent Networks如此特別?Vanilla神經網路(以及卷積網路)的一個明顯侷限是它們的API太受約束:它們接受固定大小的向量作為輸入(例如影象)併產生固定大小的向量作為輸出(例如不同類別的概率) )。不僅如此:這些模型使用固定數量的計
使用遞迴神經網路識別垃圾簡訊
1.測試資料準備 首先匯入本地準備的spam檔案 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selec
cs224d 作業 problem set3 (一) 實現Recursive Nerual Net Work 遞迴神經網路
''' Created on 2017年10月5日 @author: weizhen ''' # 一個簡單的遞迴神經網路的實現,有著一個ReLU層和一個softmax層 # TODO : 必須要更新前向和後向傳遞函式 # 你可以通過執行 python rnn.py 方法來執行一個梯度檢驗 # 插入pdb.
系統學習深度學習(五) --遞迴神經網路原理,實現及應用
但是大神們說,標準的RNN在實際使用中效果不是很好,真正起到作用的是LSTM,因此RNN只做簡單學習,不上原始碼(轉載了兩篇,第一個是簡單推導,第二個是應用介紹)。 下面是簡單推導,轉自:http://blog.csdn.net/aws3217150/article/details/5076
【深度學習】6:RNN遞迴神經網路原理、與MNIST資料集實現數字識別
前言:自己學習研究完CNN卷積神經網路後,很久的一段時間因為要完成自己的畢業設計就把更新部落格給耽擱了。瞎忙了這麼久,還是要把之前留的補上來。因為“種一棵樹最好的時間是在十年前,其次就是現在!” –—-—-—-—-—-—-—-—-—-—-—-—–—-—-—-—
Recurrent Layers——介紹(遞迴神經網路原理介紹)
作者:YJango 連結:https://zhuanlan.zhihu.com/p/24720659 來源:知乎 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。大家貌似都叫Recurrent Neural Networks為迴圈神經網路。 我之前是查維基百科的緣故,所以一直叫它遞迴網路。
RNN遞迴神經網路的詳細推導及C++實現
//讓程式自己學會是否需要進位,從而學會加法 #include "iostream" #include "math.h" #include "stdlib.h" #include "time.h" #include "vector" #incl
每個人都能徒手寫遞迴神經網路–手把手教你寫一個RNN
總結: 我總是從迷你程式中學到很多。這個教程用python寫了一個很簡單迷你程式講解遞迴神經網路。 遞迴神經網路即RNN和一般神經網路有什麼不同?出門左轉我們一篇部落格已經講過了傳統的神經網路不能夠基於前面的已分類場景來推斷接下來的場景分類,但是RNN確有一定記
吳恩達Coursera深度學習(5-1)遞迴神經網路 RNN
Class 5:序列模型 Sequence Models Week 1:迴圈神經網路 RNN(Recurrent) 目錄 本課程將教你如何建立自然語言,音訊和其他序列資料的模型。 由於深入的學習,序列演算法的執行速度遠遠超過兩年前,這
基於Keras/Python的深度學習:遞迴神經網路速成大法
正在統治諸如輸入序列等機器學習難題的一種神經網路型別,是遞迴神經網路(Recurrent Neural Networks)。隨著時間的推移,遞迴神經網路已經擁有包含迴圈、增加反饋和記憶網路的連線。記憶可以使這種型別的網路能夠學習和歸納輸入序列而不是單個模式。遞迴
二十六、圖解遞迴神經網路(RNN)
聊天機器人是需要智慧的,而如果他記不住任何資訊,就談不上智慧,遞迴神經網路是一種可以儲存記憶的神經網路,LSTM是遞迴神經網路的一種,在NLP領域應用效果不錯,本節我們來介紹RNN和LSTM 遞迴神經網路 遞迴神經網路(RNN)是兩種人工神經網路的總稱。一種是時間遞迴神經網路(recurrent n