——猫戴着什么?
——帽子。
——天气怎么样?
——下雨。
——披萨上面是什么?
——蘑菇。
看图回答这些问题,对我们人类来说再简单不过了,但是要让AI熟练掌握这项技能,还需要探索。
Facebook刚刚为这个领域的探索者们,开源了一个模块化视觉问答框架:Pythia。
事情还要从在弗吉尼亚理工大学和乔治亚理工大学主办的视觉问答(Visual Question Ansering)比赛VQA Challenge说起。
比赛上,Facebook AI研究院(FAIR)队伍,A-STAR拿下了冠军。总成绩72.41分,排名第一,在是否(上图的Yes/No)、其他(Other)两类问题上也排名第一,分别拿下了87.7和63.95分,就是数学(Number)成绩差了点,51.51分,不及格,排在第六。
其他的参赛者,回答“是/否”都答得还算不错,回答数字都不及格,而答案五花八门的其他问题,也在及格线上下徘徊。
夺冠的FAIR观察发现,目前的视觉问答(VQA)模型,无外乎这样几个模块:问题编码、图像特征提取、答案空间分类。
于是,他们就想针对VQA领域,打造一个简单的模块化的模型研发平台,说不定还能顺便用在看图对话上。
建造平台的第一步,就是开源了A-STAR参赛所用模型的基础框架:Pythia,目前版本号v0.1。
为Pythia打下基础的,是2017年VQA Challenge冠军,Peter Anderson等人提出的Bottom-Up and Top-Down Attention模型。
Bottom-Up,指的是这个模型以ResNet-101为基干网络,用了Visual Genome数据集预训练的Faster-RCNN,用自底向上的注意力机制来提取图像特征。
而Top-Down,指的是根据问题(当前任务)来计算图像区域上的注意力分布。
在这个模型的基础上,FAIR团队做了一些调整。
比如说,将up-down模型里的双曲正切激活函数换成权重标准化+ReLU,用Adamax来优化模型,增大学习率。又比如,把bottom-up模型里的目标检测模型换成Detectron里的FPN,还对用到的数据集:Visual Genome、Visual Dialog等都做了数据扩增。
每一个模块的优化,都带来了模型性能的提升。
BTW,Facebook参赛队伍和框架的名字都别有深意。
队伍的名字——A-STAR,跟星星没什么关系,它是意思是能看、说话、行动、推理的智能体(Agents that See, Talk, Act, and Reason)
框架名字Pythia,也就是希腊神话中的皮提亚,德尔菲阿波罗神庙中的女祭司。女祭司的一项重要工作嘛,就是回答问题。
如果你也想搭一个会看图回答问题的模型,收好这份paper:
Pythia v0.1: the Winning Entry to the VQA Challenge 2018 *Yu Jiang, Vivek Natarajan, Xinlei Chen, Marcus Rohrbach, Dhruv Batra, Devi Parikh https://arxiv.org/pdf/1807.09956.pdf
以及开源代码:
https://github.com/facebookresearch/pythia
为它打下基础的Bottom-Up and Top-Down Attention:
https://github.com/hengyuan-hu/bottom-up-attention-vqa
— 完 —