- 2021년 9월 10일 오후 5:48
- 조회수: 1253
INFORMATION
- 2021년 9월 10일
- 오전 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
최근 레이블이 없는 다량의 원데이터로부터 데이터 샘플들의 관계를 활용해 특징 벡터를 생성하는 자기지도학습이 많은 분야에서 활용되고 있다. 소량의 레이블링된 데이터로도 학습 성능을 극대화시키는 자기 지도 학습의 특징 때문이다. 이에 따라 대조 학습과 관련해 여러가지 새로운 방법론들이 제안되고 있다. 이번 세미나를 통해 최근 대조학습의 트랜드를 알아보고자 한다.
참고문헌:
[1] Xinlei Chen, Kaiming He.(2020). Exploring Simple Siamese Representation Learning. arXiv preprint arXiv:2011.10566
[2] Tete Xiao, Xiaolong Wang, Alexei A. Efros, Trevor Darrel. (2021). What Should Not Be Contrastive In Contrastive Learning. arXiv preprint arXiv:2008.05659.
[3] Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton. (2020). A Simple Framework for Contrastive Learning of Visual Representations. arXiv preprint arXiv:2002.05709.
발표자 후기

contrastive learning을 주제로 세미나를 준비하면서 self-supervised learning이 어떻게 연구되는지 그 과정과 아이디어를 정리해볼 수 있는 계기가 되었다. self-supervised learning 중에서도 contrastive learning에 어떤 방법론들이 있었고 발전되어 나가고 있는지 다양한 논문을 통해 접할 수 있는 좋은 시간이었다. contrastive learning의 가장 큰 이점은 레이블링 되어있는 데이터가 소량만 존재하더라도 좋은 성능을 낼 수 있다는 것이다. 이로 인해 앞으로도 더 많이 발전하고 연구될 것이 기대되는 분야이다. 나도 이 분야에 대해 앞으로도 더 알아가고 공부하면서 좋은 아이디어를 제안할 수 있으면 좋겠다.
청취자 후기

본 세미나에서는 self-supervised learning과 contrastive learning에 대한 간단한 설명을 시작으로, 이를 사용한 초기 알고리즘이 가졌던 단점을 보완한 SimSiam, LOOC (Leave-One-Out Contrastive learning) 같은 최근 알고리즘에 대한 설명을 들을 수 있었다. Simsiam에서는 representation vector가 constant한 값의 vector로 고정되던 문제를 해결하였으며, LOOC는 augmentation 관련 정보 손실을 방지했다고 설명되었다. 하지만 해당 알고리즘이 어떻게 이러한 문제를 해결할 수 있었는지 이해가 어려웠던 것 같다. 다양한 알고리즘의 특징을 설명해준 은성이에게 고마움을 전한다.

오늘 세미나는 contrastive learning을 주제로 은성이가 진행했다.
Self-supervised learning은 Self learning + Supervised learning으로 자기 자신으로 충분한 특징을 학습한 다음 지도학습에 적용하는 학습기법이다. Self learning의 전략으로 (1) Pretext-task learning과 (2) contrastive learning 이 있다. 이들은 지도학습 레이블을 학습하기 이전 무언가를 수행한다. (1) Pretext-task learning은 이미지를 여러 프레임으로 분할 한 뒤 그 순서를 예측하는 순서로 처음 고안되었는데 사용자가 정의하기 나름이다. (2) Contrastive learning은 자기 자신과 비슷한 데이터는 유사도가 크도록, 그렇지 않은 경우는 작도록 학습하는 방법이다. 여기서 positive (유사) & negative (유사하지 않은) pair 개념이 등장한다. 이들의 pair를 어떻게 정의하고 유사도를 구하는지에 따라 SimCLR, MoCo v1, MoCo v2, SimSiam, LOOC (leave-one-out constrastive learning) 방법론이 고안되어 왔다. 이들 모두 자기 자신을 충분히 Self learning하기 위해 Augmentation을 수행하는 게 일반적이다. 이런 특징으로 레이블링 된 데이터 수가 충분하지 않아도 활용가능하다는 장점이 있다.
요즘 대세인 자가지도학습과 대표전략인 Contrastive learning에 관한 전반적인 방법론을 짚을 수 있었다. 은성이 개인 연구로도 해당 기법을 활용하는 것으로 알고있는데 잘 정리해준 만큼 좋은 연구 성과로 발전시키면 좋겠다.

이번 세미나는 Constrastive Learning을 주제로 진행되었다. Self-supervised learning의 일종으로, 데이터를 모델을 통해 Representation했을 때, positive pair는 가까이, negative pair는 멀리 떨어지도록 학습하여 feature vector를 추출하는 것이 핵심이다. 이를 수행할 때 고려해야할 요소를 크게 3가지로 나누어 볼 수 있는데, Data augmentation, Encoder, Famework 이며 이를 세미나에서는 SimCLR와 MoCo에 대해 예시를 들어 알기 쉽게 설명해주었다.
SimCLR에서는 m개의 이미지에 대해 2가지 data augmentation을 수행한 다음, 같은 사진의 다른 augmentation끼리는 같게, 다른 이미지로부터의 augmentation은 멀게 작용하도록 목적함수를 사용한다. Moco는 여기에 SimCLR와 다르게 Queue구조의 dictionary를 갖는게 큰 차이점이었는데, negative pair의 양이 성능에 큰 영향을 미치는 점에 대해 batch size보다 큰 queue 구조에 negative key를 미리 구성해놓는 방식을 통해 batch size의 영향을 덜 받게 하는 것이다. MoCo v2에서는 SimCLR의 장점인 Cosine learning rate scheduling 방법과 Gaussian blurring이라는 augmentation을 추가하여 사용해서 성능을 높이기도 하였다.
그런데 이렇게 같은 class끼리 representation을 가깝게 학습시키다보면, input이 무엇이든 같은 class끼리는 representation 자체가 일정한 값으로 고정되는 collapsing 현상이 발생하는 문제가 있다. 앞서 설명된 imCLR와 Moco와는 달리 Simsiam은 stop gradient를 통해 이를 해결한다. LOOC와 같은 경우는 기존에 augmentation 수행 시, 색상과 같은 관련 정보가 손실되는 부분에 대해 augmentation에 의한 변동들도 학습하도록 구성한 방법이다. multi head architecture를 사용해 다르게 적용된 augmentation마다 negative sample로 정의한 부분구간을 달리 두고 구현했다.
즉 constrastive learning의 기본적인 형태에서 3가지 고려요소에 대한 문제점을 짚어가며 각 방법론이 개선한 점이 달랐고, 그에 따라서 성능 또한 차이가 많이 났다. 세미나를 들으면서 이러한 모든 사항들에 대해 굉장히 집약적이고 핵심적인 것을 잘 짚었다고 생각이 들었다. 각 모델별로 별개로 세미나를 진행할 만큼 복잡한 내용이 담겼을 텐데, 중요한 부분을 3요소로 정리해서 보여준 점이 인상깊었다. representation을 어떻게 하면 class끼리 뭉치게 할까 하는 고민에 적용했을 때 아주 효과적으로 작용할 수 있을 것 같아, 향후에 더 공부하고 싶게 만드는 좋은 세미나였던 것 같다. 오목조목 잘 설명해준 은성이에게 감사의 말을 전한다.

금일 세미나에서는 자가지도학습의 핵심 원리와 대표적인 방법론들에 대해 다루어졌다. 자가지도학습 의 필요성과 3 요소에 대한 개념을 적립할 수 있었다. 오늘 세미나에서는 3 요소중 마지막 요소의 관점에서 차이를 보이고 있는 방법론들(Moco 1,2, simclr, siam, Looc)을 이해해볼 수 있었다. 각 방법론별 핵심 요소를 그림으로 정갈하게 잘 표현해주어 방법론별 핵심적인 차이를 잘 이해할 수 있었다. 좋은 세미나였다. looc에 대한 방법론도 흥미로웠다. downstream task에 위반되는 augmentation(inductive bias)의 문제점을 잘 해결한 방법론이고 성능도 좋았다.
향후 자가지도학습의 연구 방향에 대해 은성이가 적어두었듯, downstream task에 적절한 자가지도학습 framework를 잘 짜는 것이 중요하다고 생각한다. signal data 기반 소음 회귀 예측 문제에 자가지도학습을 적용하는 연구에 본 세미나 준비가 좋은 디딤돌이 될 것 같다. 감사의 말씀을 전하며 세미나 후기를 마치도록 한다.

이번 세미나는 'Deal with Contrastive Learning'을 주제로 진행되었다. 레이블링 된 양질의 데이터로 좋은 성능을 내는 supervised learning과 달리, 레이블링 되어있지 않은 데이터의 특징을 학습하여 다운스트림 태스크에 활용하는 self-supervised learning이 최근 주목받고 있다. Self-supervised learning은 일반적으로 데이터의 특징 벡터를 추출하는 representation learning 모델을 학습시키는 과정과 추출된 특징 벡터로 downstream task 모델을 학습시키는 과정으로 이루어진다. 이때, representation learning 모델을 학습시키는 방법에는 pretext task를 정의하는 방법과 contrastive learning을 활용하는 방법이 있으며, 이번 시간에는 contrastive learning에 좀 더 초점을 맞추었다. Contrastive learning은 representation space에서 positive pair는 가까이, negative pair는 멀리 위치하도록 학습하여 특징 벡터를 추출하는 방법이다. Contrastive learning 분야에서 현재까지 다양한 method가 연구되고 있으며, 본 세미나에서는 이와 관련하여 SimCLR, MoCo, Simsiam, Looc 등 다양한 알고리즘에 대해 소개해주었다. 폭넓은 동시에 깊이 있는 이론들의 중심점을 잘 잡아, 그 핵심을 전달하는 과정이 어려웠을 것 같은데 깔끔하게 정리하여 발표해주었다. 최신 연구 동향까지 좋은 내용으로 세미나를 준비해준 은성언니에게 감사한 마음을 전하며, 언니의 향후 연구를 진심으로 응원한다.

이번 세미나는 "Deal with Contrastive Learning"이라는 주제로 진행되었다. 딥러닝 모델을 학습하기 위해서는 많은 양의 레이블링 된 데이터가 필요하며 이러한 단점을 해결하기 위해 최근 주목을 받는 것이 self-supervised learning이다. Self-supervised learning은 레이블 없는 데이터만을 활용하여 데이터의 특징을 잘 추출하는 것을 목적으로 한다. 대표적으로 사용자가 사전에 정의한 문제를 푸는 pretext task 기반의 방법론과 contrastive learning 방법론이 존재하며 이번 세미나에서는 contrastive learning 기반의 방법론들에 관해서 소개되었다. Contrastive learning은 이미지에 서로 다른 augmentation을 적용하여 같은 이미지에서 생성된 데이터를 positive pair, 다른 이미지에서 생성된 데이터를 negative pair로 정의한다. 이때 negative pair에 대한 정의가 중요하지만 좋은 negative pair를 정의하는 것은 매우 어렵다. 따라서 최근에는 negative pair를 정의하지 않는 방법론들이 많이 연구되고 있으면 이번 세미나에서는 positive pair만을 정의하는 방법론 중 하나인 Simsiam에 대해서 소개되었다. Simsiam은 하나의 이미지에 서로 다른 augmentation을 적용한 후 encoder를 통과하여 두 개의 특징 벡터 z1과 z2를 생성한다. 이후에 z1과 z2를 prediction head를 통과 시켜 p1과 p2를 생성한다. z1과 p2, z2와 p1이 유사해지도록 학습을 진행하며 이때 z벡터 쪽으로는 gradient를 흐르지 않도록 하여 인코더를 통해 생성되는 feature vector가 collapsing 되는 것을 방지한다. 이어서 소개된 LOOC은 특정 augmentation에 민감하지 않은 방법론을 제시한다. 여러 개의 projection head를 활용해 각 augmentation에 민감하지 않은 부분 공간들을 만든 후 모든 정보를 활용하여 downstream task를 진행한다. 이를 통해 특정 augmentation이 중요한 데이터셋들을 활용해 모델을 평가했을 때 기존 방법론들에 비해 좋은 성능을 보임을 확인했다. 이번 세미나를 통해 최근 self-supervised learning의 연구 방향에 대해 살펴볼 수 있어서 좋았다. 세미나를 위해 고생해준 은성이에게 감사의 뜻을 전한다.

이번 세미나는 “Deal with Contrastive Learning”을 주제로 진행되었다. Self-supervised Learning은 라벨링이 되어 있지 않은 데이터로 특징을 학습한 후, 다운스트림 테스크에서 해당 학습 벡터를 활용하는 학습 기법이다. 특히, 특징 추출을 위하여 사전에 문제를 정의하는 pretext task와 positive pair는 가까이, negative pair는 멀리 있도록 학습하는 contrastive learning의 방법들이 존재하는데, 이번 세미나에서는 contrastive learning의 여러 방법론에 대하여 살펴보았다. 특히 Simsiam 방법론은 같은 클래스의 임베딩 벡터 거리가 가깝게 학습되는 siamese network에서 representation vector가 고정되어 버리는 collapsing 현상을 방지하기 위하여 stop gradient 방식을 활용하였다. 실제로 stop gradient 방식이 활용되지 않는 경우 전혀 학습이 되지 않았으며, 모델의 구조만으로 collapsing 현상을 방지할 수 없다는 결론을 도출하였다. LOOC (leave-One-Out Contrastive Learning)은 augmentation을 통하여 관련 특징 벡터가 손실되는 inductive bias문제를 해결하고자 공유 backbone을 가지는 multi-head architecture를 제안하였다. 이러한 general representation을 통하여 불변하는 요소와 변하는 요소를 모두 담을 수 있다는 특징이 있다. 이번 세미나를 통하여 contrastive learning의 여러 방법론들과 발전 방향을 확인할 수 있어 유익하였다.

이번 세미나는 Contrastive learning을 주제로 진행되었다. 먼저, Self-supervised learning에 대한 기본 개념을 설명해주었는데, Self-supervised learning은 레이블이 소량인 경우에도 학습 성능을 극대화할 수 있도록 레이블이 없는 데이터의 특징을 학습하고, 다운스트림 태스크에 활용하는 방법론이다. 이는 다시 크게 Pretext task와 Contrastive learning으로 나뉘는데, 이번 세미나는 Contrastive learning에 대한 내용이었다. Contrastive learning은 positive pair와 negative pair를 정의하고, positive는 가까이, negative는 멀어지도록 학습하여 특징 벡터를 추출하는 방법론이다. 이러한 Contrastive learning의 3요소는 Data augmentation, Encoder, Framework라고 할 수 있으며, 이 3요소를 어떻게 하느냐에 따라 다양한 모델이 있을 수 있다. SimCLR, MoCo, MoCo v2 등의 방법론을 포함하여 금일 세미나에서는 Simsiam과 LOOC라는 새로운 모델에 대해 알 수 있었다. 향후 Contrastive learning 방법론을 적용하게 된다면 꼭 참고하여 활용해 보고 싶고, augmentation 방법에 따라서도 성능이 많이 달라질 수 있을 것 같은데 이런 부분에 대해서도 더 찾아보면 좋을 것 같다. 세미나 준비에 수고해준 은성이에게 감사의 뜻을 전한다.

이번 세미나는 자가지도학습 중 최근 많이 연구되고 있는 Contrastive learning에 관한 것이었다.
Unlabeled data를 활용하려는 노력은 과거부터 많은 연구가 이루어지고 있다. 그 중 자가지도학습은 입력데이터만을 활용하여 사용자 정의 테스크를 만들고 이를 해결하며 좋은 특징벡터를 찾는 방법이다.
자연어 처리 분야에서는 Masked Language Modeling(MLM)이 많이 쓰이며 좋은 성능을 입증하고 있다.
컴퓨터비전 분야에서도 다양한 pretext 기반 방법론들이 제안되어 왔다. inpainting, rotation, jigsaw puzzle과 같이 이미지에 가해진 변형을 예측하는 것들이 등장했고 최근에는 contrastive loss를 활용한 contrastive learning 분야가 활발히 진행되고 있다.
contrastive learning은 하나의 이미지에 서로 다른 augmentation을 적용하여 positive pair를 만들고 다양한 negative sample 중에서 positive pair를 구별할 수 있는 일 대 다수의 classification 문제를 해결하는 방법으로 표현학습이 진행된다. 그 결과로 positive pair끼리는 표현공간 상에서 가까워지고 반대로 나머지의 모든 negative sample들과는 멀어지게 된다.
이 contrastive learning은 컴퓨터 비전분야 뿐만 아니라 음성, 시계열 분야 등에서 다양하게 연구되고 있으며 도메인에 맞는 positive pair와 negative sample을 잘 정의한다면 매우 강력한 표현벡터를 생성한다.
이번 세미나를 통해서 contrastive learning에 대해 다시 한번 정리할 수 있는 기회가 되었다.