前言

多模态现在可真谓是一大研究热点,之前我们已经介绍了比较多的多模态模型,感兴趣的小伙伴可以穿梭看之前笔者微信公众号的文章:

多模态预训练模型综述紧跟研究热点,快来打卡多模态知识点吧~https://mp.weixin.qq.com/s/r95blN2q9OAr7wUfJBxTNQ最新图文大一统多模态模型:FLAVA新年第一弹:最新多模态大一统模型FLAVA来咯~https://mp.weixin.qq.com/s/HxL-bJmM934a9SmVM3xBdw今天我们来介绍一篇最新百度出品的多模态生成模型,名字叫做ERNIE-VILG,话不多说,先上几张文字生成图片的效果

是不是很棒,当然这应该是挑出了效果比较好的几张,大家可以自己亲自去尝试一下:

https://wenxin.baidu.com/wenxin/ernie-vilg

论文地址:

https://arxiv.org/pdf/2112.15283.pdf

不论体验效果好与不好,技术出身的我们还是要去虚心学习一下~

那开始吧~

数据集收集

(1)Chinese Webpages

从各种Webpages收集带有文字的配图

(2)Image Search Engine

通过query-clicked这个逻辑去收集

(3)Public image-text Datase

一些公开数据比如CC、CC12M等等

框架

这里采用的框架还是大家熟知的transformer,再具体点就是UniLM即没有将encoder和decoder分开,而是通过mask来达到生成,说白了就是encoder端是bidirectional的,而decoder通过对角线mask来实现单向。

如果大家不熟悉上面说的,可以看下UniLM,由于不是本篇paper的创新点,这里就不多述了。

从上面图中我们看到对于image-to-text任务(左边图),encoder就是图片,decoder生成的就是text,相反亦然。实际过程中两个UniLM参数是共享的。下面我们详细说说各个模型单元细节。

(1)Image Discrete Representation

我们要进行表征,首先要做的就是将image和text进行量化,text大家都比较熟悉了,就是类似bert的tokenizer,而image这里采用的是VQVAE进行编码。

(2)Bidirectional Generative Model

这里本来没什么好说的,就是个常见的生成loss,只不过是两个即image-to-text和text-to-image如下:

t表示text,z表示image

但是这里需要提一下的是sparse attention,这个是一个专门的研究方向,说白了就是transformer在attention的时候是全局attention,导致复杂度是二次方,所以能不能在attention的时候只attention部分?那attention哪部分呢?针对这个问题有很多paper,这里作者采用的方案如下:

大家可以看到不论是在text-to-image中的IMG + img_tokens还是image-to-text 中的CLS + txt_tokens + SEP都是一个上三角MASK,这就是我们之前说的UniLM通过这种方式来完成生成任务,至于其他的MASK就是sparse attention部分,尤其大家可以看到在image-to-text中在对image encoder的时候,采取了一些特殊的MASK。

(3) Text-to-Image Synthesis

这一节着重提了一下文字生成图片的时候一般都采用的是两阶段任务即discrete representation sequence generation和image reconstruction。先生成特征表征z_{emb},然后再将其送到reconstructed decoder生成最终的图片。这两部分任务是单独训练的。区别于上述two-stage pipeline的方式,这里作者提出了一种end-to-end的方式。

具体的这里我们再把框架拿来看一下

红线就是two-stage pipeline,可以看到其有一步是先要得到non-derivable ID即右上角那个带数字的矩阵,然后第二步通过第一步生成的ID去 looked up得到 z_{emb} ,然后送到decoder生成图片。

而作者采用的是绿色的方案即直接将transformer最后一个layer的embedding通过一个MLP层直接映射成 z_{emb},这样整个网络就可以直接梯度回传进而实现end-to-end。

效果

直观的效果就是开头展示的,关于一些指标的对比如下

对比了一些之前的图文生成模型比如DALL-E 和CogView,总之上就是有提升吧。

总结

关注百度很长时间了,ERNIE系列真的是百花齐放,多模态、跨语种等等都拿到过SOTA,各大榜单频频可见ERNIE,屠榜届的扛霸子。

从其一些列发布的模型不难看出,一个大的基调就是:大力出奇迹。模型越做越大,包括最近其发布的文心大模型,更是史无前例的中文大模型,效果一次次刷新。但是真心希望还是能够全面落地,笔者自己也在ERNIE项目组实习过很长时间,大家确实不易,希望通过落地让这些做技术的同学也可以切实地体会到所做研究的价值。

总之加油~

关注

​​​​​​​

github:

Mryangkaitong · GitHubhttps://github.com/Mryangkaitong​​​​​​​

知乎

小小梦想 - 知乎

知乎:

多模态生成模型ERNIE-VILG相关推荐

  1. Article:AI领域2021年度总结与2022年度展望:多模态人工智能起飞、万亿参数模型的爆发、生成模型在音乐电影制作上的进展、Transformer架构正在以一己之力统一AI江湖、AI法律监管

    Article:AI领域2021年度总结与2022年度展望:多模态人工智能起飞.万亿参数模型的爆发.生成模型在音乐电影制作上的进展.Transformer架构正在以一己之力统一AI江湖.AI法律监管 ...

  2. 微软提出CoDi:开创性多模态扩散生成模型,实现4种模态任意输入输出

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[多模态和Transformer]交流群 萧箫 发自 凹非寺 转载自:量子位(QbitAI ...

  3. 《预训练周刊》第14期:World-GAN:Minecraft 世界的生成模型、CMU博士论文探究可控文本生成...

    No.14 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第14期&l ...

  4. 《预训练周刊》第6期:GAN人脸预训练模型、通过深度生成模型进行蛋白序列设计

    No.06 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第6期< ...

  5. 多模态大模型——通用人工智能路径的探索

    7月9日,中国科学院自动化研究所所长徐波在2021世界人工智能大会(WAIC2021)上就人工智能的最新进展进行报告,发布了自动化所研发的跨模态通用人工智能平台-"紫东太初". & ...

  6. CVPR论文 | 所见所想所找:基于生成模型的跨模态检索

    [小叽导读]:视觉-文本跨模态检索已经成为计算机视觉和自然语言处理领域结合的一个热点.对于跨模态检索而言,如何学到合适的特征表达非常关键.本文提出了一种基于生成模型的跨模态检索方法,该方法可以学习跨模 ...

  7. AI:人工智能的多模态融合模型的简介、发展以及未来趋势

    AI:人工智能的多模态融合模型的简介.发展以及未来趋势 目录 人工智能的多模态融合模型的简介.发展以及未来趋势 多模态融合模型的简介 多模态融合模型的发展趋势 多模态常见应用分类 1.按照模态分类 2 ...

  8. 大规模计算时代:深度生成模型何去何从

    ©PaperWeekly 原创 · 作者|Chunyuan Li 单位|Microsoft Research Researcher 研究方向|深度生成模型 人工智能的核心愿望之一是开发算法和技术,使计 ...

  9. 谷歌开源3D舞蹈生成模型FACT,舞姿清奇!

    文 | 御坂弟弟 出品 | OSC开源社区(ID:oschina2013) 谷歌开源了其基于 AIST++ 的 3D 舞蹈生成模型 FACT.该模型不仅可以学习音乐-运动对应关系,还可以生成以音乐为基 ...

最新文章

  1. 绝对巨星-罗伯特·巴乔
  2. Matlab生成Xilinx Rom IP CORE的初始化内容coe文件
  3. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)
  4. .Net winform中嵌入Flash
  5. ExpandableListView 里面嵌套GridView实现高度自适应
  6. 记录一次withRouter的实际应用场景
  7. linux各种压缩包使用方法
  8. HBase中的MemStore
  9. hp打印机没有右键扫描_安装HP打印机报错 0x000006be解决方法,图文操作步骤详解...
  10. plsql导入数据主键_使用plsql添加数据并自动生成主键
  11. UVALive 6884 GREAT + SWERC = PORTO dfs模拟
  12. Get与Post区别与范例讲解
  13. 计算机网络中采用最基本的多路复用技术是,2013年华南理工-计算机网络技术试题...
  14. 论文笔记: FSA-Net
  15. 苍蝇也有自己的“领空”吗?
  16. MCU采样NTC电阻ADC内阻
  17. 作为优秀的DBA,究竟需要掌握多少种数据库?
  18. jre_linux_64,jre linux 64下载_jdk7u79_linux_x64 免费版 1.0_零度软件园
  19. python 歌词解析
  20. 测试质量管理-如何精准测试

热门文章

  1. action mutation 调用_【Vuex】dispatch和commit来调用mutations的区别
  2. 读书笔记-程序员的职业素养
  3. Python解析库的使用
  4. 100天精通Python(基础篇)——第17天:类属性和类方法
  5. python 中setattr()函数
  6. 未经授权就使用是否构成侵权?
  7. 2017大二上期末总结
  8. 驰骋工作流Jeesite4-jflow版本安装数据库的步骤
  9. VMvare虚拟机黑屏的解决方法
  10. 8年前的Linux内核漏洞被发现