我们添加一些变化并重复这个过程,其中将步骤 2 和步骤 3 合并,atv,并且将步骤 1 的结果部分储存在内存中,并在储存结果(记忆)需要改进的时候重新访问它,直到我们能够开心地弹奏出足够接近真实歌曲的声音。 因为你已经成为了一个更有技巧的吉他手,你可以学习新的歌曲,你可以仅需要一点练习就学会弹奏以前从未听过或弹奏过的歌曲(即迁移学习(transfer learning)/微调(fine-tuning))。 在这个例子中,歌曲就是数据,我们的耳朵/大脑是判别器,我们的手/大脑是生成器。这可能类似于我们如何学习行动、说话等……更进一步,想象聋哑人说话的情形——这听起来很有趣,因为他们没有判别器来促进对抗学习(也许他们可以选择其它提示(如人们的反应)来作为一种弱的判别器)。 现在我们已经对 GAN 建立了一些直观的认识,让我们来看看如何在软件中实现它们。我们需要考虑现实中的 GAN 与软件之间的相似点和差异点。举例一个差异,现实中发生的对抗学习过程在生成器和判别器之间看起来是协同的,而 GAN 的软件实现看起来是对抗性的(……就像拳击比赛)。 训练 GAN——生成器和判别器之间的拳击比赛 Creed 是判别器,Rocky 是生成器。叮……叮……开打啦! 乍一眼看上去,判别器似乎是教练,生成器是拳击手。但事实上它们都是拳击手,而真实的数据实际上是教练。唯一的不同是只有判别器可以直接访问数据。 判别器是从教练学习的拳击手(真实的数据集越大,教练越有经验),而生成器是只能从它的对手(判别器)学习的拳击手。 在上述训练过程的第 1 步中,判别器由它的教练通过沉重的沙袋训练一轮。教练指出它技术的不足并且促使判别器适应。在第 2 步中,判别器观察生成器打一轮拳击,研究生成器并相应准备其即将到来的一轮拳击比赛。 泄漏的拳击镜头画面意味着对手有更多的材料来学习和准备。 现在第 3 步,拳击比赛!生成器是来自费城的一个好斗的拳击手,它在拳击的时候放松和专注,研究判别器的每一个动作和错误并从中学习——在每轮之后适应。判别器讨厌拳击,每当它完全没有学习到任何东西的时候,它也很害怕和紧张。判别器也许比生成器更具有运动天赋(将数据分类为真实/假的比实际生成数据更容易),但是生成器的心态有助于进行比赛。即使生成器没有教练(无法访问真正的数据集),但它从判别器中学到了很多东西,因为它吸取了它的教练所教的基本特征。 持续这个过程,几轮下来后,直到最终判别器和生成器都成为全能的拳击手,并为比赛做好准备。教练已经教了它所知道的比赛的每一个重要细节,生成器和判别器在它们的拳击比赛中相互学习了很多。理想情况下,它们在训练结束时都是一样的,它们之间比赛的胜败几率是 50/50。 困难 (责任编辑:本港台直播) |