【2021】2月1日-2月7日

2月1日——2月4日

计划

  1. 修改CNN loss函数,将基于集合的距离度量加入训练中
  2. 将CNN作为GAN的鉴别器,实现别人代码复现

实现步骤

一、Deep Metric Learning

  1. 阅读《Deep Cosine Metric Learning for Person Re-identification》
  2. 阅读《In defense of Triplet Loss for Person Re-Identification》
    • 新思路:修改dataloader,每个批次选P个人的K张图,16的话可以是4个人的4张图 / 32的话可以是8个人的四张图。

其他笔记

《In defense of Triplet Loss for Person Re-Identification》翻译

  1. 关于Triplet loss的重要警告是:随着数据集变大,可能的triplet数量会有呈稀疏增长,使得足够长的训练变得不切实际。更糟糕的是,f相对较快地学会了正确映射最琐碎的triplets,使得triplets中很大一部分没有信息。(旧Triplet的缺陷)
  2. 在一个经典的实现中,一旦选择了一组特定的B triplets,则将其图像堆叠到大小为3B的批处理中,计算3B embedding,然后创建计算loss需要的B terms。考虑到这些3B 图片有6B^2~4B的有效可能的triplet组合,只是用其中一个似乎很浪费。
  3. 因此对其做出更改,其核心思想是:随机采样P个人,然后随机采样每个人的K张图,从而得到P*K张图。现在,对于一个批次中每个样本a,我们能选择这个批次中hardest positive and hardest negative samples,形成计算损失的triplets,并将此称为Batch Hard
上一篇:PacNet


下一篇:[LeetCode] 1899. Merge Triplets to Form Target Triplet