在本套书《Web安全之机器学习入门》和《Web安全之深度学习实战》中,我们接触的无论是恶意代码识别还是垃圾邮件识别,都可以归为二分类的监督学习问题。我们通过将样本特征化以后,告诉模型哪些样本是黑哪些是白,模型通过训练后,理解了黑白样本的区别,再输入测试样本时,模型就可以根据以往的经验判断是黑还是白。与这些分类的算法不同,GAN的基本原理是,有两个相生相克的模型Generator和Discriminator,Generator随机生成样本,Discriminator将真实样本标记为Real,将Generator生成的样本标记为Fake进行监督学习,然后Generator随机生成新的样本,标记为Real企图欺骗Discriminator,Discriminator反馈给Generator判断的结果,Generator得到反馈后就可以生成更逼真的样本直到可以完全欺骗Discriminator。