論文閱讀:TGANs-C

  • 2020 年 4 月 19 日
  • AI

時間很快,一天又一天,一下子月中了,害,沒想到整個2020居然已經過了快三分之一。今天依舊是論文閱讀。

論文題目:《To Create What You Tell: Generating Videos from Captions》
論文地址://arxiv.org/pdf/1804.08264.pdf
論文閱讀參考://www.jiqizhixin.com/articles/2018-09-25-5

本篇文章只記錄個人閱讀論文的筆記,具體翻譯、程式碼等不展開,詳細可見上述的連接

Backgrond

Task(what to do )
Generating Videos from Captions,顧名思義,即需要完成的任務是:由描述的標題生成相對應的影片(如下圖所示)

Challenge
In general, there are two critical issues in video generation employing caption conditioning: temporal coherence across video frames and semantic match between caption and the generated video
在採用標題調節的影片生成中存在兩個關鍵問題:
1.跨影片幀的時間一致性
2.標題描述與生成的影片之間的語義匹配

第一點,主要是對生成模型的學習的見識,即相鄰影片幀通常在視覺和語義上是連貫的,因此應隨時間平滑連接。這可以被視為製作影片的內在屬性和通用屬性。
第二點,追求的模型能夠創建與給定標題描述相關的真實影片。
補充:(對影像和影片的生成和建模的任務來說,一個基本問題是難以量化影像和影片中的複雜變化和統計結構。 這激發了最近的研究探索生成對抗性網路(GAN)來生成合理影像的方法。然而,影片是一幀幀序列,另外還包含時間依賴性,這使得將GAN擴展到影片域存在一些困難。

Related work
a.Image Synthesis
b.Video Generation
(我們的工作屬於後者, 但和後者主要基於的gan的生成存在一些不同,除了我們針對的是標題字幕上生成影片,還有在判別器和加強跨幀的時間連接等方面有所改進)

Work

Do?
a.we present a novel Temporal GANs conditioning on Captions, namely TGANs-C.
b.We qualitatively demonstrate the capability of our TGANs-C to generate plausible videos conditioning on the given captions on two synthetic datasets (SBMG and TBMG) and one real-world dataset (MSVD).
工作(創新)
1.這是第一個在標題描述下生成影片的工作之一
2.實現了影片/幀內容與給定標題對齊
3.通過一系列廣泛的定量和定性實驗,驗證了 TGANs-C 模型的有效性

Model
整個模型結構如下所示:

整體上,整個TGANs-C模型分為左右兩塊,左邊是生成器,右邊就是判別器,是以 GAN 為主體框架的模型,接下來分開來分析。

生成網路

生成網路下由兩塊組成,下面是標題描述的文本編碼,上面是以隨機雜訊和文本編碼特徵作為輸入的生成器

文本編碼
在這裡,作者採用的是雙向 LSTM 做的編碼。
文字描述的時序和語義結構是緊密相關的,需要保留時序資訊,所以 RNN 的思想是處理的關鍵。對於文本編碼過程中採用逐個單詞雙向處理,雙向 LSTM 可以保證文本上更加緊密的時序和語義結構。
整個過程如下:
首先,輸入句子S, S ={w_1,w_2, …,w_{N_{s-1}},w_{N_s} }令w_t表示句子S中第t個單詞的d_w維「one-hot」向量(辭彙中的二進位索引向量),因此文本特徵w_t的維數,即d_w,是辭彙量。
雙向LSTM分為前向和後向:
1.前向LSTM按其自然順序(從w_1w_{N_s})讀取輸入單詞序列,然後計算前向隱藏狀態序列{\overrightarrow{h}_{1}, \overrightarrow{h}_{2}, \ldots , \overrightarrow{h}_{N_{s}}}
2.後向LSTM產生反向隱藏狀態序列{\overrightarrow{h}_{1}, \overrightarrow{h}_{2}, \ldots , \overrightarrow{h}_{N_{s}}},其中輸入序列的順序相反(從w_{N_s}w_1)。

這樣之後,前向LSTM和後向LSTM的輸出被連接為上下文嵌入的單詞序列{h_1,h_2, …,h_{N_{s-1}},h_{N_s} },其中h_t = \left[ \overrightarrow{h}_{t}^{T}, \overline{h}_{t}^{T} \right]^{T}
然後,我們將嵌入的單詞序列輸入到下一個基於LSTM的編碼器中,並將最終的LSTM輸出視為句子表示S∈R_{d_s}
請注意,bi-LSTM和基於LSTM的編碼器都是在無監督學習方式下使用序列自動編碼器進行預學習的。

生成器
給定輸入語句S和隨機雜訊變數z∈R^{d_z}〜N(0,1),設計了一個生成器網路G來合成幀序列:{R^{d_s}R^{d_z}}→R^{d_c×d_l×d_h×d_d},
這裡的d_c×d_l×d_h×d_d代表的是通道數、幀、高、寬,高和寬對應的是影片一幀影像的長寬,幀代表反卷積下包括多少影片幀,比如最後的輸出文中取的是 16 幀作為影片的輸出。
為了對影片中的時空資訊進行建模,最自然的方法是利用帶反卷積的3D卷積濾波器,它可以通過2D卷積濾波器同時合成空間資訊,並提供跨幀的時間不變性.在這裡,生成器網路G首先將隨機雜訊變數z和輸入語句S都封裝為固定長度的輸入潛變數p,然後對其進行特徵變換和級聯,然後合成對應的影片v_{syn} = G(z,S)
總的來說,整個生成器我們可以將標題描述特徵作為條件,那麼它就是類似於條件生成器,由標題描述特徵作為條件生成對應的影片。

判別網路

整個判別網路中,有三個判別器,
a.video discriminator:
根據生成的影片對現實影片進行分類並優化影片字幕匹配
b.frame discriminator
在真實和假幀之間進行區分,並使幀與條件說明字幕對齊
c.motion discriminator
強調所生成影片中的相鄰幀應像在真實影片中一樣平滑連接的理念。

首先最上面的判別器D_0(影片判別器),D_0首先通過3D卷積層將輸入影片v∈R^{d_z}編碼為影片級張量。 然後,用調節字幕S增加影片級張量,以判別輸入影片是否是真實的並且同時與給定字幕在語義上匹配。
判別器不僅判斷影片的真假還判斷影片是否和標題描述對應,有 3 組配對關係:真實影片和正確標題描述(V_{real^+},S)、生成影片和真實標題描述(V_{synl^+},S),真實影片和錯誤標題描述(V_{real^-},S)。判別器只有在真實影片和正確標題對應上才判斷為真,否則為假,即(V_{real^+},S)為真。
對應的損失函數為
(Video-level matching-aware loss)

中間的判別器D_1(幀判別器)
D_1通過2D卷積層將v中的每個幀f^i∈R^{d_f}轉換為幀級張量,(f^i描述影片的第 i 幀對應的影像),然後使用條件說明S擴展幀級張量來識別具有匹配標題的真實幀。
對應的損失函數為
(Frame-level matching-aware loss):

最下面的判別器D_2(運動判別器),它的目的是為了在時序上調整前後幀的關係,一般影片中前後幀之間不會有太大的變動,由此思想文章設計了時序關聯損失。它的作用是保證影片的前後幀之間不會有太大的差異,用 D 表示:

由於決定生成的影片幀的幀之間的關係的是生成器,對於真實影片沒必要再做差異優化,所以這部分主要作用的是生成器,
在這裡作者提供了兩個損失,第一個可以寫為:

這一部分是考慮到生成影片幀之間的關聯差異,將為時間相干約束損失命名為 TGANs-C-C
第二個損失為:

這一部分,從動態差異上實現對抗,是另一種實現時序關聯的方法。 這一部分用 Φ2 判斷真假,將時間相干性對抗性損失命名為 TGANs-C-A。

故整合一下對於TGANs-C-C 對應的判別器和生成器最終損失為:

對於TGANs-C-A 對應的判別器和生成器最終損失為:

偽程式碼

Experiment

Datasets
實驗的數據集選擇了單數字邊界 MNIST GIF(SBMG),兩位數的彈跳 MNIST GIF(TBMG)和微軟研究影片描述語料庫(MSVD)
SBMG 是通過在 64×64 幀內彈出單個手寫數字而產生的。它由 12,000 個 GIF 組成,每個 GIF 長 16 幀,包含一個 28×28 左右移動的數字左右或上下。數字的起始位置是隨機均勻選擇的。每個 GIF 都附有描述數字及其移動方向的單句。
TBMG 是 SBMG 的擴展合成數據集,包含兩個手寫數字彈跳,生成過程與 SBMG 相同,每個 GIF 中的兩個數字分別左右或上下移動。MSVD 包含從 YouTube 收集的 1,970 個影片片段。每個影片大約有 40 個可用的英文描述。在實驗中,手動過濾掉有關烹飪的影片,並生成 518 個烹飪影片的子集

Evaluation Metric
1.我們採用生成對抗標準(GAM),可以通過使兩個生成對抗模型相互對戰來直接比較兩個生成對抗模型。給定兩個生成對抗模型M1 = { \tilde{G}_{1}, \tilde{D}_{1} ) }和M2 = {\tilde{G}_{2}, \tilde{D}_{2}}兩種模型的判別分數之間的兩種比率的度量為:

其中ϵ(•)表示分類錯誤率,xtest是測試集。測試比率rtest顯示哪個模型可以更好地推廣測試數據,而樣本比率rsample顯示哪個模型可以更輕鬆地欺騙其他模型。最後,GAM評估指標將獲勝者判斷為

  1. Human Evaluation:
    用戶研究三個標準:1)現實-這些生成的影片有多真實? 2)相關性-影片是否與給定的字幕相關? 3)連貫性-判斷影片的時間聯繫和可讀性。報告每種方法生成的所有影片的每個標準的平均排名(越低越好)。

Result
1.消融研究:TGANs−C1 為僅考慮影片對抗D_0,TGANs−C2 為考慮了D_0,D_1,TGANs-C-C 和 TGANs-C-A 都已經知道了構成,這幾個對比結果為:

2.定性分析不同模型產生的結果如下圖,主要對比了 VGAN、Sync-DRAW(基於 VAE 實現的)、GAN-CLS 和 TGANs-C:

3.定量上以不同人的選擇,給分越低效果越好,TGANs-C 也展示了很好的效果:

4.為了進一步定量地驗證我們提出的模型的有效性,我們將我們的TGANs-C與兩個生成對抗性基準線(即VGAN和GaN-CLS)在GAM評估度量o方面進行了比較。由於Sync-DRAW的方法是通過基於VAES的體系結構而不是生成對抗性方案生成影片,因此在這種比較中排除了它

總體而言,考慮到我們的TGANs-C與其他兩個基準之間的「battle」,取樣率rsample均小於1,這表明TGANs-C可以製作出更多真實的合成影片,並且更容易欺騙其他兩個模型。基本上證明了利用幀級真實性,幀字幕匹配和相鄰幀之間的時間相干性來進行影片生成的優勢;而且,在比較兩個基於3D的基準線時,GAN-CLS可以輕鬆擊敗VGAN,這在一定程度上揭示了其弱點VGAN的架構是在蠻力假設的基礎上設計的,即背景是靜止的,只有前景會移動,因此很難模仿具有動態背景的實詞影片

Future work

未來的工作將首先著重於改善我們模型的視覺識別能力,即合成更高解析度的影片。首先,可將問題分解為幾個階段,其中根據給定標題的形狀或基本顏色在主要階段中進行草圖繪製,而高級階段則可以糾正影片的細節。第二,期望如何生成以開放式字幕為條件的影片。最後,將我們的框架擴展到音頻領域也應該很有趣。


Ending~
latex公式真的是太累了!
午飯時間~嘻嘻嘻