我是如此,非常抱歉。

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(1)

> I'll understand if you don't want to catch 'em, all. (Image by Author)

我在90年代和90年代长大,喜欢口袋妖怪。Pokemon Red是我的第一个也是最喜欢的游戏,尽管我很笨但无法击败它,但我还是很容易就花了数百个小时在小时候玩它。当我不想全力以赴时,我会组成自己的小怪兽,并用五岁大的艺术才华吸引他们。尽管有这种痴迷,但我对游戏还是有些疑虑。就像,一个神奇宝贝突然变成了另一个神奇宝贝;随着他们变得更强壮,这不是一个渐进的过程吗?为什么当您将两个完全不同的口袋妖怪一起繁殖时,孩子与母亲相同,而不是父母双方的怪异组合?除此之外,为什么只有151个神奇宝贝?快进20年,口袋妖怪书呆子以生成对抗网络(GAN)的形式找到了解决这些问题的方法。

GAN的简要背景

对于初学者来说,生成对抗网络是一种神经网络,它在2014年首次提出,彻底改变了创意AI。在其发明之前,基于神经网络的图像生成方法会产生模糊,低质量的图像,但是随着GAN的出现,突然有可能实现高质量的高分辨率图像生成。

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(2)

> GAN-generated faces; none of these people actually exist (StyleGAN, Karras et al.)

简而言之,GAN由两个网络组成:一个生成伪造图像的生成器,以及一个试图从伪造图像中辨别真实图像的鉴别器。两者在军备竞赛中竞争,随着时间的推移,两者都在不断改善,最终目标是拥有一个生成器,使图像如此逼真,以至于辨别器(和您!)无法分辨哪些是真实的,哪些不是。

4月,我提出了自动编码生成对抗网络体系结构(中等,arxiv),它是CycleGAN的概括,它结合了两个GAN和两个自动编码器。最近,我对自己想:"如果我使用AEGAN技术以口袋妖怪为训练数据来生成视频游戏精灵,将会发生什么?"让我告诉你,最好不要提一些问题。

无尽的形式最可怕

我一直想知道,如果您在日托中留下两个同上,然后让它们开始工作,会发生什么情况。不幸的是,现在我知道了。

这是我的GAN吐出的一些不幸生物(如果您正在使用手机,但它们看上去很模糊,请在此处查看。所有图片归作者所有):

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(3)

> Beefcake

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(4)

> Reptrillion

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(5)

> Ol' Grumper

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(6)

> Unwanted

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(7)

> Pinhead

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(8)

> Kanga-No

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(9)

> The reason we don't have more eeveelutions

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(10)

> Shroomer

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(11)

> And all these abominations, too (Image by Author)

尽管它们的畸形很明显,但许多可憎的生物却具有截然不同的身体部分(手臂,腿,头),而且它们的颜色都充满活力。有些甚至有眼睛!

演化

在游戏中,口袋妖怪会经历两种或三种不同的形式。从一种形式转换到另一种形式是一个突然的过程,我总是感到失望,因为我们看不到Charmander逐渐变得强大,逐渐变成Charizard。但是,使用此AEGAN,我们可以!

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(12)

> What's this? Hellbunny is evolving!

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(13)

> Uh… it won't stop

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(14)

> What have I done?

那我该怎么做呢?

我将是第一个承认这些Sprite并非完全适合游戏的人。尽管如此,在从事这个项目的过程中,我发现了许多技巧,可以极大地提高输出的质量,如果您有兴趣自己应用它们(并可以访问更大的数据集……),我想在这里分享。)。但是在开始之前,这里有一些我最喜欢的小怪胎:

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(15)

> Curious Tom

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(16)

> Howler

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(17)

> Hocus

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(18)

> Regiflesh

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(19)

> HitmonVanDamme

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(20)

> Thumper

AEGAN体系结构(此处描述)虽然比标准DCGAN的训练速度慢,但收敛速度却快得多。在大约1600个精灵上经过30个历元之后,输出呈明显的神奇宝贝形状。

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(21)

> AEGAN output after only 30 epochs (Image by Author)

在没有AEGAN脚手架的情况下训练同一台生成器要花100多个纪元才能达到类似的质量(如果有的话)。我建议您尝试使用AEGAN技术。它通过防止模式崩溃来稳定训练,并允许生成器快速适应参数空间的有用部分。我为这个小项目设定了时间,但如果我有足够的时间和足够的时间,我相信它也将使生成器从原始数据集中重现神奇宝贝。

颜色选择器

质量的最大提高是我所说的ColourPicker技术。而不是使用生成器中通道深度为3(红色,绿色和蓝色)的典型转置卷积层,我的最后一层的通道深度为16,并且将softmax激活应用于通道尺寸。这迫使生成器为每个像素选择16个索引之一。在网络的其他地方,生成器生成16种颜色(本质上是一个调色板),然后将该调色板与16深度索引层相乘。分别进行了三遍此操作,以创建用于输出的红色,绿色和蓝色通道,并使颜色易于在输出图像上进行协调。

噪声鉴别器

众所周知,GAN在训练过程中不稳定。尽管AEGAN脚手架在提高稳定性上有很长的路要走,但是直到我开始向几乎所有的判别器上添加乘性高斯噪声时,我才不必担心唤醒一个在夜间训练中完全破裂的模型。

数据扩充

我正在使用的数据集很小。总而言之,大约有600张独特的图片;加上光泽(变色的调色板交换)和偶尔的女性变体(大多数人不会注意到的微小变化),您将获得约1600张图像。这样的方法太少了,无法正确训练GAN生成96x96x3图像。尽管如此,我还是尝试并应用了增强来人为地增加数据集的大小。这包括:

· 水平和/或垂直最多将图像随机平移5个像素

· 随机旋转图像的色调

· 在水平方向上随机翻转图像

使用较小的潜在尺寸

您不知道100维空间有多大。哎呀,您可能并不知道4维空间有多大。我们的大脑根本就不需要这样做。但是请这样考虑:如果您使用的是100D潜在空间(如许多教程所建议),并且该空间的每个"象限"都需要至少一张图像(即,将每个维度分为正负两部分)),那么您将需要超过10亿亿张图片,即使这样,空间仍然会非常稀疏。将如此巨大的潜在空间映射到您拥有的相对较少的图像是一个很大的问题,并且使用更小的潜在空间可能会做得更好。对于这个项目,我只使用了16个尺寸。

这些技巧绝非完美无缺,但它们在改善GAN输出质量和防止歧视者记忆数据集方面大有帮助。如果您想自己尝试一下,我已经在GitHub上提供了代码。https://github.com/ConorLazarou/PokeGAN

无论如何,这是我的一些最爱。谢谢阅读!

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(22)

> Chazy the Skeptical

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(23)

> Gumbo

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(24)

> Snorky

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(25)

> Bonecolt

游讯网玩家自制3d版口袋妖怪(我使用AI生成了成千上万的新口袋妖怪)(26)

> Travis

所有未引用的图像都是我自己的。随意使用它们,但请引用本文❤

(本文由闻数起舞翻译自Conor Lazarou的文章《I Generated Thousands of New Pokemon using AI》,转载请注明出处,原文链接:https://towardsdatascience.com/i-generated-thousands-of-new-pokemon-using-ai-f8f09dc6477e)

,