jpthu17 / DiffusionRet

[ICCV 2023] DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
Apache License 2.0
119 stars 6 forks source link

关于MSVD的Mean R在您的几份工作中差异 #9

Closed ghost closed 7 months ago

ghost commented 7 months ago

您好,我想请问为什么在DiCoSA的工作中,T2V的Mean R是9.1是比较靠近类似X-CLIP或者是CLIP4Clip中对应的10左右的数值,但是在您的DiffusionRet或者是EMCL-Net的中的T2V的MSVD的Mean R却都是16附近的数值,这与X-CLIP或者是CLIP4Clip或者是您的DiCoSA的相差非常大,我很好奇是为什么?您的MSVD应该是用训练的1200视频与val与test都是670吧

jpthu17 commented 7 months ago

我觉得可能有以下几个原因:

I think there may be the following reasons:

ghost commented 7 months ago

我比较赞同过拟合,因为好像在使用在扩散那篇工作ema测试通常来讲会比直接model更新后的测试要好的多。我想问一下您训练MSVD的时候是否也会发生训练不到一半后面的测试就会跌的很严重,ema测试往往会比较好[因为只更新了0.01的参数量]。想问一下EMA模型更新的在视频检索里面使用您是参考了哪篇论文的?不知道您在HBI没有测试MSVD是否也是因为这个原因

------------------ 原始邮件 ------------------ 发件人: "Peng @.>; 发送时间: 2024年3月19日(星期二) 晚上11:07 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [jpthu17/DiffusionRet] 关于MSVD的Mean R在您的几份工作中差异 (Issue #9)

我觉得可能有以下几个原因:

我们的模型对长尾样本处理得不够好,平均排名(MdR)被少部分长尾样本拖累;

MSVD里样本比较少,我们的模型容易过拟合;

我不清楚CLIP4Clip有没有对MSVD压缩帧率,我们压缩了视频,每秒只保留3帧;

I think there may be the following reasons:

Our model does not handle the long-tail samples well enough, and the mean rank (MdR) is dragged down by a small number of long-tail samples;

Because there are few samples in MSVD, our model is easy to overfit;

I am not sure whether CLIP4Clip compressed the frame rate of MSVD. We compressed the video and only kept 3 frames per second;

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

jpthu17 commented 7 months ago

EMA是我们自己实现的,并没有参考其他论文。MSVD的评测代码是在HBI投稿之后实现的,所以我们并没有在MSVD上测试HBI。

EMA was implemented by us without reference to other papers. The evaluation code for MSVD was implemented after the HBI contribution, so we did not test HBI on MSVD.

jpthu17 commented 7 months ago

MSVD里样本比较少,模型容易过拟合,如果训练不到一半后面的测试就会跌的很严重,你可以考虑降低一下学习率。

The sample in MSVD is relatively small, the model is easy to overfit, if metrics will fall seriously, you can consider reducing the learning rate.

ghost commented 7 months ago

您好,请问对于“我们压缩了视频,每秒只保留3帧”,这部分的每秒保留3帧具体的代码是体现在sample_fp=self.framerate上嘛?但是我看framerate好像都是等于1

jpthu17 commented 7 months ago

我提供的数据集是经过压缩后的,压缩代码:https://github.com/jpthu17/DiffusionRet/blob/main/preprocess/compress_video.py

原始数据集可以在数据集官方网站上下载。

ghost commented 7 months ago

好的,非常感谢您!我用CLIP4Clip的MSVD dataloader[https://github.com/ArrowLuo/CLIP4Clip/blob/508ffa3de39ba0563a03199c440ab602a72e9b6f/dataloaders/dataloader_msvd_retrieval.py]替换了您扩散里面的MSVD的dataloader:当初发现有两个版本的MSVD的dataloader,由于您这个版本较为相似,故使用您的MSVD的dataloader。今天我发现使用CLIP4Clip的,以及使用您上面这个对于原始视频经过压缩后的压缩后的视频,我测试得到的MSVD 的t2v这侧的Mean R就从16变成了10左右

jpthu17 commented 7 months ago

所以可能是数据读取方式不同造成的差异