论文笔记《Visual Dialog》

一、文章讨论视觉对话,让AI以自然语言与人类进行有意义的对话,讨论视觉内容。应用包括:

1、帮助视障用户理解他们周围的环境或社交媒体内容。

AI:'约翰刚从夏威夷度假时上传了一张照片',

人类:'太棒了,他在海滩吗?

AI: 不,在山上。

2、帮助分析师根据大量监测数据做出决定。

人类:'上周有人进入这个房间吗?'

AI:'是的,有27个实例出现在镜头'

人类:'他们中是否有人携带黑色包?“

3、与人工智能助理互动。

人类:'Alexa - 你能看到宝宝在婴儿监视器中吗?'

AI:'是的,我可以',

人类:“他在睡觉还是在玩耍?”

4、机器人应用(例如搜索和救援任务),操作人员可能处于“情境盲区”并通过语言操作。

人类:“你周围的任何房间都有烟吗?”

AI:'是的,在一个房间里' 

人类:'去那里找人'。

但是尽管视觉和语言取得大的进展,但是我们距离AI能“看”和“沟通”还很远,比如image captioning 和visual question answering,仍然有很大的进步空间,前者没有实现对话,后者只有单论对话,人机交互很糟糕。

于是作者提出视觉对话,任务描述: 给定一张图片I,一段包括一系列QA的对话记录,一个自然语言问题,让AI回答这个问题。


二、相关工作:

1、视觉和语言:视觉和语言结合的工作有很多: image captioning, video/movie description , text-to-image coreference/grounding, visual storytelling,  visual question answering (VQA) ,不过它们都没有对话。

2、视觉图灵测试:图灵测试是一个系统,要求模板化的二进制问题。我们的数据集自由、多样,每张图片10对QA。

3、基于文本的QA:

4、对话模型和聊天机器人:视觉对话可以说是基于文本的对话的变体,早期聊天机器人是基于规则,现在基于学习的端到端的方法很多。


三、数据集VisDial

四、模型

输入:图片I、对话历史(包括图片描述),其中C是caption,QA是问答

有100个候选回答At = ,需要返回其中一个值。


Decoder:两种类型的解码器

1、生成解码器G:在训练期间,最大化真实回答序列的对数似然率。 为了评估,我们使用模型的对数似然率分数和排名候选答案

2、判别(softmax)解码器D:计算每个选项的后验概率,在训练期间,最大化正确选项的对数似然率。 在评估过程中,选项根据后验概率进行简单排序。

Encoder:三种编码器,将(I,H,Qt)融合为一种表达。

1、后期融合LF:把H看作整个历史的串联(H0,...,Ht-1)


2、分层递归HRE:


3、记忆网络MN:


五、实验

1 下载数据集,预处理数据集

python prepro.py
生成 data/visdial_data.h5 (tokenized captions, questions, answers, image index) 和  data/visdial_params.json  (vocabulary mappings and COCO image ids).

2 VGG16提取图片特征

sh scripts/download_model.sh vgg 16   

 得到 data/data_img.h5

th prepro_img_vgg16.lua 

得到data/models/vgg16

3 训练

th train.lua  

得到checkpoints/

4 评估

th evaluate.lua

5 Beam Search ,可视化结果

th generate.lua
得到 vis/results/results.json

python3 -m http.server
在网站localhost:8000看到结果




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值