- 2022년 11월 18일 오전 8:51
- 조회수: 13810
INFORMATION
- 2022년 11월 18일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

금일 세미나는 김현지 연구원이 Unifying contrastive learning and clustering을 주제로 진행하였다. Contrastive learning에서 군집화 알고리즘을 활용한 방법론을 소개하였고, 기본적인 contrastive learning에 대한 설명을 시작으로 DeepCluster, SwAV, PCL 모델을 각각 설명하였다.
우리가 흔히 알고 있는 SimCLR, MoCo는 instance discrimination 문제를 해결하며 학습을 진행한다. 즉, "짝꿍 찾기" 문제라고 볼 수 있는데, 나와 동일한 데이터가 짝꿍이고 나와 다른 데이터 사이에서 짝꿍을 찾아내는 것으로 이해할 수 있다. 짝꿍을 잘 찾기 위해서 나와 다른 데이터는 구분되도록, 나와 같은 데이터는 비슷해지도록 표현학습을 진행한다. 이는 contrastive learning의 핵심으로 매우 효과적인 표현학습을 할 수 있게 하였다.
다만, 이 방법론에는 두 가지 한계점이 존재한다. 첫 번째 한계점은 데이터의 의미론적 구조를 추출하지 못한다는 점이다. Instance discrimination 문제는 low-level 신호만을 사용하여 충분히 해결이 가능하기 때문에 high-level 신호(특징)을 효과적으로 추출하도록 학습이 안 될 수 있다. 또한 같은 의미를 가지는 데이터라도 (고양이1, 고양이2) 서로는 negative pair로 분류되기 때문에 false negative 문제가 필연적으로 발생하게 된다. 두 번째 한계점은 큰 규모의 배치 사이즈를 요구한다는 점이다. 군집화 방법론은 이러한 한계점을 해결하기 위해서 활용된다.
DeepCluster는 인코더에서 나온 특징벡터를 군집화 알고리즘을 통해 pseudo-labeling하여 분류 문제를 해결하는 학습을 진행한다. 이 때 trivial solution(사용자가 의도한 학습과 무관하게 단순 높은 성능만을 내도록 학습되는 것)가 학습되는 것을 방지하기 위해서 군집할당 혹은 손실 값 계산에 일부 테크닉을 적용한다.
PCL은 계층적 구성의 프로토타입(coarse-grained: horse, fine-grained: horse with man)을 생성한 뒤 인스턴스 간의 손실 값뿐만 아니라 프로토타입에 대한 손실 값까지 계산을 한다. 여기서 프로토타입은 기존의 instance discrimination이 가지고 있던 high-level 신호에 대한 학습 문제를 해결하는 방법론으로 볼 수 있다.
SwAV는 데이터로부터 일종의 표식(code)를 만들어내게 되는데, 서로 다른 증강기법이 적용된 동일한 데이터에 대하여 각각이 서로 간의 표식을 예측하도록 학습을 진행한다. 해당 방법론은 앞서 언급된 모델과는 다르게 online-clustering을 지원한다. 즉, cluster 할당 단계, 학습 단계를 구분할 필요 없이 하나의 단계로 진행할 수 있는 것이다.
특히, 우리나라에서 SwAV를 이토록 꼼꼼하게 설명한 사람은 현지가 유일하지 않나 싶다. 어려운 주제를 선택했음에도 정말 이해하기 쉽게 그리고 친절하게 설명을 준비해준 현지에게 감사를 표한다.

이번 세미나는 기존의 Instance 단위 대조학습이 아닌 Cluster수준까지 고려하는 대조학습에 대해 진행되었다. 기존 방법론들은 관측치 단위로 대조학습을 수행하지만, 본 세미나에서는 관측치 단위와 더불어 군집수준에서 대조학습을 수행하는 자기지도학습 방법론을 소개한다. 이처럼 군집단위를 고려하는 이유는 기존의 의미론적 구조를 인코딩하지 못한다는 한계와 좋은 특징을 추출하기 위해 큰 배치 사이즈가 필요하다는 한계를 극복하기 위해서이다.
먼저 첫번째로 소개한 논문은 의미론적 구조를 인코딩하지 못하는 한계를 극복하기 위해 제시된 PCL이라는 방법론이다. 이때, 본 논문의 아이디어는 “말을 탄 사람”의 이미지는 “말”이라는 군집과 “사람”이라는 군집에 동시에 포함될 수 있는 속성에서 기인한다. 즉, 기존의 대조학습 방법론처럼 각 이미지에 대해서 손실함수를 계산할 뿐만 아니라, 각 군집에 대해서도 손실함수를 계산하여 이를 종합적으로 고려한다. 이때, 두 손실함수를 종합하는 손실함수를 구축하기 위해서 본 논문은 EM알고리즘을 활용한다. 두번째로 소개한 논문은 기존 대조학습이 지닌 두번째 한계인 큰 배치 사이즈라는 한계를 극복하기 위한 SwAV라는 방법론이다. 이는 Augmentation 2번 수행한 후, 서로 예측하는 Swapped Prediction 방식을 활용한다. 이때 Feature를 직접 비교하는 것이 아닌, Code를 비교하는 특징을 갖는다. 본 세미나에서 설명하듯, Code란 Feature와 Cluster를 Mapping해주는 함수이다. 결론적으로, SwAV는 증강된 두 이미지의 일관성을 강화하는 방향으로 학습한다고 할 수 있다.
본 세미나를 통해 기존의 대조학습에 대한 관념을 타파할 수 있었다. 대조학습을 군집단위에서 실시하는 것은 사실 세미나를 듣고 보면 쉬운 아이디어 같은데, 이를 적용하기 위한 과정에서 저자들이 정말 많은 고민을 했을 것이란 걸 지레 짐작할 수 있었다. 개인적으로는 근래 들은 세미나 중 가장 흥미로우면서 어려운 세미나로, 아직 이해하지 못한 부분이 많았다. 그래도 세미나에서 제시하는 대조학습 그리고 군집화라는 컨셉은 얻어갈 수 있었으며, 추후 대조학습을 연구할 기회가 된다면 활용해보고 싶다는 생각이 들었다. 유익한 세미나를 준비해주신 김현지 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

개인적으로 자가지도학습 알고리즘들 중 클러스터 기반 방법론들이 가장 어렵다고 생각한다. 이전에 SWaV를 읽다가 너무 어려워서 제대로 이해하지 못하고 포기하였던 기억이 있다. 당시 SwAV에서 사용하는 '코드'의 개념과 'Sinkhorn-Knopp 알고리즘의 사용 이유'를 제대로 이해하지 못했었다. 오늘 세미나를 통해 SwAV뿐만 아니라 PCL에 대해서도 자세히 알 수 있었다. 세미나 내용을 토대로 정리를 하자면 다음과 같다.
DeepCluster
1. ConvNet을 통해 Feature Vector를 계산함
2. Feature Space에서 사전에 정의한 개수(k)만큼 클러스터에 할당함
3. Cluster label을 pseudo label로 활용하여 가중치 업데이트
4.1~3반복
Trivial Solution 을 방지하기 위해, Empty Cluster의 centroid 위치를 변경후 다시 할당하거나 각 클러스터의 데이터 개수를 통해 reweighting을 추가함
SWaV
1. 서로 다른 이미지 증강 기법으로부터 표현벡터들(z)을 추출
2. 표현 벡터(z)로부터 code mapping matrix(c)를 통해 코드(q)를 계산
-이때 code mapping matrix(c)는 sinkhorn-knopp 알고리즘에 의해 온라인으로 계산됨
3. 서로 다른 증강 기법의 코드와 표현 벡터가 유사해지도록 학습
- Multi-Crop Augmentation 을 사용하여 Global View에 대해서만 코드(q)를 계산
PCL
1. 모멘텀 인코더로부터 추출된 feature vector에 대해 k-means 클러스터링 실시 후 centroid 계산
2. Instance-wise InfoNCE와 M개의 prototype-feature 간의 InfoNCE 계산
- 이 때, M번의 서로 다른 수 k로 클러스터링을 하여 계층적 구조를 인코딩할 수 있음
세미나 템플릿부터 설명까지 일목요연하여 좋았다. 세미나를 준비하느라 고생한 김현지 연구원에게 감사의 말씀을 전한다.

이번 세미나는 'Unifying contrastive learning and clustering'을 주제로 진행되었다. 최근 지도 학습 방법의 성능과 유사한 수준까지 도달한 instance-wise contrastive learning을 소개하면서 instance discrimination이 가지는 한계 2가지를 소개해주었다. 데이터의 의미론적 구조를 인코딩하지 못하거나 좋은 특징을 추출하기 위해서는 큰 batch size가 요구되는데 이를 clustering 기법을 적용하여 개선한 연구에 대해 중점적으로 소개해주었다.
먼저 표현 학습을 위해 군집화를 사용한 Deep Cluster라는 방법에 관해 설명해주었다. 해당 방법에서의 핵심은 trivial solution을 해결하였고 군집화를 통해 convnet의 구조적인 이점을 최대한 활용해 대규모 데이터셋에서의 transfer task에서 기존 비지도 학습 방법론에 비해 더 우수한 성능을 보였다는 점이다. 두 번째로 소개된 논문은 대조 학습과 군집화를 결합한 방법론으로 instance discrimination이 가지는 2가지 한계 중 첫 번째 한계(데이터의 의미론적 구조를 인코딩하지 못함)를 학습된 임베딩 공간에서의 군집화를 통해 발견된 의미론적 구조를 인코딩함으로써 해결하였다. 해당 논문에서 핵심은 EM 알고리즘을 활용해 instance contrastive learning과 prototypical contrastive learning에서 나오는 instance contrastive loss와 prototype contrastive loss를 합한 protoNCE loss를 활용해 low-level feature와 high-level feature 모두 학습했다는 점이다. 마지막으로 소개된 논문은 feature 간 직접 비교가 아닌 cluster를 활용하여 두 번째 한계점을 개선한 방법론이다. 해당 방법론은 새로운 데이터 증강 기법인 multi-crop을 제안해 기존 offline 방식이 아닌 online 군집화 기반 자기 지도 학습 방법론이다.
금일 소개해준 클러스터링 기반 자기 지도학습 알고리즘 중에서 PCL은 올해 초 읽었던 기억이 있다. 금일 세미나를 통해 다시 한번 리마인드할 수 있었던 것 같다. 이외에도 swAV라는 방법론 소개도 함께해주었는데, instance discrimination의 한계점을 시작으로 해당 한계점을 개선한 논문 두 가지에 대한 설명으로 클러스터링 기반 자기 지도학습에 대한 이해도를 한 층 높일 수 있었던 좋은 기회가 된 것 같다. 유익한 세미나를 준비해준 김현지 연구원에게 감사하며 이상으로 세미나 후기를 마친다.

이번 세미나는 Unifying Contrastive Learning and Clustering 이라는 제목으로 진행되었다. 최근의 비지도학습은 주로 instance discrimination 작업을 기반으로 학습이 진행되는데 해당 방법론에 한계점 2가지를 언급하며 각 한계점을 어떻게 극복하는지에 대하여 세미나가 진행되었다. instance discrimination의 한계점은 2가지로 볼 수 있는데 하나는 데이터의 의미론적 구조를 인코딩 하지 못하는 것이고 두번째는 큰 배치 사이즈를 통한 학습이 필요해 실용적이지 못하다는 것이다. 특히 첫번째 한계점에 공감하면서 세미나를 청취할 수 있었다. 우선 clustering 알고리즘을 사용한 비지도학습 방법론인 DeepCluster에 대해서 설명하였다. DeepCluster은 초기 network의 결과를 clustering한 후 해당 결과를 pseudo label로 사용한다는 것이 주요 아이디어 였다. 해당 아이디어로 학습을 진행할 때 유의사항으로 trivial solution 문제가 발생할 수 있다고 한다. 딥러닝을 위한 네트워크를 설계할때 설계자의 의도대로 학습이 진행될지 아닐지는 컨트롤할 수 있는 부분이 아니기에 이러한 trivial solution 문제를 잘 찾고 해결하기 위한 추가적인 알고리즘을 더해주는 것이 보다 더 완성도 있는 방법론 개발에 필수적이라는 생각이 들었다. 두번째로 PCL방법론을 설명해주었다. 해당 방법론은 앞서 언급한 첫번째 한계점을 극복하기 위한 방법이고 의미적으로 유사한 벡터들의 임베딩인 prototype 이라는것을 설정하고 이러한 prototype 간의 거리도 학습에 활용함으로써 데이터의 의미론적 구조를 학습하게 된다. 해당 방법론은 EM 알고리즘을 통해 구현하는데 듣기만 많이 들어봤고 실제 내용은 잘 몰랐던 개념이여서 이번기회에 공부할 수 있어서 좋았다. 마지막으로 SwAV은 증강기법을 통한 이미지를 직접 하나하나 비교하는 과정을 수행하지 않고 cluster의 대표인 prototypes와 비교하여 code를 계산함으로써 학습한다. 다시 말해서 같은 이미지로 부터 증강기법이 적용된 여러 이미지의 code로 부터 해당 이미지의 code를 예측하는 과정을 통해서 학습을 수행한다. Code라는 개념이 아직 논문을 읽지 않아서 그런지 이해하기 어려워 추가적인 공부가 필요할 것 같다. 대조학습이라는 것이 positive와 negative를 비교하며 레이블 없이 데이터에 대한 이해를 스스로 높이는 학습 방법인데 clustering 간의 대조학습도 가능하다는 것이 새롭게 다가왔다. 생각해보면 처음에 언급한 2가지의 한계점 때문에 도메인에 따라 대조학습의 학습이 효율적으로 진행되지 못할 것 같다는 생각을 했었는데 이를 해결하는 의미 있는 방법론을 알게되어서 인상 깊었다. 각 방법론의 논문을 읽어서 추가적인 공부가 필요하겠지만 기존 방법론의 한계와 새로운 방법론의 motivation, 그리고 흐름을 알기 쉽게 설명해주어 재밌게 세미나를 청취할 수 있었던것 같다. 유익한 세미나를 준비한 김현지 연구원에게 감사의 말씀을 전하며 이상으로 세미나 후기를 마친다.

이번 세미나는 unifying contrastive learning and clustering 에 관련하여 진행하였다. 최근 unsupervised visual representation learning의 성능은 instance-wise contrastive learning을 중심으로 supervised learning의 성능과 유사한 수준까지 도달했다.
우선 instance discrimination이란 두 이미지 crop이 동일한 source 이미지에서 왔는지에 대해 여부를 분류하도록 인코더를 학습하는 것이다. 동일한 source의 임베딩은 가까이 끌어당기면서 다른 source의 임베딩은 멀어지도록한다. 즉, unsupervised 방식으로 label없이도 가능한 방법이다. 하지만 instance discrimination에서도 한계가 2가지 존재한다. 첫번째는 데이터의 의미론적 구조를 인코딩하지 못한다는 것이고 두번째는 좋은 특징을 추출하기 위해서는 큰 batch size가 필요하다는 것이다. 이러한 한계점을 극복하기 위해서 clustering방법을 적용한다.
clustering 알고리즘을 사용한 unsupervised representation learning 기법인 Deepcluster를 우선 설명한다. Convnet의 구조적 강점을 극대화 하여 유의미한 feature를 추출하고, Trivial solution을 해결하기 위해서 1.빈 cluster의 중심을 주변 데이터가 있는 곳으로 옮긴 후 다시 cluster를 할당하는 방법, 2.데이터 불균형을 해결하기 위해서 각 cluster에 할당된 데이터 개수의 역수를 loss에 곱해주는 방법, 두가지 방법을 적용한다. 즉, Deepcluster는 representation learning에 있어 clustering을 통해 convnet의 구조적인 이점을 최대한 활용할 수 있다.
이어서 contrastive learning과 clustering 방법을 결합한 두 가지 논문을 소개한다. 첫번째로는 PCL를 설명한다. 해당 논문은 instance discrimination의 한계 중 첫번째를 해결한 논문이다. low-level feature 뿐만 아니라 clustering을 통해 의미론적 구조를 인코딩하는 방법론이다. instance간 contrastive learning을 통해 low-level feature 학습을하고, instance와 prototype간의 contrastive learning을 통해 high-level feature를 학습한다. 핵심은 EM알고리즘을 통해 prototypical contrastive learning을 구현한다는 것이다.
두번째 논문은 SwAV를 설명한다. 해당 논문은 instance discrimination의 한계 중 두번째를 해결한 논문이다. 직접 feature를 비교하는 대신에 cluster assignments 간의 일관성을 학습하는 방법론이다. 핵심은 swapped prediction mechanism을 사용한다는 것이다. 또한 새로운 augmentation 기법인 multi-crop을 제안하여, online 방식으로 prototype을 업데이트하고 code를 계산하는 online clustering-based self-supervised method를 제안한다.
이번 세미나의 내용을 통해서 contrastive learning과 clustering을 결합한다는 것이 직감적으로는 이해는 되었지만, 해당 방법에 대해서 아직까지는 확실하게 이해를 하지는 못하였다. 하지만 기존 논문의 한계점을 극복하기 위해 clustering방법을 적용하였다는 점은 신선하게 다가왔다. contrastive learning분야의 insight를 얻을 수 있었다. 유익한 세미나를 준비한 김현지 연구원에게 감사의 말씀을 전하며 이상으로 세미나 후기를 마친다.

자가지도 대조학습의 성능을 올리기 위해 군집(Clustering) 개념을 도입한 세미나를 청취하였다. 이미지 데이터에 대한 대조학습 연구 트렌드가 최신에는 어떠한지를, 오늘 세미나 발표자인 김현지 연구원 덕분에 잘 알아가게 되었다. 대조학습에 대한 기존 연구들이 워낙 직관적인 아이디어들만으로도 좋은 성능을 냈기 때문에, 더 이상의 드라마틱한 성능 향상이나 직관적인 New 아이디어 등장은 어려울 것이라고 생각하고 있었다.하지만, 오늘 세미나를 듣고 군집의 개념을 이렇게 체계적으로 대조학습에 적용함으로써, 유의미한 성능 향상을 시킨 것은 많이 흥미로운 사실이었다. 기존 대조학습들의 큰 단점을 2 갈래로 잘 나누어 설명해주고, 두 갈래의 단점을 극복한 연구 사례를 하나씩 청취할 수 있었다. 본인이 속해져 있는 군집(들)의 중심에 가까워지고, 속하지 않았던 군집(들) 중심과는 멀어지는 아이디어를 기존 대조학습에 추가 사용한 PCL과, 서로 다르게 변형된 이미지 데이터들이 결국에는 비슷한 데이터 특징을 보유하고 있으니 일관되게 군집될 것이라는 아이디어를 고급지게 전개한 SwAV 알고리즘이, 어떠한 아이디어를 갖고 어떤 단점을 보완했는지 명확하게 알아갈 수 있었다. 좋은 세미나를 준비해준 현지에게 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.

이번 세미나는 Unifying Contrastive Learning and Clustering이란 주제로 현지가 발표했다.
지금까지 Contrastive Learning 개념과 Clustering 개념을 합친 방법론에 대한 세미나를 제대로 다룬 적이 없었다.
대표적인 방법론에는 DeepCluster, PCL, SwAV가 있다.
이들은 Semantic Structure 인코딩 또는 Batch Size 문제를 해결하기 위해 군집화를 활용하였다.
특히, SwAV는 DeepCluster, PCL과 달리 Online-Clustering을 지원하여 Cluster 할당 단계, 학습 단계를 구분하지 않고 한번에 진행할 수 있다.
SwAV는 기존 Contrastive Learning과는 다르게 Code, Swapped Prediction, Multi-Crop 등 다양한 개념들이 존재한다.
이러한 SwAV는 비지도, 지도 학습 뿐만 아니라 강화학습에서도 활용하는 어려우면서도 중요한 방법론이다.
이번 세미나는 어려운 내용을 잘 설명해준 최고의 세미나였고 다른 연구원들이 Contrastive Learning + Clustering 방법론을 공부할 수 있는 계기가 되었으면 한다.

이번 세미나는 contrastive learning에 clustering 개념을 넣어서 기존 contrasitve learning의 단점을 보완한 두 가지 논문을 소개하였다.
먼저 기존 contrastive learning은 단순한 instance-wise discrimination이기 때문에 이미지의 high feature를 학습하기 어렵다는 단점이 있다. Prototipical Contrastive Learning에서는 prototipical constrastive loss term을 추가하여 이러한 문제를 해결했다.
다음으로 contrastive learning은 충분한 negative examples를 확보하기 위해서 대량의 memory queue나 batch size를 확보해야 한다. 이 문제를 해결하기 위해서 SwAV라는 논문에서는 Swapped prediction problem으로 문제를 재정의하여 적은 메모리로 높은 성능을 기록하였다.
둘 모두 수식이 복잡하고 새로운 개념이 등장해서 원논문을 보면서 공부하면 좋을 것 같다.

이번 세미나는 Unifying contrastive learning and clustering을 주제로 진행되었다. 비지도학습 기반의 이미지 표현 학습은 최근 instance-wise contrastive learning을 중심으로 이뤄지고 있다. instance-wise contrastive learning이란 두 이미지 crop이 동일한 source 이미지에서 왔는지 여부를 분류하도록 인코더를 학습하는 것이다. 클래스 레이블의 정보 없이도 좋은 표현을 학습할 수 있는 방법이다. 하지만 해당 방법론은 데이터의 의미론적 구조를 인코딩 하지 못한다는 점과 좋은 특징을 추출하기 위해 큰 배치사이즈가 필요하다는 두 가지의 한계점이 존재한다. 이러한 한계를 극복하기 위한 다음과 같은 방법론이 제시되었다
한계점을 극복하는 방법론에 앞서 클러스터링 기법을 unsupervised에 적용한 Deep Clustering 소개되었다. Deep clustering는 Convnet의 output(=feature)을 클러스터링 한 후 그룹을 할당한 것을 pseudo label로 사용하는 아이디어이다. 클러스터와 동시에 feature 학습을 통해 trivial solution 문제가 발생될 수 있는데 해당 논문에서는 빈 클러스터 해결을 위해 중심을 주변 데이터로 옮겨서 다시 클러스터링을 해결하는 방법과 데이터 불균형 문제 해결을 위해 각 클러스터 데이터 개수의 역수를 loss에 곱해주는 방법을 제시하였다.
한계점을 극복하기 위해 제시 된 방법론은 PCL과 SwAV이다. PCL은 클러스터링을 통해 의미론적 구조를 인코딩하는 방법론이다. 인스턴스간 대조 학습을 통해 저차원의 특징을 학습하고, 인스턴스와 프로토타입 간 대조학습을 통해 고차원의 특징을 학습한다. 이때 EM알고리즘을 사용한다. SwAV는 기존에 대조 학습이 다른 augmentation의 특징들을 직접 비교하여 큰 batch size가 필요했다면, cluster 내의 대표적인 representation을 활용하여 code라는 것으로 맵핑을 하여 비교함을 통해 적은 배치사이즈에서도 좋은 성능을 보인다.
해당 세미나를 통해 클러스터링과 대조 학습을 사용하는 unsupervised 방법론에 대해 공부할 수 있었다. 특히 SwAV의 경우 많이 활용될 수 있는 좋은 아이디어의 방법론이라는 생각이 들었다. 매우 어려운 주제인데 최대한 쉽게 이해할 수 있게 발표 자료를 만들어 주어서 발표자인 김현지 연구원님께 수고했다는 얘기를 전하며 세미나 후기를 마친다.