在最后一个卷积层之后,我们应用`GlobalMaxPooling1D`层。 该层是最大池化的特殊实现,它将获取最后一个`Conv1D`层(一个[batch x 35 x 128]张量)的输出,并跨时间步长将其合并到[batch x 128]。 这通常是在 NLP 网络中完成的,其目的类似于在基于图像的卷积网络中使用`Flatten()`层。 该层充当卷积层和密集层之间的桥梁。
在最后一个卷积层之后,我们应用`GlobalMaxPooling1D`层。 该层是最大池化的特殊实现,它将获取最后一个`Conv1D`层(一个`[batch x 35 x 128]`张量)的输出,并跨时间步长将其合并到`[batch x 128]`。 这通常是在 NLP 网络中完成的,其目的类似于在基于图像的卷积网络中使用`Flatten()`层。 该层充当卷积层和密集层之间的桥梁。
@@ -51,13 +51,13 @@ GAN 的整体体系结构如下图所示。 生成器和判别器分别是单独
![](img/6e7de048-2461-4be3-a702-f4d0a87d3c43.png)
生成器的输入只是 100 x 1 的随机向量,我们将其称为噪声向量。 当此噪声矢量是从正态分布生成时,GAN 往往工作得最好。
生成器的输入只是`100 x 1`的随机向量,我们将其称为噪声向量。 当此噪声矢量是从正态分布生成时,GAN 往往工作得最好。
网络的第一层是密集的并且完全连接。 它为我们提供了一种建立线性代数的方法,以便最终得到正确的输出形状。 对于每个卷积块,我们最终将第一轴和第二轴(最终将成为图像的高度和宽度的行和列)加倍,而通道数逐渐缩小到 1。我们最终需要输出的高度和宽度为 28。因此,我们将需要从`7 x 7 x 128`张量开始,以便它可以移动到`14 x 14`,然后最终是`28 x 28`。 为此,我们将密集层的大小设置为`128 x 7 x 7`神经元或 6,272 单位。 这使我们可以将密集层的输出重塑为`7 x 7 x 128`。 如果现在看来这还不算什么,请不用担心,在编写代码后,这才有意义。