通篇读完这个论文,需要解决如下问题:

  1. ViLBERT架构是什么样子的?

  2. ViLBERT预训练任务是什么?

  3. ViLBERT实现细节有哪些?

1. ViLBERT架构是什么样子的?

首先我们来聊第一个问题:ViLBERT架构是什么样子的?

直接看图:

这个图其实很不错,我简单来概述一下,如下:

首先ViLBERT包含两个并行的流,上面的那个是图片流,下面那个是文本流;

每个流是由一些TRM Blocks和  co-attentional TRM layers【Co-TRM】组成;

需要注意的是TRM Blocks 和Co-TRM 可以是多层的;

这里面最主要的部分其实就是这个Co-TRM;

在那个虚线框中,我们可以看到Co-TRM有两个部分,真正的Co-TRM和后连接的TRM;

首先我们要明确,从图片流前半部分【未交互之前】出来的是一个个图片regions的embeddings;

从文本流前半部分出来的是一个个文本tokens的embeddings;【需要注意的是文本这有一个L-K X的符号,其实代表的就是构建多层的TRM,在本文就是一个BERT-Base】;

知道各自流前半部分出来的是什么之后,就到了重头戏上的Co-TRM这个架构,直接来看论文中的图:

其实这个结构很简单,就是在做attention的时候,做一些改动;

在上面这个图片流,我的Q矩阵来自图片信息,但是我的K和V矩阵来自文本信息;

在下面这个文本流,我的Q矩阵来自文本信息,但是我的K和V矩阵来自图片信息;

简单说,就是做了一个在文本条件下的图片的attention和在图片条件下的文本的attention;

也就是在文本和图片之间做了一个信息的交互;

这里需要注意的是,在交互之后,各自走自己独立的TRM结构,而并没有拼接在一起走TRM结构;

我自己在之前的多模态落地讲解文章中有谈到,我的baseline架构和这个很类似,只不过,我是做了双方面的attentinon之后,直接拼接接了任务相关的结构;

2. ViLBERT预训练任务是什么?

然后我们再来看ViLBERT预训练任务是什么?

之前文章谈到,多模态的预训练任务从BERT演化而来,可以分为两类任务:重建任务和匹配任务;

那么在ViLBERT也是这两类;

重建任务就是文本重建和图片重建;

匹配任务是是否匹配;

需要注意的是重建任务构建的时候并么有保持另一个模态数据保持完整;匹配任务是H_cls和H_img相乘接了一个MLP做分类;

也是直接来看图:

这么看文本和图片的任务是合在一起训练了,其实从模型架构我们可以看到两个流在最后是各自分支输出的,这点需要注意;

3. ViLBERT实现细节有哪些?

实现细节这里其实可说的没有多,主要是ViLBERT本身的预训练和在四个下游任务进行迁移学习;

在预训练的时候,数据使用的是330万个图像-字幕对;

这个很有意思,相当于是一种无监督的语料,但是怎么处理文本和字母不相关的问题,因为并不是每时每刻都是相关的,想一下电视剧的情景;所以这种数据噪声估计很严重,需要清理;

论文使用的数据来自ACL2018论文搞出来的数据,比较干净一点;

由于担心训练时间,ViLBERT中的BERT这个流使用的是bert-base,后来发现bert-large可能会有更好的表现;

使用FasterRCNN,通过卡阈值的方式来提取图像中的置信度比较高的候选框【10-36个】,使用 mean-pooled convolutional feature 作为这个候选区域的特征向量;

其他的:8个TitanX GPUs / batch size of 512 /10 epochs / Adam optimizer / initial learning rates of 1e-4.

下游任务中的几个任务:Visual Question Answering (VQA);Grounding Referring Expressions;Caption-Based Image Retrieval;‘Zero-shot’ Caption-Based Image Retrieval;

做了两个对比实验:

  1. 第一个是使用了单流的bert-videobert;没怎么改变bert的架构;

这个其实对照到文本相似度这边,其实属于交互式模型,所以这种模型存在的一个问题是没有办法很好的缓存单个文本或者单个图片的embedding,这样在做一些检索任务的时候就非常的不方面;

为啥DSSM 架构这么有名,效果是一方面,速度更加的被大家看重;

  1. 第二个实验是相同的 ViLBERT架构,但是并没有在我们的图像-字幕数据集中进行预训练;

这个实验是为了 看一下 架构和预训练数据的作用,从而来证明,架构是有用的,预训练也是有用的;

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

END -

NLP任务增强:通过引入外部知识来提供额外信息

2021-07-07

微软亚研院 | 智能信息检索综述

2021-07-05

我是如何寻找数据集的,一些个人私藏

2021-07-02

word2vec中的数学模型

2021-07-01

多模态之ViLBERT:双流网络,各自为王相关推荐

  1. SIGGRAPH 2021丨OPPO与南大提出双流网络:仅输入单张图片,就能“看”出物体材质...

     OPPO 为了解决双向反射分布函数 (SVBRDF)提取过程中所遇到的纹理.高光.阴影问题,南京大学计算机软件新技术国家重点实验室的过洁博士等多位专家学者和OPPO软工多媒体与智慧开发部高级算法工程 ...

  2. 李沐论文精度系列之七:Two-Stream双流网络、I3D

    文章目录 一.双流网络 1.1 前言 1.2 网络结构 1.3 光流(Optical flow) 1.3.1 什么是光流 1.3.2 如何利用光流 1.3.3 双向光流(Bi-directional ...

  3. 双流网络: Two-Stream Convolutional Networks for Action Recognition in Videos

    Contents Introduction Two-stream architecture for video recognition Evaluation Enlightenment Referen ...

  4. 网络搜图王 v1.70 免费

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

  5. Two-Stream Convolutional Networks for Action Recognition in Videos双流网络论文精读

    Two-Stream Convolutional Networks for Action Recognition in Videos双流网络论文精读 论文:Two-Stream Convolution ...

  6. two-stream双流网络 知乎、CSDN学习笔记

    文章目录 一.文章解决的问题 二.论文细节 1.双流网络的具体结构是什么 2.两个网络怎么合并在一起 3.optical flow(光流)是什么 4.多任务学习怎么做 5.Bi-directional ...

  7. 网络工程师必读——网络工程基础 王达

    王达老师的书籍  网络工程师必读--网络工程基础 http://book.51cto.com/art/200704/46276.htm 转载于:https://www.cnblogs.com/litt ...

  8. 深度学习-视频行为识别:论文阅读——双流网络(Two-stream convolutional networks for action recognition in videos)

    这里写目录标题 视频的行为识别 前言 背景 内容组成 主要贡献 算法介绍 网络结构 双流(two stream)网络结构 空间流卷积网络(Spatial stream ConvNet) 时间流卷积网络 ...

  9. Exp7 网络欺诈防范 王秀飞20154318

    一.实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS_spoof (3)结合应用两 ...

最新文章

  1. 【PHPWord】创建带样式表格的Word文档
  2. boost::mpl模块实现fold相关的测试程序
  3. P1083 借教室(差分+二分)
  4. 关于deepearth的一点小问题
  5. 浏览器怎么扫描二维码_让你的chrome浏览器开启自动翻译,浏览任何语言不是梦...
  6. 愿你我,能被这世界温柔以待
  7. Java面试题目(非通用模板)
  8. C语言 while语句的用法
  9. 颜色代码表#FFFFFF #FF0000 #00FF00 #FF00FF (2015-07-21 10:39)转载
  10. 自编超爽的对战游戏 非常有趣
  11. 计算机毕业设计Java智慧防疫上报系统小程序端(源码+系统+mysql数据库+Lw文档)
  12. 传大疆北美裁员1/3,离职高管透露内部斗争严重
  13. 1032. 挖掘机技术哪家强
  14. linux 不删除文件,清空文件内容命令
  15. Linux搭建Nextcloud,打造属于您的专属网盘
  16. 分布式应用集成技术浅谈
  17. 在线摩斯电码转换,支持中文的摩斯密码转换
  18. DESTOON改为教育招生网站有哪些问题需要注意
  19. 音视频命令转换工具 - FFmpeg
  20. harmonyOS智慧屏,华为智慧屏S系列发布 宣布HarmonyOS全新升级

热门文章

  1. SAP License:2021年最新FICO面试答案
  2. SAP License:SAP常用基本小技巧
  3. 手把手之stacking|分享集成模型在实际工作中的应用(上)
  4. Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值
  5. 【转载】TCP拥塞控制算法 优缺点 适用环境 性能分析
  6. nginx 下开启pathinfo模式
  7. Content-Script-Type的设置好象没多大用处,或许我不知道有什么用
  8. Eclipse 常用技巧及常见问题解决
  9. iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
  10. Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.