精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

徐土豆
認證:優質創作者
所在專題目錄 查看專題
《學習geometric deep learning筆記系列》第一篇,Non-Euclidean Structure Data之我見
《Geometric Deep Learning學習筆記》第二篇, 在Graph上定義卷積操作,圖卷積網絡
《Geometric Deep Learning學習筆記》第三篇,GCN的空間域理解,Message Passing以及其含義
Shift-GCN網絡論文筆記
Shift-GCN中Shift的實現細節筆記,通過torch.index_select實現
作者動態 更多
給定計算預算下的最佳LLM模型尺寸與預訓練數據量分配
05-19 09:33
大模型推理時的尺度擴展定律
05-18 10:32
世界多胞體與世界模型
05-13 09:42
獎勵模型中的尺度擴展定律和獎勵劫持
05-12 08:41
MeCo——給預訓練數據增加源信息,就能減少33%的訓練量并且提升效果
05-08 09:13

Shift-GCN網絡論文筆記

近日筆者在閱讀Shift-GCN[2]的文獻,Shift-GCN是在傳統的GCN的基礎上,用Shift卷積算子[1]取代傳統卷積算子而誕生出來的,可以用更少的參數量和計算量達到更好的模型性能,筆者感覺蠻有意思的,特在此筆記。 本文轉載自徐飛翔的“Shift-GCN網絡論文筆記

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

Shift-GCN是用于骨骼點序列動作識別的網絡,為了講明其提出的背景,有必要先對ST-GCN網絡進行一定的了解。

ST-GCN網絡

骨骼點序列數據是一種天然的時空圖結構數據,具體分析可見[5,6],針對于這類型的數據,可以用時空圖卷積進行建模,如ST-GCN[4]模型就是一個很好的代表。簡單來說,ST-GCN是在空間域上采用圖卷積的方式建模,時間域上用一維卷積進行建模。

骨骼點序列可以形式化表達為一個時空圖,其中有著個關節點和幀。骨骼點序列的輸入可以表達為,其中表示維度。為了表示人體關節點之間的連接,我們用鄰接矩陣表達。按照ST-GCN原論文的策略,將人體的鄰接矩陣劃分為三大部分:1)離心群;2)向心群;3)根節點。具體的細節請參考論文[4]。每個部分都對應著其特定的鄰接矩陣 , 其中表示劃分部分的索引。用符號分別表示輸入和輸出的特征矩陣,其中是輸入輸出的通道維度。那么,根據我們之前在GCN系列博文[7,8,9]中介紹過的,我們有最終的人體三大劃分的特征融合為:

其中P = { 根 節 點 , 離 心 群 , 向 心 群 } ,是標準化后的鄰接矩陣,其中,具體這些公式的推導,見[7,8,9]。其中的是每個人體劃分部分的1x1卷積核的參數,需要算法學習得出。整個過程如Fig 1.1所示。

Fig 1.1 STGCN的示意圖,通過不同的鄰接矩陣可以指定不同的身體劃分部分,通過1x1卷積可以融合通道間的信息,最后融合不同劃分部分的信息就形成了新的輸出向量。

ST-GCN的缺點體現在幾方面:

  1. 計算量大,對于一個樣本而言,ST-GCN的計算量在16.2GFLOPs,其中包括4.0GFLOPs的空間域圖卷積操作和12.2GFLOPs的時間一維卷積操作。
  2. ST-GCN的空間和時間感知野都是固定而且需要人為預先設置的,有些工作嘗試采用可以由網絡學習的鄰接矩陣的圖神經網絡去進行建模[10,11],即便如此,網絡的表達能力還是受到了傳統的GCN的結構限制。

Shift-GCN針對這兩個缺點進行了改進。

Shift-GCN

這一章對Shift-GCN進行介紹,Shift-GCN對ST-GCN的改進體現在對于空間信息(也就是單幀的信息)的圖卷積改進,以及時序建模手段的改進(之前的工作是采用一維卷積進行建模的)。

Spatial Shift-GCN

Shift-GCN是對ST-GCN的改進,其啟發自Shift卷積算子[1],主要想法是利用1x1卷積算子結合空間shift操作,使得1x1卷積同時可融合空間域和通道域的信息,具體關于shift卷積算子的介紹見博文[12],此處不再贅述,采用shift卷積可以大幅度地減少參數量和計算量。如Fig 2.1所示,對于單幀而言,類似于傳統的Shift操作,可以分為Graph Shift和1x1 conv兩個階段。然而,和傳統Shift操作不同的是,之前Shift應用在圖片數據上,這種數據是典型的歐幾里德結構數據[7],數據節點的鄰居節點可以很容易定義出來,因此卷積操作也很容易定義。而圖數據的特點決定了其某個數據節點的鄰居數量(也即是“度”)都可能不同,因此傳統的卷積在圖數據上并不管用,傳統的shift卷積操作也同樣并不能直接在骨骼點數據上應用。那么就需要重新在骨骼點數據上定義shift卷積操作。

作者在[2]中提出了兩種類型的骨骼點Shift卷積操作,分別是:

  1. 局部Shift圖卷積(Local Shift Graph Convolution)
  2. 全局Shift圖卷積(Global Shift Graph Convolution)

下文進行簡單介紹。

Fig 2.1 采用了shift卷積算子的GCN,因為骨骼點序列屬于圖數據,因此需要用特別的手段去定義shift操作。

局部shift圖卷積

在局部shift圖卷積中,依然只是考慮了骨骼點的固有物理連接,這種連接關系與不同數據集的定義有關,具體示例可見博文[13],顯然這并不是最優的,因為很可能某些動作會存在節點之間的“超距”關系,舉個例子,“拍掌”和“看書”這兩個動作更多取決于雙手的距離之間的變化關系,而雙手在物理連接上并沒有直接相連。

盡管局部shift圖卷積只考慮骨骼點的固有連接,但是作為一個好的基線,也是一個很好的嘗試,我們開始討論如何定義局部shift圖卷積。如Fig 2.2所示,為了簡便,我們假設一個骨架的骨骼點只有7個,連接方式如圖所示,不同顏色代表不同的節點。對于其中某個節點 , 而言,用表示節點v vv的鄰居節點,其中鄰居節點的數量。類似于傳統的Shift卷積中所做的,對于每一個節點的特征向量,其中是通道的數量,我們將通道均勻劃分為份片區,也即是每一份片區包含有個通道。我們讓第一份片區保留本節點(也即是節點本身)的特征,而剩下的個片區分別從鄰居中通過平移(shift)操作得到,如式子(2.1)所示。用表示單幀的特征,用表示圖數據shift操作之后的對應特征,其中表示節點的數量,表示特征的維度,本例子中

整個例子的示意圖如Fig 2.2所示,其中不同顏色的節點和方塊代表了不同的節點和對應的特征。以節點1和節點2的shift操作為例子,節點1的鄰居只有節點2,因此把節點1的特征向量均勻劃分為2個片區,第一個片區保持其本身的特征,而片區2則是從其對應的鄰居,節點2中的特征中平移過去,如Fig 2.2的Shift for node 1所示。類似的,以節點2為例子,節點2的鄰居有節點4,節點1,節點3,因此把特征向量均勻劃分為4個片區,同樣第一個片區保持其本身的特征,其他鄰居節點按照序號升序排列,片區2則由排列后的第一個節點,也就是節點1的特征平移得到。類似的,片區3和片區4分別由節點3和節點4的對應片區特征平移得到。如Fig 2.2的Shift for node 2所示。最終對所有的節點都進行如下操作后,我們有如Fig 2.2的The feature after shift所示。

Fig 2.2 局部shift圖卷積操作的示意圖,假設骨骼點數據只有7個骨骼點節點。

全局shift圖卷積

局部shift圖卷積操作有兩個缺點:

  1. 只考慮物理固有連接,難以挖掘潛在的“超距”作用的關系。
  2. 數據有可能不能被完全被利用,如Fig 2.2的節點3的特征為例子,如Fig 2.3所示,節點3的信息在某些通道遺失了,這是因為不同節點的鄰居數量不同。

Fig 2.3 紅色虛線框內的通道部分完全失去了節點3的特征信息(也即是紫色方塊)。

為了解決這些問題,作者提出了全局Shift圖卷積,如Fig 2.4所示。其改進很簡單,就是去除掉物理固有連接的限制,將單幀的骨骼圖變成完全圖,因此每個節點都會和其他任意節點之間存在直接關聯。給定特征圖,對于第i ii個通道的平移距離。這樣會形成類似于螺旋狀的特征結構,如Fig 2.4的The feature after shift所示。

Fig 2.4 全局shift圖卷積操作的示意圖,假設骨骼點數據只有7個骨骼點節點。其中和局部shift圖卷積操作的區別在于,當前的圖是完全圖,也即是完全連接的圖了。

為了挖掘骨骼完全圖中的人體關鍵信息,把重要的連接給提取出來,作者在全局shift圖卷積基礎上還使用了注意力機制,如式子(2.2)所示。

Temporal Shift-GCN

在空間域上的shift圖卷積定義已經討論過了,接下來討論在時間域上的shift圖卷積定義。如Fig 2.5所示,考慮到了時序之后的特征圖層疊結果,用符號表示時空特征圖,其中有。這種特征圖可以天然地使用傳統的Shift卷積算子,具體過程見[12],我們稱之為naive temporal shift graph convolution。在這種策略中,我們需要將通道均勻劃分為個片區,每個片區有著偏移量為。與[12]策略一樣,移出去的通道就被舍棄了,用0去填充空白的通道。這種策略需要指定u uu的大小,涉及到了人工的設計,因此作者提出了adaptive temporal shift graph convolution,是一種自適應的時序shift圖卷積,其對于每個通道,都需要學習出一個可學習的時間偏移參數。如果該參數是整數,那么無法傳遞梯度,因此需要放松整數限制,將其放寬到實數,利用線性插值的方式進行插值計算,如式子(2.3)所示。

其中是由于將整數實數化之后產生的余量,需要用插值的手段進行彌補,由于實數化后,錨點落在了之間,因此在這個區間之間進行插值。

Fig 2.5 考慮到時序后的特征圖層疊結果。

網絡

結合spatial shift-gcn和temporal shift-gcn操作后,其網絡基本單元類似于ST-GCN的設計,如Fig 2.6所示。

Fig 2.6 Shift-Conv模塊和Shift-Conv-Shift模塊的設計都是參考了ST-GCN和傳統Shift卷積網絡設計的。

Update 20201130:來自一個知乎朋友的問題:

ID:fightingQ:好巧啊,又跟你看到同一篇論文了。不知道還記得我嗎。這里的naive temporal shift 寫的不詳細。不知道我理解的對不對,想跟你探討一下。對于每一個節點的c個通道,劃分為u個部分。每個部分分別替換為其第-u,,,0,1,u幀處的對應特征,其中0指的是節點本身的這一部分特征。這樣每一個節點就會包含了2u+1幀的信息。在adaptive中,每個通道都設置了一個可學習的移動參數,但是這個移動參數是怎么來學的。我隨意設置這樣一個學習的shift參數,學習的依據是啥呢?

回答:正如原文所講的,其中的naive temporal shift完全是按照傳統的shift卷積算子操作進行計算的,具體見[1]。我們知道,進行通道上的shift操作的目的在于改變卷積的感知野,因此文中提到的超參數其實就是控制了每一層的時序感知野大小,但是這樣有幾個缺點:

  1. 卷積是具有層次結構的,每一層的u uu如果都一樣,那么感知野理論上也是一樣的,這樣不合理,因此卷積的層次結構意味著感知野大小不一定一致。
  2. 需要人工去設置這個超參數,對于不同數據集的結果都不一樣,工作量大。

因此,引入了所謂的自適應時序 shift,其出發點就是通過反向梯度傳播去學習每一層的感知野,也就是每一層都有一個,因為需要確保可以求導,這個參數必須是保證為浮點數才能存在梯度,因此shift操作被泛化到插值操作,正如式子(2.3)所示。

其實原論文對這個自適應學習出來的參數進行了可視化,如Fig a1所示,作者對于不同的數據集(NTU RGBD和NW-UCLA)上進行了adaptive temporal shift的每一層的結果的可視化(具體分析見原論文),簡單來說,頂層(top layer, 也即是輸出層)的值范圍都比較大(表現為值的范圍比較寬廣),意味著輸出層需要的時序感知野比較大,這一點很容易理解,因為輸出層需要更多的時序語義信息,因此感知野比較大是正常的;而底層(bottom layer,也即是輸入層)的值范圍都比較小,這一點也很好理解,輸入層更多的是單幀的底層信息建模(比如紋理,色彩,邊緣信息等),因此時序感知野比較小是正常的。

通過這種自適應的學習手段,確保了對不同層的shift系數的獨立學習,因此使得不同層具有不同的時序感知野。

以上。

Fig a1. 對不同數據集上學習到的時序平移系數進行可視化的結果,(a)為NTU RGBD數據集結果,(b)為NW-UCLA數據集的結果。我們發現底層(輸入層)的值都偏小,頂層(輸出層)的值偏大。意味著輸入層的感知野需求比較小,而輸出層的感知野需求比較大。

Reference

[1]. Wu, B., Wan, A., Yue, X., Jin, P., Zhao, S., Golmant, N., … & Keutzer, K. (2018). Shift: A zero flop, zero parameter alternative to spatial convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 9127-9135).

[2]. Cheng, K., Zhang, Y., He, X., Chen, W., Cheng, J., & Lu, H. (2020). Skeleton-Based Action Recognition With Shift Graph Convolutional Network. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 183-192).

[3]. https://fesian.blog.csdn.net/article/details/109474701

[4]. Sijie Yan, Yuanjun Xiong, and Dahua Lin. Spatial temporal graph convolutional networks for skeleton-based action recognition. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[5]. https://fesian.blog.csdn.net/article/details/105545703

[6]. https://blog.csdn.net/LoseInVain/article/details/87901764

[7]. https://blog.csdn.net/LoseInVain/article/details/88373506

[8]. https://fesian.blog.csdn.net/article/details/90171863

[9]. https://fesian.blog.csdn.net/article/details/90348807

[10]. Lei Shi, Yifan Zhang, Jian Cheng, and Hanqing Lu. Skeleton-based action recognition with directed graph neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 7912–7921, 2019

[11]. Lei Shi, Yifan Zhang, Jian Cheng, and Hanqing Lu. Two stream adaptive graph convolutional networks for skeleton based action recognition. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2019.

[12]. https://fesian.blog.csdn.net/article/details/109474701

[13]. https://fesian.blog.csdn.net/article/details/108242717

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 3
關注 52
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 日日射日日操 | 午夜精品久久久久久99热 | 日韩a中文字幕 | 99国产揄拍国产精品人妻 | 夜夜橹橹网站夜夜橹橹 | 一区精品久久 | 无套内精在线观看视频 | 久久综合九色综合97网 | 国语FREE性XXXXXHD | 国产激情网址 | 五月婷婷视频 | 国产欧精精久久久久久久 | 777777农村一级毛片 | 亚洲影视中文字幕 | 色欲久久久天天天综合网精品 | 久久AV无码精品人妻糸列 | 亚洲影视在线 | 国产91在线播放九色快色 | 美女黄网站人色视频免费 | 男人的天堂免费一区二区视频 | 老司机精品免费视频 | 欧美亚洲国产日韩 | 成人精品视频一区二区三区尤物 | 91素人| 国产熟女一区二区三区五月婷 | 四虎成人免费视频在线播放 | 三级小说欧洲区亚洲区 | 国产69精品久久久久99 | 天天摸天天看 | 国内精品久久久久久影院 | 我趁老师睡觉偷偷的脱她内裤 | 97人人模人人爽视频一区二区 | 国产精品国产三级国产aⅴ入口 | 丁香花完整视频免费观看 | 日本熟妇无码色视频网站 | 狠狠色丁香九九婷婷综合五月 | 成年女人免费毛片视频永久vip | 国产免费播放一区二区 | 99热福利 | 成年人观看免费视频 | www.喷水 |