我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

既然你诚心诚意的发问了,我们就大发慈悲的告诉你!


为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色....

听到这段台词,相信很多朋友都会不由自主地接上一句.......

我们是穿梭在银河的火箭队!白洞!白色的明天在等着我们!

就这样~喵~

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

没错,它就是《神奇宝贝》中火箭队每次出场都让人忍不住发笑的经典台词。

1997年上映的《神奇宝贝》已经陪伴了我们二十年之久,给不少80、90后的童年留下了美好的回忆,尤其是那800多只宠物小精灵。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

会放电的皮卡丘、经常酣睡的妙蛙种子、不好惹的小火龙,还有喵喵、超梦、可达鸭。

这些可可爱爱又奇奇怪怪的动漫小精灵让人记忆犹新,相信很多人小时候都幻想过拥有一支属于自己的精灵宝贝。

最近,一位名为Matthew Rayfield的程序员就满足了自己的愿望。他用《神奇宝贝》中的788只动漫形象作为原型,通过AI生成了3000个全新的宠物小精灵。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

而这个AI正是自然语言模型GPT-2.

GPT-2:「精灵制造机」

提到NLP模型,我们印象最深的可能是GPT-3。今年该模型因1750亿超大参数量和超强应用,在各大媒体平台频频刷屏。GPT-2,与GPT-3师出同门,都是OpenAI研发的自然语言处理模型,两个模型最大的不同是它的参数量,GPT-2仅为15亿。

但这并不影响它的应用范围。与GPT-3类似,GPT-2也可以用来写故事、画图表,或者玩国际象棋。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

最近Rayfield受到GPT-2在国际象棋和民间音乐上应用的启发,也想来搞点不一样的事情。

他突发奇想决定用GPT-2来生成全新的宠物精灵形象,结果效果还不错。Rayfield从3000个生成图像中挑选出了6个,如图:

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

emm...看起来,小精灵原型还不错,但就是清晰度太差。Rayfield又邀请了业内知名动漫设计师雷切尔•布里格斯(Rachel Briggs)来帮他完成这些精灵的“重绘”工作。

最终,基于GPT-2生成的原型,这些宠物小精灵就变成了这样:

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

感觉第二个和第六个可以直接成为《神奇宝贝》的一员了,你觉得呢?

Rayfield简单介绍了他利用GPT-2创建这些精灵的实现过程。大致就是:搜寻了788张小精灵图片(均为64x64像素)作为数据源,然后:

  • 将图像转换为基于文本的格式。

  • 用输入文本训练GPT-2模型。

  • 使用经过训练的模型生成图像。

  • 将基于文本的图像格式转换为PNG。

在这个过程中也出现了一些问题。比如在文本格式转换时,出现了很多嘈杂的像素,因此最终调整成了如下格式。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

不过,用文字训练GPT-2的过程还相对简单,最棘手的环节是通过代码将输出结果变成规范化的图像格式。这部分代码Rayfield已将其在GitHub开源,感兴趣的朋友可以了解一下。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

https://github.com/MatthewRayfield/pokemon-gpt-2

Image GPT:语言模型处理图像任务

需要说明的是,上述Rayfield用GPT-2语言模型来学习图像表征的方法,早已被OpenAI验证。

无监督和自监督的学习,或没有人为标记的数据的学习,在自然语言处理领域取得了令人瞩目的成功,因为像BERT、GPT-2、RoBERTa、T5 等 Transformer 模型,在广泛的语言任务中取得了最佳成绩,但同类的模型在图像分类任务中,不能生成较为有用的特征。

出于这一目的,OpenAI尝试利用GPT-2处理图像分类任务,以探究用 Transformer 模型在学习图像表征方面的可行性。

他们发现,当用展开成像素序列——被称为 iGPT(image GPT) 的图像来训练 GPT-2 模型时,模型似乎能够捕捉二维图像特征,并且能够在没有人类提供的数据标注下,自动生成各种逻辑连续的图像样本。实验结果如图:

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

人类提供上半图(第一列),GPT-2自动补全下半图,右侧为原始图像

同时,该模型的特征在多个分类任务的数据集上也取得了不错的成绩,尤其是在 ImageNet 上取得了接近于最优的成绩,如下图。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

在自然语言处理中,依赖于单词预测的无监督学习算法(如 GPT-2 和 BERT)之所以成功,一个可能的原因是下游语言任务的实例出现在训练用的文本中。但相比之下,像素序列并不直接地包含它们所属的图像的标签。

而即使没有明确的监督,图像上的 GPT-2 仍然起作用。OpenAI研究团队认为其原因是足够大的 Transformer 模型,通过训练来预测下一个像素,最终它能够学会根据清晰可识别对象来生成具有多样性的样本。

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

他们采用一种通用的无监督学习算法—生成序列建模进行了测试。具体来说,他们在 ImageNet 上分别训练包含 76M、455M 和 1.4B 参数的 iGPT-S、iGPT-M 和 iGPT-L Transformer;还在来自 ImageNet 和互联网的图像的混合数据集上训练 iGPT-XL ——一个 68 亿参数的 Transformer。由于对长序列采用密集注意力(dense attention)的建模计算成本高,他们用 32x32、48x48 和 64x64 的低分辨率进行了训练。

最终实验结果表明,通过计算量来代替二维知识,以及通过从网络中选择的特征,序列 Transformer 可以与最优的卷积网竞争,实现无监督图像分类。此外,通过将 GPT-2 语言模型直接应用于图像生成的结果,也进一步表明由于其简单性和通用性,序列 Transformer 在足够的计算量下,有可能成为学习到不同领域的特征的有效方法。

更多OpenAI团队实验内容可参见论文:https://cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V2.pdf

引用链接:

https://www.reddit.com/r/MachineLearning/comments/jyh0h4/p_generating_pokemon_sprites_with_gpt2/

https://matthewrayfield.com/articles/ai-generated-pokemon-sprites-with-gpt-2/

https://openai.com/blog/image-gpt/

雷锋网(公众号:雷锋网)雷锋网雷锋网

雷锋网原创文章,未经授权禁止转载。详情见转载须知

我用GPT-2创造了3000个宠物小精灵,完美复刻《神奇宝贝》!

(完)