如何理解对抗
如何从白话角度理解生成对抗网络,核心在于如何理解“对抗”,通俗的字面理解“对抗”,我们会联想到对立事件的博弈,例如nba的训练场上,球星想要练习投篮的稳定性,此时会有一名训练师来进行针对性的防守,从而发现并提升球星的短板,例如投篮的球速太慢,投篮的高度不够等等。
在gan算法的角度上,对抗源于生成器和判别器。
通过一个生成器和一个判别器的相互对抗,来实现图像或文字等元素的生成过程。(原始的gan并不要求生成器和判别器都是一个深度神经网络,但是在实践中通常都采用深度神经网络去构建gan)
生成器
我们可以向生成器(generator)输入包含一串随机数的向量,生成器会根据这一串随机数生成并输出图像或句子。向量里的每一个数字都会与生成的图像或句子的特征相关联。
打一个并不严谨的比方,假设生成器收到的输入是[0.1,-0.5,0.2 …0.9],据此生成了一张小猫的图片,而第一个数是和小猫的颜色相关的,当你把0.1换成0.2时,小猫可能就从橘猫变成了白猫。
因为随机数是可以随意构造的,因此我们就可以利用生成器生成各种各样的新图片。不过,和一般的神经网络一样,在生成之前会有提前训练的过程,我们需要准备一个全是各种各样小
发表评论