电子说
深度学习生成表情包,笑不笑由你。
自从有了表情包,跟人聊天时的第一反应,就是去找找看有什么适合的表情。
有一类表情包,形式是文字+图,尤其能够精妙地抒发和传递感情。
在这一点上,可能全世界的网友都一样。
好用的表情永远不嫌多,而且似乎总是不够用。
怎么办?
好在我们有深度学习。
表情包,一个天然的图说生成问题
斯坦福大学的Abel L. Peirson V和E. Meltem Tolunayl,在这一期斯坦福深度学习自然语言处理课程CS224n的期末作业中,提交了一个表情包生成器,使用深度学习,制作“图片+文字”型的表情包。
下面这些都是他们的系统自动生成的结果。不得不说,深得表情包制作精髓。
这个表情包生成器的基本的框架是一个编码器-解码器图说生成系统,先进行CNN图像嵌入,然后用一个LSTM RNN进行文字生成。
其中,编码器的目标是要给出一个有意义的状态,让解码器开始进行文字生成。他们使用在ImageNet上预训练的Inception-v3做为编码器模型,并将最后一层隐藏CNN作为编码器的输出。当表情包模板进入Inception模型后,输出是一组长度固定的向量,也即图像嵌入,能够反映图像的内容。这个图像嵌入之后会被投射到词嵌入空间里,方便后续文字生成。
他们一共尝试了3种不同的编码器模型,最简单的一种只输入图像,另一种输入图像和标签,最后一种的输入也是图像和标签,但使用了注意力机制。至于解码器,都是一个单向LSTM。这样搭配组合成了3种编码器-解码器方案。下图展示了第二种方案的模型。
学习40万个表情,幽默程度媲美人类
数据集是这个表情包生成器的精髓。他们的数据集由大约40万张带标签和图说的图片组成。其中有2600个独特的图像-标签对,是他们写Python脚本从Memegenerator.net中获取的。一张图片对应一个标签,标签是对这幅图的简单描述,而每张图都与很多不同的图说(大约160个)相关联。
下图展示了数据的样本:
在训练前,他们还针对图说中的标点、格式和某些词出现的频率等进行了预处理。
训练的结果,深度学习生成了各种表情:
系统看过的图像(左边4张)的输入标签是来自训练集的标签,而对于没见过的图像(右边4张),我们使用的句子是“AI是新的电力”。
从语法、搞笑程度和可区分性(分辨是人制作的还是深度学习生成的)几个维度判断,深度学习表情包生成器取得了不错的效果。尤其是搞笑程度,因为这一点是制作表情包的初衷,普通表情包的搞笑程度7分(满分10分),深度学习生成的表情包最高达到了6.8。
两位作者指出,幽默是很难评判的事情,本身就是一个很深的研究领域。他们的这项工作十分基础,接下来如果能构建出能够自动断句的表情包生成器(就是自动判断图片上方和下方两行文字从哪里断开),将会是一个很大的进步。(因为使用的都是网络热图,因此数据含有性别歧视和不文明的成分。)此外,探索视觉注意力机制在表情包生成中的作用,也是一个不错的研究方向。
全部0条评论
快来发表一下你的评论吧 !