该计划用于在蔬菜水果中伪造,恢复和检查水果。本书摘录

图片

您好,habrozhiteli!到目前为止,在窗外的这种情况下,我们决定分享我们的《 Generative Deep Learning》一书的有趣摘录。神经网络的创造潜力”,作者:David Foster。

苹果和橘子


格兰尼·史密斯(Granny Smith)和佛罗里达州(Florida)是蔬菜水果商的共同所有人。为了获得最大的效率,每个人都会在商店中照顾自己的货架。例如,格兰尼·史密斯(Granny Smith)为自己选择苹果感到自豪,而佛罗里达州则将橘子放置数小时,从而达到了理想的地理位置。双方对达成协议非常有信心:出售苹果的利润将流向史密斯奶奶,出售橙子的利润将流向佛罗里达。

不幸的是,史密斯奶奶和佛罗里达州都不打算诚实竞争。当佛罗里达州看不到时,格兰尼·史密斯(Granny Smith)用橘子驶向窗户,并开始将它们涂成红色,使它们看起来像苹果!佛罗里达州的做法完全一样:她试图使格兰尼·史密斯的苹果看起来更像橙子,当她转身时使用适当颜色的喷雾。因此,客户经常选择错误的水果来购买。那些打算购买橘子的人有时会错误地选择佛罗里达州的苹果,而那些想要购买苹果的人会错误地选择由格兰尼·史密斯遮盖的橘子。最后,将每种水果的利润相加并根据协议进行分配-每当史密斯奶​​奶将其中一个苹果当成橘子出售时,她都会亏本,和佛罗里达,当时她的一个橘子被当作苹果出售。

商店关闭后,两家都开始恢复水果货架上的订单。但是,两者都没有尝试洗刷竞争对手制造的油漆,而是简单地将假货油漆,试图使它们恢复其原始形状。对他们来说,正确地完成这项工作很重要:如果水果看起来不像预期的那样,那么第二天他们将无法出售它们并再次损失利润。为了确保其操作正确,他们有时会根据自己的成果测试其方法。佛罗里达撒上橘子,然后检查它们是否看起来与原始橘子完全一样。格兰尼·史密斯(Granny Smith)在苹果上测试她的“技能”。如果他们发现明显的差异,那么他们将不得不花费来之不易的利润来研究更先进的方法(图5.2)。

首先,买家常常会做出错误的选择。但是,随着时间的流逝,他们会积累经验并学会确定哪些水果是假的。这迫使格兰尼·史密斯和弗罗里达在伪造彼此的水果以及将假货恢复到其原始外观方面达到完美。此外,他们需要定期确保他们使用的技巧不会改变自己的果实外观。

这场荒谬的游戏经过许多天和几周后,他们注意到发生了一些惊人的事情。客户不再区分真假水果。在图。5.3展示了经过伪造和修复以及测试后的果实外观。

图片

图片

循环GAN


上一个故事是一个寓言,描述了生成建模中关键领域之一的发展,即样式转移:一个循环一致的生成竞争网络,即CycleGAN。一篇描述该网络的文章是样式转换领域的重要一步,并展示了如何训练一个模型,该模型可以将样式从一组参考图像复制到另一幅图像,而无需使用一组配对示例。

预先存在的样式转换模型(例如pix2pix)要求训练集中的每个图像都以源和目标形式存在。对于某些样式转换任务(例如,用于将黑白照片转换为彩色照片,将地图转换为卫星图像),可以创建这样的数据集,但对于另一些则完全不可能。例如,我们没有莫奈为其写画《睡莲》的池塘的原始照片,也没有毕加索的画作以及帝国大厦的图像。以此类推,要花费大量的时间来拍摄马和斑马以相同姿势站立的照片。在描述pix2pix方法的文章之后仅几个月就发表了一篇描述CycleGAN的文章,并展示了如何训练模型来解决相同的问题,但在没有源图像和目标图像对的情况下。在图。图5.4分别显示了配对和未配对的pix2pix和CycleGAN数据集之间的差异。如果pix2pix方法仅允许您模拟一个方向(从源样式到目标)的变化,则CycleGAN同时在两个方向上训练模型,以便模型学习将源图像转换为目标,反之亦然。此属性归因于模型的体系结构,因此您可以自动在相反方向进行转换。借助该模型,模型可以学习将源图像转换为目标图像,反之亦然。此属性归因于模型的体系结构,因此您可以自动在相反方向进行转换。借助该模型,模型可以学习将源图像转换为目标图像,反之亦然。此属性归因于模型的体系结构,因此您可以自动在相反方向进行转换。

图片

让我们看看如何使用Keras构建CycleGAN模型。首先,让我们以前面的示例为基础,以苹果和橙子为基础,遍历CycleGAN的所有部分并尝试其体系结构。然后,我们采用相同的方法创建一个模型,该模型可以将特定艺术家的风格应用于您选择的照片。

您的第一个CycleGAN网络


以下大多数代码是从ErikLinder-Norén维护的Keras-GAN存储库(http://bit.ly/2Za68J2)中借用的。这个精彩的资源包含许多用Keras编写的书籍中的产生竞争性网络的示例。

首先,您需要下载将用于培训的数据。在克隆带有示例书的存储库的文件夹中,运行以下命令:

bash ./scripts/download_cyclegan_data.sh apple2orange

在下载的苹果和橘子图像集中,我们将在以后使用这些数据,该数据分为四个文件夹:trainA和testA包含苹果图像,trainB和testB包含橘子图像。即,A表示苹果的图像空间,B表示橙子的图像空间。我们的目标是在训练文件夹中的数据集上训练模型,以将图像从集合A转换为集合B,反之亦然。测试文件夹中的图像用于测试模型的质量。

»这本书的更多信息可以在出版商的网站上找到
» 目录
» 摘录

All Articles