【论文笔记】The neuro-symbolic concept learner: interpreting scenes, words, and sentences

The neuro-symbolic concept learner: interpreting scenes, words, and sentences from natural supervision 论文笔记

a neural-based perception module:
scene understanding这里的话关键是object-based understading 核心其实是有proposal generator 这里是Mask R-CNN 还有object interpreter 这里是ResNet-34 所以他的mask-rcnn找到proposals 然后将mask rcnn的proposal和原图一起在ResNet-34中进行forward,然后得到的是不同的object feature. 一张图有多少个object 就有多少个object feature. 这就是object-based representation.
然后通过不同的operators进行attribute,也就是ObjConcept还有RelationConcept的提取,这些会被用于program executor中。
a visually-grounded semantic parser
semantic parser这一块主要是做的是首先用POS tagging找到natural language中所有的concept words,这是program的依据,然后通过encoder将文本转换为特定长度的feature之后,再用一些operationDecoder将其提取出预定义的类似 Filter Query Relate之类的opration, 最后递归迭代组合成为一种类sql的语言,这就是最终的programs。
a symbolic program executor
将上述的从图片中提取的concept以及从文本中提取的层级program进行执行,逐步得出答案。

里面有一些细节:

  1. relation concept用一个operator来进行提取,此时的输入应该是两个object representation 但如果把 考虑位置关系的两个物体的scene representation concate起来的话,就不需要这么麻烦,位置信息在图片中就已经包含了。
  2. 由于作者提到了curriculum learning,从简到难的方式,原始的CLEVR数据集上的问题主要集中在Lesson3以及Deploy的级别上,而且每张图片有10个问题,所以我觉得他应该是额外生成了一些简单的问题。每张图片额外生成20个问题。

需要训练的参数主要集中在 neural-based perception (包括了conceptOperator(ShapeOf)relationOperator concept embedding)和semantic parser(Encoder和不同的conceptDecoder和 operationDecoder)模块。
是用了强化学习的方式然后jointly training的
不过我看了会代码我发现还是有一些SceneParsingLoss, ParserV1Loss, 会有add supervision的时候,使用extra annotations进行训练的,其余就是在不同answer类别的时候使用不同的loss进行训练就可以了。

优点:
1.泛化性很强 对于新的attribute的组合,新的attribute,新的concept,新的更复杂的图像以及任务迁移都做了很好的实验
2.可解释性很强,体现在Figure 4 B中的case study中,层级的解析
3.只需要很小的数据集就可以有非常不错的效果 仅用10%的数据训练后的效果是远好于同级别的模型的
4.不需要额外的label,只需要数据集上的natural supervision就可以了
5.用operator处理attribute, 用executor处理program,将这些信息粒度化,这样大大增强了可解释性和可组合性。

缺点:

  1. 我感觉不同任务的数据集上,perception module, semantic parser中的operators数量以及concepts数量等等需要重新定义,额外增加的工作量主要是在curriculum learning中,但是原始数据集的question是程序自动生成的所以这里的问题我估计也是程序生成的,所以也不能说算是缺点吧…
区别点 NS-VQA NS-CL
label full annotations & extra labels & predefined programs / programs no annotations & no labels zero programs annotations
训练样本 1,2,3 sampling from question family curriculum learning(basic question generated self)
训练方式 seperatively training & fine tune jointly training (answers and results from executors training through reinforcement learning method)

Future Work:

1.沿着NS-CL方向的在更普适的VQA数据集上做
2.将自然语言转化为形式化语言natural language -> query filter等等的
3.自动选取concept word.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章