《AIGC:智能创作时代》的阅读随笔(推荐单独阅读第二章,其余章节快速略过),期待从业务角度而非推导角度更好的理解,为产品从业人员提供更好的了解沟通渠道。
如何理解对抗
如何从白话角度理解生成对抗网络,核心在于如何理解“对抗”,通俗的字面理解“对抗”,我们会联想到对立事件的博弈,例如NBA的训练场上,球星想要练习投篮的稳定性,此时会有一名训练师来进行针对性的防守,从而发现并提升球星的短板,例如投篮的球速太慢,投篮的高度不够等等。
在GAN算法的角度上,对抗源于生成器和判别器。
通过一个生成器和一个判别器的相互对抗,来实现图像或文字等元素的生成过程。(原始的GAN并不要求生成器和判别器都是一个深度神经网络,但是在实践中通常都采用深度神经网络去构建GAN)
生成器
我们可以向生成器(Generator)输入包含一串随机数的向量,生成器会根据这一串随机数生成并输出图像或句子。向量里的每一个数字都会与生成的图像或句子的特征相关联。
打一个并不严谨的比方,假设生成器收到的输入是[0.1,-0.5,0.2 …0.9],据此生成了一张小猫的图片,而第一个数是和小猫的颜色相关的,当你把0.1换成0.2时,小猫可能就从橘猫变成了白猫。
因为随机数是可以随意构造的,因此我们就可以利用生成器生成各种各样的新图片。不过,和一般的神经网络一样,在生成之前会有提前训练的过程,我们需要准备一个全是各种各样小猫图片的数据集供生成器训练。
判别器
判别器(Discriminator)用于评价生成器生成的图像或句子到底看起来有多么真实。判别是否真实的方式也很简单,就是看这个图像或句子像不像来自生成器训练用的数据集,因为数据集是最真实的。
我们可以向判别器输入一个生成的图像或句子,判别器会输出一个数值(也被称为得分)。一般来说,我们会使用0到1的区间来表示得分,如果