姓名:闫伟 学号:15020150038
转载自:https://zhuanlan.zhihu.com/p/48112665,有删节。
【嵌牛导读】:一年一度的万圣节又到了,在视万圣节为重要节日的美国,如何穿一身吸引眼球的万圣节服装已经成为社交网络的热门话题。但是怎么想出个好点子,在万圣节好好打扮一番,还是要颇费一番脑筋的。于是,就有人琢磨着让人工智能帮我们想出新颖的万圣节服装创意,比如我们去年万圣节时分享过的趣事——美国科罗拉多州的机器学习专家 Janelle Shane 让一个 AI 帮她想出一些好玩的万圣节装扮点子
【嵌牛鼻子】:万圣节 机器学习
【嵌牛提问】:如何用机器学习打造一款万圣节装扮?
【嵌牛正文】:
当时 Janelle Shane 搭建了一个神经网络,然后用含有大量万圣节服装名字的数据集训练它,神经网络会从中学习,最后自己创作出一些万圣节服装名字。去年 Janelle 在推特上号召广大网友搜罗一些有趣的万圣节服装名字,然后发送到她的网站Aiweirdness.com上。最终收集了 4500 个名字。
今年又到圣诞节,Janelle Shane 决定和《纽约时报》一起合作,继续玩这个项目。这次她使用了一个叫 textgenrnn(https://github.com/minimaxir/textgenrnn)的机器学习算法,它能学习和模仿文本数据。训练算法用的数据是过去一年通过Aiweirdness.com和《纽约时报》收到的读者们发送的万圣节服装名,共 7182 个。经过训练后,算法想出了一些万圣节打扮的点子,比如下面这些:
图:从左至右分别为:僵尸学生妹;烤面包机男孩;唐纳德·麦当劳
也可以试试扮成身边的盆友?
将数据展示给 textgenrnn 算法后,它就会自动学习拼写这些单词和词语,完全不用人类帮助。首先算法预测哪些字母应当按怎样的顺序来组成一个万圣节服装的名字,然后再通过查看训练它的数据来检查它生成的名字合不合理。如果差的太离谱(一般刚开始都会这样),算法会继续优化内部结构。就这样,AI 的生成结果越来越好。
比如在第一个训练周期,AI 生成的东西完全不知所云:
到了第三个周期,总算是能明白它在说什么了,像什么“教授猫”之类,但绝对打扮不出来:
到了第五个周期,好多了,比如“性感小宝贝”“弗兰肯斯坦的兔兔”等,像那么回事儿了:
到了第七个周期,生成的一些服装打扮开始有开脑洞的迹象,比如套着内裤的勺子,或者罩着一个大箱子:
到了第九个周期,AI 创作的万圣节服装已经有模有样了,比如“雷神版海盗”“草莓王冠”:
到了第十一个周期,AI 终于生成了可以让我们直接拿来参考的服装点子,比如“龙忍者”“人首马身的女巫”“鲨鱼头的吸血鬼”等等:
我们可以看到,随着训练周期一步步增加,AI 的学习能力和创造能力也不断提高。Janelle Shane 还展示了 AI 大开脑洞后的一些佳作:
性感圣诞老人:
性感男巫:
机器人海盗:
还有一个很有意思的现象。一开始神经网络完全不了解输入数据,既不知道字母和空格之间的差别,也不知道怎么拼写单词。后来一遍又一遍的训练后,算法身经百战见的多了,开始学习到了一些东西。果然,AI 最先学会的其中一个词就是“性感”,原因嘛也很简单——网友发来的万圣节服装里很多都有这么个字眼。于是 AI 创作了一大堆“性感”作品,虽然很多并不存在:
有时 AI 也会偷懒,从训练数据中直接拷贝了一些服装名字,它之所以这么干是因为我们告诉它要尽可能地生成和训练数据一样的东西,那么在 AI 看来,拷贝训练数据是最完美的解决方法了。看来还是很机灵的,甚至有点可怕。
所以《纽约时报》评论道,这或许才是万圣节中最令人毛骨悚然的地方——我们很难说清楚 AI 到底是怎么想出这些名字的,即便我们仔细查看神经网络内部的神经元,仍然难以解释它们为了做出预测所学习的规则。
除了让 AI 想出万圣节服装的点子之外,还有个叫 Matt Reed 的程序员用 AI 生成了万圣节面具。他将几千副万圣节面具图像输入到一个生成式对抗神经网络(GAN)中,让它识别其中的数据模式,之后 AI 创作出了它自己的万圣节面具:
虽然看着模糊不清,但吓人的效果还是达到了的。
不管是创作万圣节服装还是生成万圣节面具,人工智能越来越会搞事情了,期待明年的万圣节会有更好玩的玩法。
参考资料: