FiLM论文解读

论文题目:FiLM: Visual Reasoning with a General Conditioning Layer
论文链接:https://arxiv.org/abs/1709.07871
代码框架:PyTorch
代码地址:https://github.com/ethanjperez/film
任务:视觉推理
数据集:CLEVR

方法介绍

FiLM论文解读_第1张图片
不同的γ和β组合能够以多种方式调节单个特征图F
i是指第i个输入,c是指第c个输出feature map,x是输入,γ和β是通过函数f,h获得的参数
γ和β是仿射变换(affine transformation)的系数,F是BN层的输出,经过FiLM层进行变换输出给ReLU层
FiLM论文解读_第2张图片
左为FiLM generator(linguistic pipeline),中间为FiLM-ed Network(visual pipeline),右边是一个ResBlock的详细介绍

左边这个生成器处理问题Xi,生成了N个关于i的参数组合,GRU是RNN的一种,用于自然语言处理。最后一个GRU隐藏状态是问题嵌入,从这里我们可以通过仿射映射预测每个残差块的(γ,β)参数。中间的CNN是提取特征,可以从零开始训练,或者迁移预训练的ResNet101;然后经过数个ResBlock,最后经过分类器。

相关工作

FiLM能视为条件归一化CN的泛化。


FiLM论文解读_第3张图片
image.png

和human以及已有的方法进行准确率对比。


实验

4.2 What Do FiLM Layers Learn?
可视化

FiLM论文解读_第4张图片
第一个ResBolck的任一特征图的激活可视化

FiLM论文解读_第5张图片
最后一个ResBolck的任一特征图的激活可视化

刚开始的时候,对于不同问题,特征图的可视化激活图都是一样的(Before FiLM那一行);经历了几次FiLM层之后,Before FiLM那一行的激活图不一样了。


4.4 CLEVR-Humans: Human-Posed Questions
探索模型的泛化性,用CLEVR-Humans数据集
过程:用已有的用CLEVR数据集训练好的模型,再辅以 CLEVR-Humans数据集来微调 linguistic pipeline,不能更新 visual pipeline为了避免过拟合。


FiLM论文解读_第6张图片

FiLM论文解读_第7张图片

4.5 CLEVR Compositional Generalization Test
用CLEVR-CoGenT这个新的数据集来测试few- shot and zero-shot的表现
数据集它包含了两个不同条件的数据集A,B,他们两的颜色正好对调。为了考察模型推理的方式:是通过记住特征的组合?还是通过学习泛化的表现?

FiLM论文解读_第8张图片

用B微调后,A的准确率下降了。说明一定程度上还是在记特征组合。
0-shot是为了扩充实验。【few-shot是指样本很少,zero-shot是指样本为零】


附录

错误分析:
遮挡、FiLM学到了计数背后的潜在概念导致误判(差一)、逻辑前后不一致

你可能感兴趣的:(FiLM论文解读)