我们首先使用预训练的文本编码器生成高斯条件变量 ![](img/308050a3-9d10-4f05-9e8e-d1e4e07bbb93.png) 。 这将生成嵌入 ![](img/b7167483-2ee2-469e-af9f-278f36699c79.png)的相同文本。 第一阶段和第二阶段条件增强具有不同的完全连接层,用于生成不同的均值和标准 偏差。 这意味着第二阶段 GAN 学会了在文本嵌入中捕获有用的信息,而这些信息被第一阶段 GAN 省略了。
我们首先使用预训练的文本编码器生成高斯条件变量`c_hat`。 这将生成嵌入`φ[t]`的相同文本。 第一阶段和第二阶段条件增强具有不同的完全连接层,用于生成不同的均值和标准 偏差。 这意味着第二阶段 GAN 学会了在文本嵌入中捕获有用的信息,而这些信息被第一阶段 GAN 省略了。
第一阶段 GAN 生成的图像存在的问题是,它们可能缺少生动的对象部分,它们可能包含形状失真,并且它们可能会忽略对于生成逼真的图像非常重要的重要细节。 第二阶段 GAN 建立在第一阶段 GAN 的输出上。 第二阶段 GAN 取决于第一阶段 GAN 生成的低分辨率图像和文本描述。 它通过校正缺陷产生高分辨率的图像。
前面的方程式非常不言自明。 它代表了判别器网络的损失函数,其中两个网络都以文本嵌入为条件。 一个主要区别是生成器网络以![](img/2fc3c44d-59b8-4da3-b9b7-b5daabb95bb6.png)和![](img/3720bf75-1dba-477b-b833-865282482a25.png)作为输入,其中![](img/134a6916-3b21-48a7-88ee-a115d848fbe5.png)是第一阶段生成的图像,![](img/885a0848-1055-4c3b-976f-11f36d73232b.png)是 CA 变量。
前面的方程式非常不言自明。 它代表了判别器网络的损失函数,其中两个网络都以文本嵌入为条件。 一个主要区别是生成器网络以`s[0]`和`c_hat`作为输入,其中`s[0]`是第一阶段生成的图像,`c_hat`是 CA 变量。
@@ -444,7 +444,7 @@ from matplotlib import pyplot as plt
CA 网络的目的是将文本嵌入向量(![](img/de8c23e2-ee05-44ea-876e-adfe515c5b5b.png))转换为条件潜在变量(![](img/69b142c0-77c5-4a16-b698-d93249bc30c4.png))。 在 CA 网络中,文本嵌入向量穿过具有非线性的完全连接层,从而产生均值![](img/39b79c42-5da0-4eb5-92c4-146d419591ac.png)和对角协方差矩阵![](img/1032f91a-c420-45d3-846b-6d2f4add232c.png)。
CA 网络的目的是将文本嵌入向量(`φ[t]`)转换为条件潜在变量(`c_hat[0]`)。 在 CA 网络中,文本嵌入向量穿过具有非线性的完全连接层,从而产生均值`μ(φ[t])`和对角协方差矩阵`∑(φ[t])`。