xiaomin418 / CFSum

10 stars 1 forks source link

Ask for some understanding of this paper. #3

Open miaomiaocoder opened 11 months ago

miaomiaocoder commented 11 months ago

尊敬的作者,很高兴您做出了一个非常棒的工作。我阅读了您这篇论文,并且初步阅读了这篇代码(很抱歉我个人没法正确地运行起来本项目代码,阅读源码的能力稍弱)。故想请教以下这些问题?

论文模型的架构是,基于多模态变换器 UNITER 和 GRU,UNITER作为编码器,GRU作为解码器,编码器-解码器架构上改进的。改进的是多模态变换器 UNITER的transformer模块,在transformer模块增加了预过滤模块、词级补全模块和短语级补全模块。我理解下来是这样么?

在UNITER这篇论文中,我看到他们的图像嵌入是使用Faster R-CNN2提取的视觉特征,而本篇论文是使用的BUTD工具来做视觉特征提取。文本嵌入式uniter和本文都使用了BERT。这里的理解不知道是否正确?

因为没有办法运行起来代码,我想学习一下,编码器和解码器之间是怎么处理的,有点疑惑是哪部分代码处理了UNITER得到的向量到GRU解码器生成文本,可以帮忙截图指出一下位置么。

很感谢您做出了一个非常棒的工作!可以指导我目前学习遇到的疑问么,谢谢,非常感激!

miaomiaocoder commented 11 months ago

对于第三点,我理解的是将uniter编码得到的向量作为隐藏的编码器特征与输入id一起传递给GRU解码器。 我是参考下面这个github的链接来理解的。因为它这里提到UNITER和OSCAR等单流模型作为编码器。 https://github.com/darthgera123/Multimodal-Summarization

架构

xiaomin418 commented 10 months ago

十分抱歉,前段时间有些忙,没有及时一一回复你的问题。

  1. 关于论文架构的理解,你理解的是对的。
  2. UNITER目标检测器采用的是faster-rcnn,butd同样也采用了faster-rcnn。由于UNITER官方提供的目标检测器我无法使用,所以我用了butd提供的faster-rcnn docker,而模型权重则由uniter官方提供。在特征提取后,整体对两个的模态编码器完全采用UNITER进行编码。
  3. 编码器和解码器之间的处理,可以查看./src/model/mms.py文件下class MultiModal() 类别的forward函数,图片参考如下: 1704700850376