오늘의 논문: Hard Negative Mixing for Contrastive Learning: https://arxiv.org/abs/2010.01028
Contrastive Learning은 embedding space 안에서 query와 positive sample(key)은 가깝게, negative sample은 멀게 만들어 모델을 학습시키는 방식이다.
보통은 negative sample의 개수가 많을수록 학습의 효율이 좋아진다. 그렇지만 batch나 memory bank에서 negative sample을 가져오는 기존의 방식으로는 negative sample의 개수를 늘리는 cost가 높으며, 단순히 sample의 수를 늘리는 것으로는 성능에 한계가 있다.
이 논문에서는 negative sample이 많을 수록 학습이 잘 되는 이유가 hard negative sample (query와 비슷해서 맞추기 어렵) 때문이라고 말한다. 그리고, 이러한 hard negative sample을 만드는 방법, MoCHi를 제시하고 있다.
MoCHi(N, s, s')로 hard negative sample을 만드는 방식은 단순하다.
1. Embedding space에서 matching probability가 높은 순서대로 이미 가지고 있는 negative sample들을 정렬한다.
2. 상위 N개의 negative sample을 추린다.
3. N개 negative sample 중 2개를 random으로 골라 섞는다. (feature-level MixUp) s번 반복해 s개의 mixed negatives를 얻는다.
4. 더 어려운 negative sample을 얻기 위해 2의 N개 negative sample 중 하나를 random으로 고르고, query와 섞는다. (feature-level MixUP) s'번 반복해 s'개의 mixed negatives를 얻는다.
5. 만든 hard negative sample로 모델을 학습시킨다.
이렇게 만든 hard negative sample로 모델을 학습시킨 결과, baseline인 MoCo보다 확연히 높은 성능을 얻었다고 한다.
오늘도 인공지능 공부 화이팅~
첫댓글 빨리 쓰세요
다 썼당!