Hard Negative Mixing for Constrastive Learning

Hard Negative Mixing for Constrastive Learning

标签(空格分隔): 复试


深度学习的本质:Representation Learning和Inductive Bias Learning。 目前的情况就是在不涉及逻辑推理的问题下AI系统都可以出色的完成任务,但是涉及到更高级的语义,组合逻辑,则需要涉及一些过程来辅助AI系统去分解任务。

归纳偏好的涉及更多的是任务相关的,复杂的过程需要非常精心的设计,所以很多工作都开始关注到表示学习上。

此处讨论的对比学习也属于表示学习。

1 Batch Size

一次训练所选取的样本数量,其大小选择至关重要,为了能在内存效率和内存容量之间寻找最佳的平衡状态,Batch Size应该被精心设置,从而优化网络模型的性能和速度。

Batch Size不是越大越好,例如我们要学习一个函数$ f:x \rightarrow y $ 其中共有80个样本点,Batct Size设置为4, 那么每次都是四个点进行拟合,假设一次Epoch需要5个Batch,那么我们可以进行四次Epoch查看其拟合程度, 是否过拟合以及欠拟合。
杨乐春背书:具体的Batch Size应该处于2~32之间,虽然mini-batch的出现是为了解决:

  • 提高运行效率,相比于batch-GD的每个epoch只更新一次参数,使用mini-batch可以在一个epoch中多次更新参数,加速收敛。
  • 解决了某些任务中,训练集过大,无法一次性读入内存的问题。

但是在使用过程中人们发现使用mini-batch由于每次更新没有使用全量数据仅仅使用batch的数据,从而人为的给训练带来了噪声,这些噪声往往可以带领算法走出局部最优点

启发: 如果以后在做相关算法的时候发现陷入局部最优解, 可以调小Batch Size看看情况。
瞎扯:听说GPU喜欢2的幂数,可以设置一下试试。

Epoch:随着epoch数量的增加神经网络中权重更新迭代的次数增多, 会使其从 欠拟合状态 到 拟合状态 到过拟合状态。 一般情况下 Epoch大小和数据集多样化程度正相关。

2 文章

2.1 动机/改进点

大量的数据集和负样本是Representation Learning的关键,本文认为困难负样本的作用被忽视了,但是为了获得更多的困难负样本,目前的解决方案要么是增大Batch Size要么是保持一个很大的 memory banks,但是正如前面所说的 这个东西并不是越大越好,而且不断增加的内存需求也会导致性能上的收益递减。本文的主要目标就是针对一个表现最好的框架开始,去证明更难的负样本可以更快更好的促进学习,基于上述内容可以在特征层面上进行困难样本混合策略。

2.2 简介

根据目前现状选择自监督学习作为实验样本,根据文中引用得出一味的增加 memory/batch size会造成收益递减,效率降低,更多的负样本并不意味着更难的负样本。所以在这里我们没办法通过这种方法来获取我们想要的更难的负样本。
由动量编码器可以得出,更困难的负样本可以促进更快更好的学习。基于此原有,本文提出负样本混合策略,用最小的开销进行计算。其名称为Mochi其含义为(M)ixing (o)f (C) oncontrast (H)ard negat(i)ves

可以看到对于一个查询(红色方形)对应的有很多的负样本,大部分的负样本都是简单负样本,只有和红色接近的是困难样本,过于简单的负样本无法得出足够好的对比差异(文中的对比损失),本文主要做的事情就是讲这些负样本通过混合的方式得到上图中的更困难负样本(蓝色三角形)

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