運動與視訊

時序建模

時序建模是「在影片這類序列中,捕捉資訊如何跨時間相互依賴」的一般性問題。關鍵在於:意義存在於「順序」以及「各時刻之間的關係」中——相鄰影格承載短程運動(一隻腳蹬地、一顆球離手),而相距甚遠的影格承載長程結構(「泡一杯茶」歷時數分鐘展開的整體弧線)。一個好的時序模型必須同時處理這兩種尺度,而多數架構往往擅長其一、拙於其二。

三種機制居於主導。循環(RNN、LSTM、GRU)一次處理一格的特徵、把隱藏狀態向前攜帶,本質上是循序的,原則上能回溯很遠,但會受梯度消失之苦且無法在時間上平行化。3D 卷積(與時間卷積)的時間感受野是局部的、只隨深度增長,因此高效且平行,卻偏向短程圖樣。自注意力(Transformer)直接把每個時步與其他每個時步比較,一步就捕捉到任意距離的依賴,代價是成本隨序列長度平方成長。也存在便宜的混合做法,例如時間位移模組(Temporal Shift Module, TSM),它在一個 2D CNN 內把一小部分通道沿時間位移,幾乎免費地取得時間混合。

真正困難的部分是長程時序建模。由於片段通常只有數秒,多數模型從未見到一個長活動的全域結構,而平方級的注意力成本或有限的卷積感受野,限制了它們能推理的範圍。這促成了階層式與以記憶為基礎的設計:時間金字塔、採用因式分解或視窗化注意力以平價擴展範圍的影片 Transformer,以及儲存壓縮後過去脈絡的外部記憶——全都是在不讓計算爆炸的前提下,試圖以「分鐘」而非僅以「瞬間」為單位進行推理。

讓機制配合你所需的範圍。自注意力能捕捉長程依賴,但其平方級成本在實務上逼迫使用較短的輸入視窗,於是它最擅長的那種依賴,往往被「你負擔得起餵入的影格數太少」給截斷了。