- 2022년 11월 10일 오후 3:19
- 조회수: 14106
INFORMATION
- 2022년 11월 11일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
[1] Jaiswal, A., Babu, A. R., Zadeh, M. Z., Banerjee, D., & Makedon, F. (2020). A survey on contrastive self-supervised learning. Technologies , 9(1), 2.
[2] Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020, November). A simple framework for contrastive learning of visual representations. In International conference on machine learning (pp. 1597-1607). PMLR.
[3] Robinson, J., Chuang, C. Y., Sra, S., & Jegelka, S. (2020). Contrastive learning with hard negative samples. arXiv preprint arXiv:2010.04592.
[4] Wu, M., Mosse, M., Zhuang, C., Yamins, D., & Goodman, N. (2020). Conditional negative sampling for contrastive learning of visual representations. arXiv preprint arXiv:2010.02037.
[5] Kalantidis, Y., Sariyildiz, M. B., Pion, N., Weinzaepfel, P., & Larlus, D. (2020). Hard negative mixing for contrastive learning. Advances in Neural Information Processing Systems, 33, 21798-21809.
[6] Wang, W., Zhou, W., Bao, J., Chen, D., & Li, H. (2021). Instance-wise hard negative example generation for contrastive learning in unpaired image-to-image translation. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 14020-14029).
청취자 후기

오늘 세미나는 Hard Negative Sample이 무엇인가?라는 주제로 진행되었다. 최근 Self-supervised Learning이 굉장히 각광 받고 있고, Sample 들을 Positive와 Negative로 분류하여 학습하는 방법론이 굉장히 높은 성능을 보여주고 유명하기 때문에 자주 들어봤던 개념이어서 보다 관심 있게 세미나를 청취할 수 있었다. 특히 Self-supervised Learning중에서도 Contrastive Learning에 초점을 맞추어 세미나가 진행되었는데 Contrastive Learning은 주어진 데이터에서 그들 사이의 관계를 예측하고 Embedding 공간 학습을 진행하는 방법론이다. Contrastive Learning의 유명한 방법론 중 하나인 SimCLR을 소개하였다. SimCLR는 동일한 데이터로부터 데이터 Augmentation을 수행한 뒤 하나를 Anchor, 다른 하나를 Positive로 정의하여 압축된 Vector들의 유사도가 최대화 되도록 학습을 진행, 그 외 Batch 내의 데이터는 Negative로 정의(큰 배치 사용)하여 효율적으로 모델을 학습한다. 그런데 이러한 학습에는 Anchor와 다른것들은 유사함의 정도와 상관없이 모두 Negative로 취급한다는 한계점이 있는데 이러한 한계를 해결하기 위한 내용을 설명해주었다. 확실히 처음 Contrastive Learning에 관련된 논문을 볼 때 어떻게 Label 없이 Positive와 Negative를 정확하게 분류할 수 있지? 잘못 분류하거나 Positive인데도 Negative로 분류하는 등 문제가 생기지 않을까?라고 의문을 가졌었는데 해당 의문을 조금 해결할 수 있는 내용이었던 것 같아서 재밌었다. 따라서 이를 해결하기 위하여 Hard Negative Sample이라는 개념이 추가되었고 이는 Anchor와 다른 레이블을 가지지만 유사한 특징을 가지는 Sample들을 말한다. 이어서 Hard Negative Sample과 관련된 2가지의 논문을 소개해주었고, Negative중에서 Anchor와의 유사도에 따라 True Negative와 Hard Negative로 나누며 Anchor와 가장 유사한 Negative Sample이 모델을 학습하는데 유용하다고 한다. 하지만 이것만 학습하게 되면 당연히 Anchor와 동일/유사함에도 Negative로 분류하게 되어서 trade-off가 존재하게 된다. 따라서 얼마나 Hard하게 Negative를 선택하는지가 중요하게 되고 이를 Hardness로 조절할 수 있는 것이 포인트 이다. 최근 강화학습 수업에서 느낀점 중 하나지만 모델을 조절할 수 있는 파라미터를 만든다는 것이 유용할 수 있다는 것이 인상깊었다. 특히 예를들어 A, B라는 것이 있을때 A에서 B로 가는 파라미터와 B에서 A로가는 파라미터를 생성하고 조절하는 것이 단순히 A라는 모델에 머물러 있는 것보다 성능이 좋다는 것과 유사한 느낌을 받았다. 다음 논문은 Positive Sample과 가깝지만 또 너무 가깝지는 않은 Negative Sample 선택을 위한 Ring Model을 제안한다. 보다 어려운 Sample들의 차이를 잘 찾는것이 보다 중요하다는, 앞선 내용들과 유사한 컨셉을 가지고 있다. 해당 논문의 핵심은 너무 어려운것이나 너무 쉬운것을 배제하고 적당한것만 취하겠다는 효율적인 방법론이라 신기하였다. 특히 Ring 구조의(학습에 사용할 Sample) 크기를 학습 진행중에 변화시키는 것을 보면서 효과적인 아이디어를 제안하여도 해당 방법을 적절히 커버해주는것이 이중삼중으로 필요하고 그렇지 않다면 좋은 아이디어도 효과를 보지 못할수도 있구나 라는 생각이 들었다. 논문 내용을 100% 다 이해하지는 못했지만 Hard Negative와 관련된 내용에 대해서 이해하기 쉬운 예시를 통하여 설명해주어 쉽게 이해할 수 있었고 개인연구에 많은 도움이 될 수 있을 것 같다. 좋은 세미나를 준비해주신 채고은 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 자기지도학습에서 Hard Negative가 무엇인지에 대하여 진행되었다. 최근 Unlabeled 데이터의 중요성이 증가함에 따라 자기지도학습이 떠오르고 있다. 이는 Labeled 데이터 없이 데이터 자체의 특징을 학습하는 것으로 크게 4가지 갈래로 나뉜다. 그 중에서 본 세미나는 Contrastive Learning에 대해 집중적으로 다루며, 이 때 발생할 수 있는 문제인 Hard Negative를 지적한다. Contrastive Learning은 Positive Pair는 유사하게, Negative Pair는 상이하게 학습하는 방법론이다. 이때, Positive Pair처럼 유사한 데이터가 Negative Pair에 들어가는 현상을 지적한 것이 바로 Hard Negative이다.
이러한 Hard Negative에 대해 본 세미나는 2가지 연구를 소개한다. 첫 번째 연구인 “Contrastive Learning with Hard Negative Samples”에서는 진정 학습하기 좋은 Negative Pair에 대해 2가지 조건을 충족해야 된다고 말한다. 조건1은 엄연히 다른 Label을 가져야 한다는 것이며, 조건2는 Anchor와 유사해야 한다는 것이다. 본 논문에서는 조건2를 찾는 정량적척도로 표현벡터간 내적을 활용한다. 이때, 두 조건을 만족한 Negative Pair는 학습 후기에는 더 좋은 특징을 추출할 수 있지만, 학습 초기에는 상당히 유사하기에 학습이 어렵다는 Trade-off를 가질 수 있다고 지적한다. 추가적으로 본 논문은 앞선 Trade-off를 극복하기 위해 효율적인 Sampling을 주장한다. 이때, PU-Learning과 Importance Sampling을 활용한다고 하였는데, 아직 감이 안와서 더 공부가 필요할 것 같다. 두 번째 연구는 Conditional Noise Contrastive Estimator(CNCE)에 관한 논문이다. 이는 앞선 논문처럼 엄연히 Anchor와는 다른 Label이지만, Anchor와 유사한 Sample이 학습에 도움이 된다고 판단한다. 이때, 이처럼 도움이 되는 Sample의 범위를 Ring으로 정의하여 문제를 해결하였다. 학습 초기에는 Representation이 불안하기에 처음엔 큰 범위에서 시작하다가, 학습할수록 범위를 좁혀 나가는 방식으로 학습한다는 특징을 갖는다.
본 세미나를 통해 Hard Negative에 대해 처음 접할 수 있었다. 이번 세미나를 듣기 전에는 이러한 Hard Negative가 오히려 노이즈로 작용할 것 같아 제거하고 학습하는 것이 바람직할 것이라고 생각했었다. 하지만 이번 세미나를 계기로 Hard Negative가 더 좋은 Boundary를 형성할 수 있는 요소라는 것을 알 수 있었으며, 이러한 Hard Negative를 정의하는 것이 이쪽 연구에서 중요 포인트가 될 것 같다는 생각이 들었다. 유익한 세미나를 준비해주신 채고은 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 대조 학습에서 hard negative sample은 무엇이고, 어떻게 반영할 수 있는지에 관한 내용을 주제로 진행되었다. 먼저 자기 지도학습은 레이블이 없는 데이터 셋을 활용해 좋은 데이터 표현을 학습하려는 방법이다. 해당 방법은 크게 4가지 카테고리(Generative Model, Self-Prediction Model, Innate Relationship, Contrastive Learning)로 분류되며 본 세미나에서는 Contrastive Learning에 관해 소개되었다. 이를 위해 SimCLR에 대한 설명과 더불어 hard negative sample이 무엇인지 그리고 hard negative sample을 반영하는 방법론들에 대한 2개의 논문도 소개해주었다.
먼저 SimCLR는 Anchor에 서로 다른 이미지 증강 기법을 적용한 샘플은 Positive Pair로 Anchor와 다른 이미지에 이미지 증강 기법을 적용한 샘플은 Negative Pair로 두어 Postive Pair는 가까워지도록 Negative Pair는 멀어지도록 InfoNCE 손실 함수를 이용하여 학습을 진행하게 된다. 해당 방법의 경우는 Negative로 정의된 샘플들 중에서 Anchor와의 유사도를 반영하지 않고 있다. 만약, Negative 샘플들 중에서 Anchor와 유사한 것을 학습하게 된다면 모델이 더 좋은 표현을 학습할 수 있지 않을까 하는 생각에서 hard negative sample이라는 개념이 탄생하게 되었다. 즉, hard negative는 Anchor와는 다른 레이블을 가지지만 유사한 특징을 가지는 샘플을 말하고 true negative는 anchor와 다른 레이블을 가지는 샘플을 말한다.
hard negative 샘플 선택을 위한 방법론 중에 하나로 Contrastive Learning With Hard Negative Samples에 관해 소개되었다. 본 방법에서는 negative sample의 분포를 구하기 위해 Anchor와는 다른 레이블을 가지는 true negative 샘플을 추출하는 조건 그리고 그중에서도 Anchor와 유사도가 높은 negative sample을 선택하기 위한 조건을 사용한다. 두 조건을 만족하는 분포를 구한 후 Importance sampling 방법을 사용해 Negative sample의 샘플링을 진행하게 된다. 이를 통해 hard negative sample을 구할 순 있지만 hard negative와 false negative 간에 Trade-off가 존재할 수 있으므로 사용자가 조절할 수 있는 hardness (hard 한 정도를 표현)을 통해 trade-off도 고려하여 학습을 진행한다.
두 번째로 Conditional Negative Sampling For Contrastive Learning of Visual Representation에 관해 소개되었다. 본 방법론에서는 기존에 사용했던 Noise-Contrastive Estimation (NCE) 손실 함수가 아닌 Conditional Noise Contrastive Estimation (CNCE)를 사용한 ring discrimination algorithm을 통해 positive sample과 구분되는 negative sample 선정에 적절한 경계인 ring을 설정하고, 해당 범위 내에 있는 샘플을 negative로 선택하여 학습을 진행한다. 추가로 annealing policy를 적용하여 학습이 진행됨에 따라 적절한 ring의 범위를 설정하게 된다.
평소 hard negative sample을 반영한 contrastive learning에 대해 궁금했었는데 본 세미나를 통해서 기본적인 개념과 관련된 방법론들에 대해서 간략하게 알 수 있어 굉장히 유익했던 것 같다. 매번 세미나를 통해 흥미로운 논문을 살펴볼 수 있어 큰 도움이 되면서 동시에 대단함을 느낀다. 연구란 참 쉽지 않은 것 같다. 흥미로운 주제로 좋은 세미나를 준비해준 채고은 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

본 세미나를 통해 대조학습 효과를 올리기 위한 수단 중 하나인 Hard Negative Sample에 대해 알게 되었다. 대조학습을 잘 모르더라도 이해될 수 있도록 설명되어 있어 듣기 편하였고, 대조학습에서 Hard Negative Sample이 어떠한 포지션을 갖고 있는지 알아갈 수 있었다. Hard Negative Sample을 잘 선택하고 사용함으로써 자가지도학습이 지도학습만큼의 성능에 도달하려고 노력하는 것을 엿볼 수 있었는데, 다른 말로 정말 어렵고 불가능에 도전하고 있는 연구 분야라고 생각하였다. 세미나에서 소개 받은 Hard Negative Sample 샘플링 전략 최신 논문들에서도, 아직까지는 하이퍼파라미터 및 임계값(반자동) 사용 위주의 전략을 사용하고 있는 것으로 보아 갈 길은 먼 것 같다. Hard Negative Sample 연구가 어렵지만 한 단계씩 꾸준히 개선되고 있는 연구 분야임을 다시 한번 알게 되었고, 좋은 세미나를 준비해 준 고은이에게 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.

이번 세미나는 What is Hard Negative Sample?에 대한 주제로 진행하였다. 레이블이 존재하지 않는 데이터에 레이블 작업을 실시하는 것은 많은 비용이 발생한다. 이러한 문제로 인해서 레이블링이 필요 없는 학습이 필요하고 이것이 Self-supervised learning이다. Self-supervised learning은 Generative model, Self-prediction model, Innate relationship, Contrastive learing 4가지 카테고리로 분류된다. 이번 세미나에서는 Contrastive learing에 대해서 집중적으로 설명을 한다.
Contrastive learing은 주어진 데이터 샘플들 내에서 그들 사이의 관계를 예측하는데, Anchor를 기준으로 유사한 샘플pair(Positive pair)는 가까이 있고, 유사하지 않은 샘플 pair(Negative pair)는 멀리 있도록 Embedding space를 학습하는 것을 목표로 한다. Contrastive learning의 방법론 중 SimCLR논문을 소개한다. SimCLR은 한 sample에 대해서 다르게 augmented 된 두 결과를 anchor, positive pair로 정의한다. 그리고 latent space에서 contrastive loss를 통해 anchor-positve 유사도가 최대화 되도록 학습한다. 그리고 이 latent space를 downstream task 에서 encoder로 사용한다. SimCLR의 기여점은 다양한 data augmentation 기법을 적용하였다는 점과 깊은 embedding layer와 큰 batch size(negative pair를 늘릴 수록 성능이 높아짐)를 적용했다는 점이다. 여기서 SimCLR와 같은 현재의 Contrastive learning은 anchor와 유사한 특성을 가진 sample의 경우도 negative pair로 분류하고 있다. 즉 anchor와 유사한 특성을 가진 sample이지만 그 유사도를 반영하지 못하고 있다는 한계가 존재한다. 이러한 한계를 극복하기 위해서 hard negative sample의 개념이 탄생하였다. Anchor와 다른 label은 true negative라고 하고, anchor와 다른 label이나 anchor와 유사한 특징을 가진 label은 hard negative라고 한다.
hard negative과 관련된 연구를 2가지 설명한다. 첫번째는 "Contrastive Learning with Hard Negative Samples"이라는 논문이다. 해당 논문에서는 학습하기 좋은 Negative Pair에 대해 2가지 조건을 충족해야 된다고 한다. 첫번째는 anchor와 다른 Label을 가져야 한다는 것이며, 두번째는 Anchor와 유사해야 한다는 것이다. 이때, 두 조건을 만족한 Negative Pair는 anchor와 동일함에도 negative로 분류하는 문제가 발생한다. 즉 hard negative와 false negative간의 Trade-off가 존재한다. 이를 위해서 hardness를 통해서 trade off를 조절 할 수 있다.
두번째 논문은 "Conditional Negative Sampling For Contrastive Learning of Visual Representation"에 관련된 연구이다. 해당 논문에서는 Conditional Noise Contrastive Estimation (CNCE)를 제안한다. CNCE는 Ring Discrimination algorithm을 통해서 lower bound, upper bound를 정하고 lower,upper bound 내에 존재하는 것을 negative로 분류하는 방법이다. 이때 representation이 잘 구축되지 않은 초기 ring을 적용하면 poor representation을 야기 하기 때문에, annealing policy를 적용하여 학습과정에서 ring의 크기를 줄여가는 방법이 사용된다.
hard negative sample에 대해서 상세한 내용까지 학습을 할 수 있었다. 모델 학습 시 hard negative sample은 학습의 성능을 오히려 낮출 것으로 생각하고 있었으나, 이번 세미나를 통해서 새로운 접근 방법에 대해서 깨달을 수 있었다. 설명해준 논문에 대해서는 몇번 더 읽어보고 이해를 해야겠지만 앞으로의 개인 연구에 큰 도움이 될 수 있을 것으로 판단된다. 좋은 세미나를 준비해주신 채고은 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 What is Hard Negative Sample? 이라는 주제로 고은이가 발표했다.
Self-Supervised Learning은 Unlabeled Data를 활용하여 데이터 자체에 대한 좋은 표현을 학습하는 방법이다.
대표적으로 Contrastive Learning은 데이터 증강 기법을 적용하여 Anchor와 Positive/Negative examples를 정의하고 Embedding Space 상에서 Positive Pair는 가깝도록 Negative examples과는 멀어지도록 학습하는 것을 목표로 한다.
Contrastive Learning은 다양한 상황을 고려해야 하는 단점이 있다. 특히, Negative Examples를 어떻게 정의하느냐가 중요하다.
대표적으로 False Negative Problem / Hard Negative Samples가 있다.
False Negative 문제는 Anchor와 동일한 Class 분포를 가지는 Negative Examples가 Negative로 잘못 정의되어 있는 문제이다.
Hard Negative 문제는 Positive Pair처럼 유사한 데이터가 Negative Examples에 잘못 정의되어 있는 문제이다.
두 가지의 문제는 Contrastive Learning에서 중요하게 다루어지며 Trade-Off가 존재하기 때문에 도메인, 데이터셋을 충분히 고려하여 정의하는 것이 중요하다.
최근에는 많은 요소를 고려해야 하는 Contrastive Learning의 단점을 극복하고자 BYOL, SimSiam과 같은 Non-Contrastive Learning도 활발히 연구되어 왔다.
무엇이 좋은지에 대한 정답은 없다. 따라서, 진행하고 있는 연구에 알맞은 방법론을 논리적으로 적용하여 좋은 연구를 할 수 있길 바란다.

이번 세미나는 self-supervised learning 방법론 중에서 contrastive learning에 집중하여 진행되었다. 특히 대조학습에서 발생할 수 있는 문제점 중 hard negative에 관하여 설명이 진행되었는데, 이는 분류할 데이터가 negative 보다 anchor에 가까운 경우임에도 불구하고 negative로 분류 되어 학습과정에서 유사도 반영이 부족해지는 경우를 칭하는 것이다. 다시 말해 이와 같은 경우, negative로 분류된 샘플들 중 anchor와의 유사도를 적절하게 학습하면 모델이 더 좋은 representation을 가질 수 있을 것이라는 아이디어에서 출발하여 hard negative sample의 개념이 시작되었다. 이 때 hard negatvie는 anchor와 다른 레이블을 가지지만 유사한 특징을 가진 샘플을 칭한다.
세미나에서는 hard negative sample에 관한 두가지 논문을 소개해주었다. 첫번째는 Contrastive Learning with Hard Negative Samples로, 논문에서는 negative sample에 관해 두가지 조건이 충족되어야 한다고 설명한다. 첫번째는 anchor와 다른 레이블을 가지는 true negative 조건, 두번째는 anchor와 유사도가 높은 샘플이어야 한다는 것이다. 이후에는 두 조건을 만족하는 분포를 구한 후 importance sampling 접근법을 활용하여 샘플링이 진행되는데, 이 때 hard negative sampling으로 인해 발전된 representation과 오히려 anchor와 유사한 것을 negative로 분류하는 등의 trade-off가 존재하여 얼마나 hard한 negatives를 선택할지 hardness를 제어하는 것이 중요한 문제가 된다. 두번재는 Conditional Negative Sampling For Contrastive Learning of Visual Representations로 기존에 사용하였던 noise-contrastive estimation(NCE)이 아닌 conditional noise contrastive enstimator(CNCE)를 활용, 샘플의 범위를 ring의 형태로 정의하여 anchor와 다른 레이블이면서도 유사한 정도를 설정하는 방식이다. 이 때 초기의 범위는 보다 큰 범위로 설정하고 추후 학습하며 범위를 줄여나가는 방식을 채택한다.
세미나를 통해 hard negative sample에 관련한 기본 개념부터 논문까지 자세하면서도 간결하게 알 수 있어 유익했다. 아직은 개인 연구의 방향을 잡는 것도 고민스럽지만, 다양한 도메인의 방법론을 접하며 연구에 대한 가닥을 잡을 수 있어 감사한 시간이었다.