- 2023년 2월 17일 오후 3:00
- 조회수: 13321
REFERENCES
INFORMATION
- 2023년 2월 17일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
청취자 후기

이번 세미나는 "Introduction to deep clustering algorithms"를 주제로 진행되었다. 먼저 군집화란, 레이블을 사용하지 않고 데이터가 가지는 특징만을 사용해 유사한 특징을 갖는 개체끼리 군집화하는 것을 의미한다. 군집화의 예로 X 데이터가 2개인 단순한 데이터에 관한 군집화를 보여주었지만, 실제로 현실에서는 이미지와 같은 고차원 데이터를 군집화해야 하는 일이 많고 해당 작업을 하는데 어려움이 존재한다. 본 세미나에서는 해당 한계점을 개선하기 위해 고차원 데이터의 특징을 잘 추출하는 딥 러닝 방법을 사용하고 추출된 특징 벡터를 활용하는 군집화 방법 Deep clustering에 관한 간단한 설명과 레이블 정보를 활용하지 않고 특징 추출을 잘하기 위해 자기 지도학습을 사용하는 방법론 2가지에 관한 설명이 주를 이루고 있다.
먼저, Contrastive Clustering(CC)은 데이터 간에 대조 학습을 진행하고 형성된 군집 간에 대조 학습을 진행하여 각각 도출된 손실 함수를 활용해 네트워크 업데이트를 진행한다. 이를 통해, 객체 간 그리고 군집 간 유사도를 최대화하는 방향으로 학습된다. 해당 방법론의 Cluster-Level Contrastive Head에서 각 인코더에서 추출된 특징 벡터의 컬럼이 군집의 수를 뜻하는 것 같은데, 군집 개수를 처음부터 지정하고 학습이 진행되는 것인지, 지정하고 하는 것이라면 해당 논문에서 사용하고 있는 데이터의 클래스 수로 지정하기 때문에 가능할 텐데 실제 현실에서 주어지는 레이블이 없는 데이터를 군집화할 때 군집의 수는 당연히 모를 뿐만 아니라 적절한 군집의 수를 지정하기도 굉장히 어렵다. 단순히 군집화를 진행하면서 평가 지표(필자는 클러스터링에서 사용하는 평가 지표가 정확하지 않다고 생각함)와 실제 군집 형태를 보고 판단해야 하는 것이 최선일까 하는 의문이 생겼다. 이에 관해 백인성 연구원의 생각이 궁금하다. 두 번째 방법은 CC에서의 특정 구조와 유사한 구조를 지니고 있지만 두 인코더 간에 파라미터를 공유하는 것이 아닌 momentum update를 사용해 target network를 업데이트하는 것이 작은 차이라고 볼 수 있다. 해당 방법론은 epoch마다 K-means 알고리즘을 활용해 군집에 관한 가짜 레이블을 형성하고 이를 활용하는 PSA, PSL 손실 함수를 사용해 pseudo clustering label이 더 정확해질 수 있도록 학습이 진행된다.
최근 레이블이 전혀 없는 데이터에 관한 군집화를 진행하면서 Deep clustering, SCAN 등 여러 방법론을 참고한 적이 있는데, 본 세미나에서 언급한 방법론도 추후 적용해본다면 좋을 것 같다. 유익한 세미나를 준비해준 백인성 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

Deep clustering은 이미지와 같은 다차원의 데이터를 범주화하기 위해 고안된 방법입니다. 이 중에서 오늘은 self-supervised learning 알고리즘으로 잘 알려진 MoCo의 positive/negative sampling 방식을 응용한 Contirastive Clustering(이하 CC) 알고리즘과 BYOL의 non-negative sampling 을 응용하여 더욱 성능을 올린 ProPos 알고리즘을 소개하였습니다.
CC는 MoCo와 매우 유사한 손실 함수를 사용하고 있습니다. 차이점은 학습 시 미리 설정한 배치 크기로 묶어서 학습이 진행되는데 동일한 부모 이미지로부터 변환된 이미지는 positive sample로 간주하여 거리가 가깝도록 학습하고, 동일한 배치 내에서 범주가 다른 이미지는 negative sample로 간주하여 거리가 멀어지도록 학습함으로써 한 배치 안에서 positive 및 negative sample 학습이 마무리되는 특징이 있습니다.
ProPos는 같은 범주의 데이터를 negative sample로 포함하는 CC의 단점을 보완하기 위해 negative sample을 사용하지 않는 알고리즘입니다. ProPos는 prototype scattering(PSL) loss와 positive sampling alignment(PSA) loss를 결합한 손실 함수를 사용합니다. 전자는 군집 간 거리를 조절하고 후자는 유사 샘플 간 거리를 조절하는 역할을 합니다. 이를 위해서 PSL에서는 K-means를 통해 pseudo label를 생성한 후 동일한 클러스터로 분류된 데이터들은 해당 클러스터의 중심과 거리가 가깝도록 학습을 유도하고 PSA는 부모와 해당 부모로부터 파생된 이미지의 거리가 가깝도록 학습을 유도합니다. 또한 매 epoch마다 K-means 분류를 재실행하여 pseudo label의 정확도가 매 epoch마다 개선되도록 고려하였습니다.
이미지 연구 커뮤니티에서는 축을 회전시키거나 노이즈를 합성하는 등 데이터의 파생이 쉬우면서도 파생 이후에는 본래의 의미(label)가 바뀌지 않는다는 점을 활용하여 어느 도메인보다 다양한 self-supervised learning 기반 연구가 진행되는 것 같습니다. 반면 다른 도메인에서는 이러한 방법을 어떻게 적용할 수 있을 지 궁금증이 들었습니다. 음성 분야에서는 다양한 소리 변조를 augmentation에 활용할 수 있을 것 같고, 언어 모델에서도 동의어/동의 문장을 활용하여 augmentation 하는 사례도 이미 누군가는 시도하고 있을 것 같은 생각이 들었는데, 개인적으로 다루고 있는 검사 데이터(tabular data)도 도메인을 고려하여 적절한 augmentation 방법을 찾을 수 있다면 시도해 볼 수 있는 좋은 연구 주제라는 생각이 들었습니다. 이해하기 쉽게 내용을 잘 전달해주신 백인성 연구원님께 감사의 말씀을 전합니다.

이번 세미나는 고차원 데이터를 군집화하는 방법론에 대한 소개가 진행되었다. 군집화란 구분 가능한 출력 변수(범주 정보) 없이 유사한 패턴을 가지는 관측치를 구분하는 방법론을 말한다. 하지만 단순하게 고차원 데이터에 대해 군집화 알고리즘을 적용하면 일반적으로 군집이 정확히 이루어지지 않는다. 이러한 문제를 최근 주목받는 Self-supervised Learning을 활용해서 데이터가 가지는 고유한 패턴을 잘 추출하고 잘 추출된 특징을 사용해 군집화를 진행하는 방식으로 해결하고자 하는 연구를 소개해주었다. 특징을 추출함과 동시에 군집이 가져야 하는 특징을 올바르게 가지도록 손실함수나 제약식을 추가하는 방식으로 학습이 진행되는 것을 확인했다. 특히 관심이 가는 부분은 'Cluster-level contrastive head' 부분인데 이 부분은 코드를 직접 확인해서 완전히 내 것으로 만들어야겠다는 생각이 들었다. 어려운 내용을 잘 정리해준 인성이형에게 감사를 표한다.

이번 세미나는 Deep clustering 이라는 주제로 진행되었다. 우선 클러스터링이란 무엇인지에 대하여 가볍게 설명하며 세미나를 시작하였는데 이번 세미나는 그 중에서도 neural network를 적용하여 클러스터링을 진행하는 것이 핵심 내용이었다. 데이터가 갈수록 고도화 되면서 deep clustering은 이미지와 같이 고차원 데이터일 때 적합한 방법이 될 수 있다고 한다. 세미나에서 총 2가지의 최신 방법론을 소개하였는데 이해를 돕기 위해 MoCo/BYOL을 짚고 넘어가서 복습이 되어 좋았다. 차근차근 상세하게 설명을 진행하여 전체적으로 이해하는데 무리가 없었지만 첫번째 방법론인 CC(Contrastive Clustering)에서 cluster-level contrastive head 부분은 해당 방법이 어떤 방식으로 클러스터링에 기여하는지 직관적으로 와닿지 않아서 해당 논문을 찾아봐야 할 것 같다. 그리고 두번째 방법론을 보면서 들었던 생각으로 결국 딥러닝은 loss를 정의하고 해당 loss에 의해서 학습이 진행되는 만큼 loss가 정말 중요하구나 라는 생각을 다시금 하게되었다. 빅데이터라는 키워드로 공부를 시작할 때 가장 먼저 접하게 되는 것이 클러스터링(K-means 등)이었는데 클러스터링은 레이블이 필요하지 않기 때문에 굉장히 활용도가 높은 만큼 관련하여 공부를 지속해야겠다는 생각이 들었다. 딥러닝을 활용한 클러스터링의 최신 방법론을 알기 쉽게 설명해주어 유익한 시간이었고, 세미나를 준비하느라 고생하신 백인성 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 Introduction to deep clustering algorithms에 대하여 진행하였다. 우선 clustering이란 label을 사용하지 않고 데이터가 가지고 있는 특성만을 활용해 유사한 특성을 가진 개체끼리 모으는 것을 의미한다. 일반적인 단순한 군집이라면 쉽게 clustering이 가능하지만 고차원데이터의 경우에는 딥러닝 방법을 사용하여 Deep clustering을 실시하여야 한다. 해당 세미나에서는 Deep clustering의 방법론을 소개해준다. Deep clustering은 Clustering(군집화) + Deep learning(고차원 데이터 특징을 잘 추출하는 방법)을 의미한다. 즉, 정답이 필요없이 입력데이터의 특징을 잘 추출하는 Self-supervised learning 방법이 적용되고 이를 통해 clustering이 더 잘되도록 한다. Deep clustering의 두 가지 논문을 소개해준다. 첫 번째는 contrastive clustering (CC)이다. 해당 방법은 데이터간의 contrastive learning를 실시하고 군집간에도 contrastive learning을 실시하여 clustering의 성능을 올린 연구이다. MoCo와 동일한 loss를 사용하며, 다른점은 negative sample을 따로 뽑지 않고, batch내에서 다른 이미지를 negative sample로 보고 학습을 진행한다. 두 번째는 ProPos(Prototype Scattering and Positive Sampling)이다. CC와 유사한 구조를 지니고 있지만 차이점은 Online network와 Target network가 weight를 공유하지 않는다. 해당 방법은 epoch마다 K-means 알고리즘을 활용해 pseudo clustering label을 생성하고 PSL(cluster간의 거리 학습)loss 와 PSA(augmentation데이터 간의 거리 학습) loss를 사용해 pseudo clustering label이 더 정확해질 수 있도록 학습을 진행한다.
이번 세미나를 통해서 clustering에 self-supervised learning이 어떻게 접목되는지 파악할 수 있었다. 이해하기 힘들 수 있는 내용을 단계별로, 기본 clustering 부터 MoCo와 BYOL의 기본적인 구조에 대해서 설명을 해주면서 시작을 하여 뒤에 소개해준 두가지 논문을 이해하는데 많은 도움이 되었다. 추후에 연구를 진행할 경우 clustering을 적용할 수 있는 연구를 진행할 때 해당 세미나가 많은 도움이 될 것 같다. 유익한 세미나를 준비해준 백인성 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

이미지 데이터와 같은 고차원 데이터에 대해서도 군집을 잘 할 수 있는 방법을 알게 되었다.
핵심은 군집 수행 전에 고차원 데이터를 저차원 상의 데이터에 잘 Mapping 하고 군집하는 것으로, 대조학습 아이디어 기반한 Mapping과 Clustering 아이디어를 잘 접목하는 것이 중요하다. 인상 깊었던 알고리즘으로 Contrastive Clustering(CC), Prototype Scattering and Postiive Sampling(ProPos)가 있었는데, 요약하자면 아래와 같다.
1. CC: Instance 기준 대조학습과 동시에 군집 기준 대조학습을 수행함. 군집 내부는 중심으로 뭉치고, 다른 군집은 멀어지도록 유도하기 위해, Column(군집)-wise하게 대조학습 손실함수를 적용한 것이 인상적.
2. Propos: Byol 형태의 표현학습과 동시에 K-means 기반으로 형성된 군집이 더욱 정교해지도록 군집 단위의 대조학습을 수행함.
오래간만의 군집 방법론과 관련된 세미나가 떠서 반가운 마음이 들었고, 좋은 세미나를 준비하시느라 고생하신 인성이 형에게 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.

이번 세미나는 Introduction to Deep Clustering을 주제로 진행되었다. 제목은 Deep Clustering이지만, 군집화를 자기지도학습에 적용한 연구들을 소개하는 세미나로 봐도 무방하다. 어떻게 보면 자기지도학습이나 군집화나 모두 Label을 필요로 하지 않는 방법론이기에, 두 방법론은 찰떡궁합일 수도 있겠다는 생각이 들었다. 본 세미나의 핵심은 고차원의 데이터를 어떻게 군집화하는가에 달려있다. 크게 두 가지 방법론을 소개한다. 먼저 CC는 군집-level 및 데이터-level에서 모두 Contrastive Learning을 적용한다. 데이터-level은 일반적인 SimCLR와 유사하지만, 군집-level은 Column-wise하게 SimCLR를 적용하여 해결한다. 개인적으로는 Column-wise하게 Contrastive Learning을 적용하는 것이 왜 군집-level의 Contrastive Learning으로 볼 수 있는지 궁금한 부분이다. 두 번째 방법론인 ProPos는 데이터-level은 Non-contrastive Learning을, 군집-level은 Contrastive Learning을 적용했다는 특징을 갖는다. 특이한 부분은 K-means로 Pseudo Cluster Label을 부여한다는 점이다. 이번 세미나를 통해 군집화를 적용한 자기지도학습 방법론들을 접할 수 있었다. 데이터-level 뿐만 아니라 군집-level을 함께 고려한다면 기존보다 많은 정보를 얻게 되어 Feature Extractor의 학습에 있어 효과적일 것이다. ProPos의 데이터-level 학습에서 Negative Sample을 사용하지 않은 이유를 Noisy한 데이터 때문이라고 밝혔는데, 추후 이처럼 Negative Pair에서 존재가능한 Noisy Sample들을 잘 제거하여 Negative Sample들도 함께 활용한다면 보다 개선된 연구를 할 수 있을 것이라고 기대된다. 유익한 세미나를 준비해주신 백인성 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

금일 세미나는 "Introduction to Deep Clustering Algorithms" 주제로 인성이형이 발표하였다. 최근 Deep Clustering은 Self-Supervised Learning을 많이 활용하는 것 같다. 이번 세미나에서 볼 수 있듯이 Self-Supervised Learning의 힘이 느껴졌다. 군집화는 레이블이 없는 데이터를 사용하여 데이터가 가지고 있는 특징만으로 유사한 특징끼리 군집화하는 것을 말한다. Self-Supervised Learning에서 대조 학습은 Semantic Invariant하다는 특징을 활용해 Anchor, Positive, Negatvie example을 정의하고 Anchor와 Positive는 Normalized Feature Space상에서 서로 끌어당기고 Anchor와 Negatives는 멀어지게끔 표현 학습을 진행한다. 이러한 점을 보았을 때 Deep Clustering 방법론에는 대조 학습을 활용하여 방법론을 개선하는 점이 바람직하다고 볼 수 있다. 소개된 논문들도 보면 알 수 있듯이 대조 학습의 장점을 적극 활용하는 것을 볼 수 있었다. 이번 세미나를 통해 Unsupervised Representation Learning의 힘을 다시 한 번 느끼게 되었다.

이번 세미나는 deep clustering algorithms를 주제로 진행되었다. 군집화란 라벨을 사용하지 않고 데이터 특성 만을 활용해 유사한 특성을 가진 개체끼리 모으는 것을 의미한다. 고차원 데이터는 군집화를 쉽게 하기 어렵다는 특징을 가지고 있어 이를 극복하기 위한 deep clustering이 주목 받고 있다. 기존 연구들로는 MoCo, BYOL 방법론 등이 존재한다.
첫 번째 소개된 CC는 군집 간 대조 학습과 데이터 개체 간 대조 학습을 통해 성능을 향상 시킨 방법론이다. 두 번째 소개된 ProPos는 군집 간은 대조 학습을 사용하고 데이터 개체 간은 대조 학습이 아닌 PSA loss를 사용하여 CC보다 더 좋은 성능 향상을 보인 방법론이다.
모델의 좋은 예측 성능을 위해 좋은 특징을 추출하는 것은 매우 중요하며, 이에 따라 금일 세미나에서는 ProPos와 같은 SOTA 방법론이 소개되었다. 개인적으로는 이미지 분류 예측을 위한 Task에 적합하다고 생각되는 분야여서 회귀 예측에서도 deep clustering 방법론들이 좋은 성능을 보이는지 궁금해졌다. 좋은 세미나로 이해하기 쉽게 SOTA 방법론을 알려준 백인성 연구원님께 감사하다는 얘기를 전하며 세미나 후기를 마친다.