Text to image論文精讀RAT-GAN:文本到圖像合成中的遞歸仿射變換 Recurrent Affine Transformation for T2I

語言: CN / TW / HK

持續創作,加速成長!這是我參與「掘金日新計劃 · 10 月更文挑戰」的第4天,點擊查看活動詳情

RAT-GAN提出了一種用於生成對抗網絡的遞歸仿射變換 (RAT),將所有融合塊與遞歸神經網絡連接起來,以模擬它們的長期依賴關係,跟DF-GAN很類似。文章發表於2022年4月。

論文地址:http://arxiv.org/pdf/2204.10482.pdf

代碼地址:http://github.com/senmaoy/Recurrent-Affine-Transformation-for-Text-to-image-Synthesis

本博客是精讀這篇論文的報告,包含一些個人理解、知識拓展和總結。

一、原文摘要

文本到圖像合成旨在生成基於文本描述的自然圖像。這項任務的主要困難在於將文本信息有效地融合到圖像合成過程中。現有的方法通常通過多個獨立的融合塊(例如,條件批量歸一化和實例歸一化)自適應地將合適的文本信息融合到合成過程中。然而,孤立的融合塊不僅相互衝突,而且增加了訓練的難度。為了解決這些問題,我們提出了一種用於生成性對抗網絡的遞歸仿射變換(RAT),它將所有融合塊與一個遞歸神經網絡連接起來,以模擬它們的長期依賴性。此外,為了提高文本和合成圖像之間的語義一致性,我們在鑑別器中加入了空間注意模型。由於知道匹配的圖像區域,文本描述監督生成器合成更多相關的圖像內容。在CUB、Oxford-102和COCO數據集上進行的大量實驗表明,與最先進的模型相比,該模型具有優越性。

二、為什麼提出RAT-GAN

GANs通常通過多個獨立的融合塊(如條件批量歸一化(CBN)和實例歸一化(CIN))自適應地將合適的文本信息融合到合成過程中,DFGAN、DT-GAN、SSGAN都使用CIN和CBN將文本信息融合到合成圖像中,但有一個嚴重的缺點,即它們被隔離在不同的層中,忽略了在不同層中融合的文本信息的全局分配。孤立的融合塊很難優化,因為它們彼此不相互作用

因此,作者提出了一種遞歸仿射變換(RAT)來一致地控制所有融合塊。RAT使用相同形狀的標準上下文向量表達不同層的輸出,以實現對不同層的統一控制。然後使用遞歸神經網絡(RNN)連接上下文向量,以檢測長期相關性,通過RNN,融合塊不僅在相鄰塊之間保持一致,而且降低了訓練難度。

三、RAT-GAN

3.1、整體框架

在這裏插入圖片描述 整體框架圖如上圖所示,與DF-GAN較為相似,同樣隨機噪聲經過MLP重塑成指定尺寸的特徵向量,然後使用5個RAT Blocks,經過一系列仿射變換的操作,最終生成特徵圖。 鑑別器與DF-GAN稍有不同,通過下采樣後,將圖像與文本特徵expand然後做空間注意力後生成一個全局特徵(與AttnGAN的方法類似),然後判斷生成的圖像是否為真。

3.2 、RAT仿射塊(Recurrent Affine Transformation)

3.2.1、RAT仿射塊的結構

單個RAT仿射塊的結構如下: 在這裏插入圖片描述 RAT仿射塊主體與DF-GAN和SSAGAN中的差不多,也是兩個MLP,一個帶有縮放參數,對圖像特徵向量c進行通道縮放操作,另一個帶有平移參數,對圖像特徵向量c進行通道平移操作: $\text { Affine }\left(c \mid h_{t}\right)=\gamma_{i} \cdot c+\beta_{i}, \gamma=\operatorname{MLP}{1}\left(h{t}\right), \quad \beta=\operatorname{MLP}{2}\left(h{t}\right)$

3.2.2、LSTM循環控制器的引入

最主要的是其引入了循環控制器機制(Recurrent Controller),其使用LSTM連接上下文向量,以檢測長期相關性,在相鄰RAT塊之間保持一致。 LSTM的初始狀態是由噪聲向量計算出的:$h_{0}=\operatorname{MLP}{3}(z), \quad c{0}=\operatorname{MLP}{4}(z)$,更新的規則如下: $\left(\begin{array}{l} \mathbf{i}{t} \ \mathbf{f}{t} \ \mathbf{o}{t} \ u_{t} \end{array}\right)=\left(\begin{array}{c} \sigma \ \sigma \ \sigma \ \tanh \end{array}\right)\left(T\left(\begin{array}{c} s \ h_{t-1} \end{array}\right)\right)$ $\begin{aligned} \mathbf{c}{t} &=\mathbf{f}{t} \odot \mathbf{c}{t-1}+\mathbf{i}{t} \odot u_{t} \ h_{t} &=\mathbf{o}{t} \odot \tanh \left(\mathbf{c}{t}\right) \ \gamma_{t}, \beta_{t} &=\operatorname{MLP}{1}^{\mathrm{t}}\left(h{t}\right), \operatorname{MLP}{2}^{\mathrm{t}}\left(h{t}\right) \end{aligned}$

其中,$i_t$、$f_t$、$o_t$分別代表輸入門、遺忘門和輸出門,以上規則用的原理主要還是LSTM,第一步是遺忘門,就是決定細胞狀態需要丟棄哪些信息,這部分操作是通過一個sigmoid單元來處理的,下一步是輸入門決定給細胞狀態添加哪些新的信息,最後是輸出門,將輸入經過一個igmoid層得到判斷條件,然後將細胞狀態經過tanh層得到一個-1~1之間值的向量,該向量與輸出門得到的判斷條件相乘就得到了最終該RNN單元的輸出。看不懂可以學習一下LSTM再來進行理解(下附LSTM的結構圖)。 在這裏插入圖片描述

3.2.3、RAT仿射塊的創新點

RAT仿射塊不再將仿射變換作為孤立的模塊。相比之下,其使用RNN來建模融合塊之間的長期依賴關係,這不僅迫使融合塊彼此一致,而且還降低了跳躍連接訓練的難度。

3.3、具有空間注意的匹配感知鑑別器

為了提高合成圖像和文本描述之間的語義一致性,作者在鑑別器中加入了空間注意力機制,如下圖所示: 在這裏插入圖片描述

3.3.1 空間注意力

結合圖像特徵映射P和句子向量S中的信息,空間注意力生成一個注意力映射α,該注意映射α抑制無關區域的句子向量,公式如下: $\begin{aligned} x_{w, h} &=\operatorname{MLP}\left(P_{w, h}, s\right), \ \alpha_{w, h} &=\frac{\frac{1}{1+e^{-x_{w}, h}}}{\sum_{w=1, h=1}^{W, H} \frac{1}{1+e^{-x} w, h}}, \ S_{w, h} &=s \times \alpha_{w, h}, \end{aligned}$ 其中,從上往下看,$P_{w,h}$可以理解成在座標(w,h)的圖像特徵,s是句子向量,將其共同輸入到一個多層感知器MLP中,然後將計算出的$x_{w,h}$通過計算權重轉換成注意概率$α_{w,h}$ 最後將α與句子向量再相乘,得到句子特徵匹配圖像特徵的的權重$S_{w,h}$。

3.3.2、軟閾值函數

可以看到3.3.1的公式的α計算方式,在計算α時使用了軟閾值函數方法: $p\left(x_{k}\right)=\frac{\frac{1}{1+e^{-x_{k}}}}{\sum_{j=1}^{K} \frac{1}{1+e^{-x_{j}}}}$

作者並沒有采用流行的softmax函數,因為它使最大概率最大化,並抑制其他概率接近0。極小的概率阻礙了梯度的反向傳播,從而加劇了GAN訓練的不穩定性。

軟閾值函數可以防止注意概率接近零,並提高反向傳播的效率。空間注意模型將更多的文本特徵分配給相關的圖像區域,這有助於鑑別器確定文本-圖像對是否匹配。在對抗性訓練中,更強的鑑別器迫使生成器合成更多相關的圖像內容。

3.4、損失函數

鑑別器的訓練目標將合成圖像和不匹配圖像作為負樣本,在實文本對和匹配文本對上使用 hinge loss的MA-GP作為損失函數: $\begin{aligned} \mathcal{L}{\text {adv }}^{D}=& \mathbb{E}{x \sim p_{\text {data }}}[\max (0,1-D(x, s))] \ &+\frac{1}{2} \mathbb{E}{x \sim p{G}}[\max (0,1+D(\hat{x}, s))] \ &+\frac{1}{2} \mathbb{E}{x \sim p{\text {data }}}[\max (0,1+D(x, \hat{s}))] \end{aligned}$ 其中,s是給定的文本描述,$sˆ$是不匹配的文本描述,生成器的損失函數為: $\mathcal{L}{\mathrm{adv}}^{G}=\mathbb{E}{x \sim p_{G}}[\min (D(x, s))]$

四、實驗

4.1、數據集

CUB、Oxford-102、MS-COCO

4.2、訓練細節

文本編碼器在訓練時參數固定,優化器採用Adam,生成器學習率為0.0001,鑑別器學習率為0.0004。

在CUB和Oxford上,batchsize=24,epoch=600,單個RTX3090ti訓練3天。

在COCO上,batchsize=48,epoch=300,使用兩個RTX3090ti訓練了兩週。

4.3、實驗結果

4.3.1、實驗效果

在這裏插入圖片描述

在同一文本下生成的不同圖像: 在這裏插入圖片描述 注意力圖的可視化: 在這裏插入圖片描述

4.3.2、定量分析

在這裏插入圖片描述

4.3.3、消融實驗

在這裏插入圖片描述

五、總結

RAT-GAN的創新點如下:

  1. 提出了一種遞歸仿射變換,將所有融合塊連接起來,以便在合成過程中全局分配文本信息。
  2. 在鑑別器中加入空間注意,將注意力集中在相關的圖像區域,因此生成的圖像與文本描述更相關