深度学习了40万个表情,一大波AI 表情包来了

640?wx_fmt=gif


自从有了表情包,跟人聊天时的第一反应,就是去找找看有什么适合的表情。


有一类表情包,形式是文字+图,尤其能够精妙地抒发和传递感情。


640?wx_fmt=jpeg


在这一点上,可能全世界的网友都一样。


640?wx_fmt=jpeg



好用的表情永远不嫌多,而且似乎总是不够用。


怎么办?


好在我们有深度学习。

表情包,一个天然的图说生成问题


斯坦福大学的Abel L. Peirson V和E. Meltem Tolunayl,在这一期斯坦福深度学习自然语言处理课程CS224n的期末作业中,提交了一个表情包生成器,使用深度学习,制作“图片+文字”型的表情包。


下面这些都是他们的系统自动生成的结果。不得不说,深得表情包制作精髓。


640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


这个表情包生成器的基本的框架是一个编码器-解码器图说生成系统,先进行CNN图像嵌入,然后用一个LSTM RNN进行文字生成。


其中,编码器的目标是要给出一个有意义的状态,让解码器开始进行文字生成。他们使用在ImageNet上预训练的Inception-v3做为编码器模型,并将最后一层隐藏CNN作为编码器的输出。当表情包模板进入Inception模型后,输出是一组长度固定的向量,也即图像嵌入,能够反映图像的内容。这个图像嵌入之后会被投射到词嵌入空间里,方便后续文字生成。


他们一共尝试了3种不同的编码器模型,最简单的一种只输入图像,另一种输入图像和标签,最后一种的输入也是图像和标签,但使用了注意力机制。至于解码器,都是一个单向LSTM。这样搭配组合成了3种编码器-解码器方案。下图展示了第二种方案的模型。



640?wx_fmt=png

学习40万个表情,幽默程度媲美人类



数据集是这个表情包生成器的精髓。他们的数据集由大约40万张带标签和图说的图片组成。其中有2600个独特的图像-标签对,是他们写Python脚本从Memegenerator.net中获取的。一张图片对应一个标签,标签是对这幅图的简单描述,而每张图都与很多不同的图说(大约160个)相关联。


下图展示了数据的样本:


640?wx_fmt=png


在训练前,他们还针对图说中的标点、格式和某些词出现的频率等进行了预处理。


训练的结果,深度学习生成了各种表情:


640?wx_fmt=png

系统看过的图像(左边4张)的输入标签是来自训练集的标签,而对于没见过的图像(右边4张),我们使用的句子是“AI是新的电力”。


从语法、搞笑程度和可区分性(分辨是人制作的还是深度学习生成的)几个维度判断,深度学习表情包生成器取得了不错的效果。尤其是搞笑程度,因为这一点是制作表情包的初衷,普通表情包的搞笑程度7分(满分10分),深度学习生成的表情包最高达到了6.8。


两位作者指出,幽默是很难评判的事情,本身就是一个很深的研究领域。他们的这项工作十分基础,接下来如果能构建出能够自动断句的表情包生成器(就是自动判断图片上方和下方两行文字从哪里断开),将会是一个很大的进步。(因为使用的都是网络热图,因此数据含有性别歧视和不文明的成分。)此外,探索视觉注意力机制在表情包生成中的作用,也是一个不错的研究方向。


相关论文和代码

  1. Dank Learning: Generating Memes Using Deep Neural https://arxiv.org/pdf/1806.04510v1.pdf

  2. Github:https://github.com/alpv95/MemeProject


来源:Arxiv

文章版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。


640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353653.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

进击的巨人有趣表情包

image 下载地址: 进击的巨人_BQB/进击的巨人00001-戴拿.gif image 下载地址: 进击的巨人_BQB/进击的巨人00002-莱纳你坐呀.gif image 下载地址: 进击的巨人_BQB/进击的巨人00003-逐渐变得精彩起来了.jpg image 下载地址: 进击的巨人_BQB/进击的巨人00004-醉酒的等级-尤弥尔希斯…

深度学习的分割方法

FCN:基于深度学习的语义分割模型 语义分割的定义:对像素进行精细化的分类。 用深度学习来解决语义分割,所面临的主要问题是: 早期的深度模型用于分类,输出一维向量,无法分割 深度模型不够精细 动机 如…

中国人民大学与加拿大女王大学金融硕士——人生选对方向很重要

有人说,人生最重要的不是财富、不是荣誉,而是选择一条正确的道路。选择正确的方向,对一个人的成长和事业的成功与否,起着决定作用。有了方向,你前进的每一步都跟接近幸福。在职计划读研的你有了解过中国人民大学与加拿…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域,有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐: Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言,并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

deepin搭建go开发环境(git、go、neovim、NvChad、Nerd Font)

安装deepin虚拟机 官网下载地址 vmware中记得版本选择是debian 10.x 64位 然后就是一些确认操作,然后就可以了 安装git apt install gedit apt install git git config --global user.name "hello" git config --global user.email hello126.com git c…

Win7下Apploc的正确安装姿势

时隔两年之后WIN7终于再次挂掉。于是重装系统打完补丁之后又遇到了安装Apploc的问题。因为印象中需要使用msiexec来安装才能正常进行,但是却记不得细节了,于是求助Google。得到的结果无论中英文基本如下: 1. Admin权限开个cmd.exe 2. cmd里运…

使用sasjs构建html5 javascript css应用

In our previous articles, we have learnt about the SASjs ecosystem and seen how we can build a SAS app with Angular. 在之前的文章中,我们了解了SASjs生态系统,并了解了如何使用Angular构建SAS应用程序 。 In this article, we will look at ho…

漫漫长夜无限服务器断开,漫漫长夜崩溃问题解决方法 | 手游网游页游攻略大全...

发布时间:2015-11-13 漫漫长夜鹿皮怎么获得 漫漫长夜鹿皮获得方法,漫漫长夜The Long Dark中的鹿皮可以造鹿皮靴.前提当然是需要鹿皮了,那肯定得去杀鹿喽,可这鹿怎么杀呢?感兴趣的一起来看看吧. 引狼杀鹿 你先要等鹿被狼杀死,之后去干掉 ... 标签: 游戏攻略 游戏秘籍 漫漫长夜…

unity自动校准(翻译)

本文只是对那篇老外博客进行了翻译,翻译的不好,自己刚过六级.肯定有很多问题,欢迎同学指出. 原文链接:http://www.paradeofrain.com/2010/07/lessons-learned-in-tilt-controls/ 回顾一下 我想简单粗糙的讲…

vivo 互联网业务就近路由技术实战

一、问题背景 在vivo互联网业务高速发展的同时,支撑的服务实例规模也越来越大,然而单个机房能承载的机器容量是有限的,于是同城多机房甚至多地域部署就成为了业务在实际部署过程中不得不面临的场景。 一般情况下,同一个机房内部的…

进出口跨境电商软件平台系统开发,源码技术架构

一、进出口跨境电商软件平台系统开发需做好相应的前期准备,如确定市场、了解政策、推广宣传等。 欢迎名片沟通探讨 确定目标市场:选择合适的目标市场。需要了解目标市场的消费习惯、政策法规以及竞争情况。 了解海关相关政策:针对不同国家或…

机器学习——集成学习(装袋法Bagging、提升法Boosting、梯度提升决策树GBDT、随机森林RF)

集成学习 集成学习通过构建并结合多个学习器来完成学习任务 集成方法是用多种学习方法的组合来获取比原方法更优的结果 使用于组合的算法是弱学习算法 即分类正确率仅比随机猜测略高的学习算法 但是组合之后的效果仍可能高于强学习算法 即集成之后的算法准确率和效率都很高…

C++,Qt部分面试和笔试题

面试这么多次,C这块基础太差了,乘着还有印象总结下相关的面试问答和笔试题,后续会不断更新内容 目录 问答题1.计算机网络七层体系结构2.C中关键字static和const的使用3.QList和QVector for循环输出速度比较4.构造函数能否为虚函数5.谈谈你对面…

Mysql进阶【1】论述索引,索引数据结构,MVCC

1. ReadView 案例,解释为什么 RR 和 RC 隔离级别下看到查询结果不一致 案例 01- 读已提交 RC 隔离级别下的可见性分析 开启两个回话,会话事务级别都是READ-COMMITED; 操作步骤 开启两个数据库会话,设置事务为提交读事务2查询id1数据&#…

纯净内存清理加速软件(Mem Reduct)

纯净内存清理加速软件(Mem Reduct) 文章目录 纯净内存清理加速软件(Mem Reduct)一、Mem Product是什么?二、使用步骤1.下载2.安装 总结 你还为了加速球还困扰全家桶吗,看看这个!! 一、Mem Product是什么&a…

如何清理占用计算机内存,告诉你如何深度清理电脑内存

在如今这个社会时代中,电脑可以说是人们在日常生活中必不可少的一个工具,电脑对我们的学习和工作都起着非常大的作用。但电脑也有出现问题的时候,比如说电脑内存变得越来越小,遇到该问题是该如何处理呢?当然是进行清理内存啦,今天小编就给大家分享一下清理电脑内存的方法…

计算机C盘内存清理

计算机C盘总是莫名其妙的就满了,于是总结了一些清理C盘垃圾以及维护C盘内存的方法。大家有别的有效的方法欢迎告诉我,随时补充。 目录 一、 清理C盘垃圾方法1 利用系统自带的磁盘清理工具进行清理2 定期清理系统临时文件3 清理电脑缓存垃圾4 定期清理浏…

服务器系统如何清理,服务器清理内存怎么清理

服务器清理内存怎么清理 内容精选 换一换 本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用,当内存耗尽时,云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时,频繁的内存与虚拟内存的切换会导致…

Lftp+Sftp传输总结

背景介绍:因为备份数据的不断扩大,需要把现网备份的数据(2T左右)传回到本地进行异地保存。但是2T太大了,需要进行压缩,这里采用了3G一个压缩包的方式。以下是压缩脚本 #!/bin/bash # 此脚本是全量压缩mongo…

xftp,xftp怎么连接

服务器管理进行文件传输用的最多的就是FTP传输,那xftp怎么连接服务器呢?打开xftp软件,新建一个连接,填上要连接的IP,端口号,用户名,密码等,保存即可。在选项中选择编码为UTF-8&#…