naver / cgd

Combination of Multiple Global Descriptors for Image Retrieval
https://arxiv.org/abs/1903.10663
Apache License 2.0
147 stars 14 forks source link

Some questions about the paper #3

Open DayChan opened 5 years ago

DayChan commented 5 years ago

You have done a very nice job on your paper! I tried to implement your proposed network these days, but I found several problems.

kobiso commented 4 years ago

Sorry for late reply.

  1. It is actually a well-known fact that you could get lower performance with FC layer than GD. It is because FC layer is for dimensional reduction of GD, and some of information might be discarded during the reduction.
  2. For CUB200, we trained 1.5k iteration and used step decay with a factor of 0.1 on 400th and 800th iteration.
  3. We did not use bias on FC layer.
  4. We did not freeze BN layers in the backbone. (Some papers claimed that freezing BN layers in the backbone for small datasets, such as CUB200 and CARS196, can improve performance. But we did not test it.)

Thanks :)

gnlv commented 2 years ago

你在论文上做得非常好!这些天我试图实现你提出的网络,但我发现了几个问题。

  • 第一个是我发现描述符后的 Fc 层总是对结果有负面影响,在 CUB200-2011 上,我在最后的 l2 层上得到 top-1 召回 72,但在 GD(1) 层上可以得到 76 (在MG配置下)。我认为它可能受到辅助分类分支的强烈影响?我想知道排名损失分支的损失是否应该获得更多的权重?
  • 第二个是你训练了多少迭代,你调整 lr 的策略是什么?(我使用 4000 个迭代器和 Adam,在迭代器 1000、2000、3000 上 lr 除以 10)
  • 第三个问题是你是否在每个 fc 层上都使用了偏差?
  • 最后一个是你修复了主干中的 bn 层吗?

抱歉回复晚了。

  1. 众所周知,使用 FC 层可以获得比 GD 更低的性能。这是因为 FC 层是用于 GD 的降维,在降维过程中可能会丢弃一些信息。
  2. 对于 CUB200,我们训练了 1.5k 次迭代,并在第 400 次和第 800 次迭代中使用了因子为 0.1 的阶跃衰减。
  3. 我们没有在 FC 层上使用偏差。
  4. 我们没有冻结主干中的 BN 层。(一些论文声称在 CUB200 和 CARS196 等小型数据集的主干中冻结 BN 层可以提高性能。但我们没有对其进行测试。)

谢谢 :)

你在论文上的作品非常好!但我发现这些问题是你提出的网络问题。

  • 第一个是我发现后发现对上层的结果有影响,CUB200-2011 的顶部,我最后在上层的 l2 层-1 72,但在 GD(1) 层上可以76 (在 MG 配置下)。我认为它可能会受到辅助分支的影响?
  • (我用了4000 个除了你和亚当,在第二个装置上 1000、2 以 000、3000 上 lr 10 )
  • 第三个问题是你是否在每个 fc 层上都使用了偏差?
  • 最后一个是你修复了主干中的bn层吗?

我看到你的ip地址是中国,都是中国人就用中文沟通了,老哥,可以给个邮件吗?想问一下你的最后结果是多少复现代码的。

DayChan commented 2 years ago

你在论文上做得非常好!这些天我试图实现你提出的网络,但我发现了几个问题。

  • 第一个是我发现描述符后的 Fc 层总是对结果有负面影响,在 CUB200-2011 上,我在最后的 l2 层上得到 top-1 召回 72,但在 GD(1) 层上可以得到 76 (在MG配置下)。我认为它可能受到辅助分类分支的强烈影响?我想知道排名损失分支的损失是否应该获得更多的权重?
  • 第二个是你训练了多少迭代,你调整 lr 的策略是什么?(我使用 4000 个迭代器和 Adam,在迭代器 1000、2000、3000 上 lr 除以 10)
  • 第三个问题是你是否在每个 fc 层上都使用了偏差?
  • 最后一个是你修复了主干中的 bn 层吗?

抱歉回复晚了。

  1. 众所周知,使用 FC 层可以获得比 GD 更低的性能。这是因为 FC 层是用于 GD 的降维,在降维过程中可能会丢弃一些信息。
  2. 对于 CUB200,我们训练了 1.5k 次迭代,并在第 400 次和第 800 次迭代中使用了因子为 0.1 的阶跃衰减。
  3. 我们没有在 FC 层上使用偏差。
  4. 我们没有冻结主干中的 BN 层。(一些论文声称在 CUB200 和 CARS196 等小型数据集的主干中冻结 BN 层可以提高性能。但我们没有对其进行测试。)

谢谢 :)

你在论文上的作品非常好!但我发现这些问题是你提出的网络问题。

  • 第一个是我发现后发现对上层的结果有影响,CUB200-2011 的顶部,我最后在上层的 l2 层-1 72,但在 GD(1) 层上可以76 (在 MG 配置下)。我认为它可能会受到辅助分支的影响?
  • (我用了4000 个除了你和亚当,在第二个装置上 1000、2 以 000、3000 上 lr 10 )
  • 第三个问题是你是否在每个 fc 层上都使用了偏差?
  • 最后一个是你修复了主干中的bn层吗?

我看到你的ip地址是中国,都是中国人就用中文沟通了,老哥,可以给个邮件吗?想问一下你的最后结果是多少复现代码的。

不好意思呀,这个太久了,已经不记得了😂