- 2023년 2월 3일 오후 2:48
- 조회수: 11921
INFORMATION
- 2023년 2월 3일
- 오전 12시 ~
- 고려대학교 신공학관 218호
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
심층 학습 (Deep Learning) 모델 발전 덕분에 많은 산업 분야에서 이를 활용하고자 하는 응용 연구 사례가 존재한다. 일반적으로 심층 학습 모델 성능은 입력 및 출력 데이터로 구성된 학습 데이터 수가 많을수록 증가하는 경향이 있다고 알려져 있다. 하지만 실제 산업 현장에서는 많은 학습 데이터 셋을 구축하기 어렵다. 왜냐하면, 데이터를 수집함에 따르는 시간 지연으로 인한 생산량 감소, 전문가가 직접 데이터에 출력 데이터를 지정(Annotation)해줘야 하기 때문이다. 이러한 문제를 해결하기 위해, 최근에 많은 입력 데이터만 존재하는 데이터(Unlabeled) 와 (입력-출력)으로 구성된 데이터(Labeled)를 동시에 활용하고자 하는 연구가 주를 이루고 있다. 해당 연구들은 크게 자가지도학습(Self-supervised Learning)과 준 지도 학습(Semi-supervised Learning)으로 구분된다. 본 세미나에서는 최신 준 지도학습 연구 기반이 되는 FixMatch와 이를 개선한 알고리즘인 SimMatch에 대해 소개하고자 한다.
참고 문헌
발표자 후기

여러 인원들이 작성해준 청취자 후기를 읽고 발표자 후기를 남깁니다.
최근 등장하는 Semi-supervised Learning 방법론은 FixMatch를 특정한 방식으로 개선한 방법론이다라고 말할 수 있다고 생각한다. 여러 개선 방법론 중 Self-supervised Learning과 Semi-supervised Learning을 결합하려는 방법론인 SelfMatch, SimMatch에 대해 소개하였다. 특히 SimMatch에 대해 요약해보고자 한다. 아래 내용을 간략히 읽어본 뒤, 세미나를 청취하면 도움 될 듯 하다. 마지막으로 코드와 논문만 보고 저자 의도를 정확히 파악하는 것은 재미있지만 힘든 일이다. 본 세미나를 통해 SimMatch 알고리즘을 정확히 이해하는데 조그마한 도움이 되었으면 좋겠다.
SimMatch = FixMatch + Similarity Matching
- Similarity Matching(SM): (Labeled/ Weak Augmented) 사이 유사도 분포와 (Labeled/ Strong Augmented) 사이 유사도 분포 차이를 최소화
- SM을 진행하기 위해, 기존 FixMatch 분류기에 다시 한번 차원을 축소시켜 저차원 임베딩 벡터를 산출하는 MLP Head 추가
- 추가한 MLP Head 나온 벡터들을 사용해 SM 진행
- Unfolding, Aggregation을 진행하는 이유
위에서 추가한 MLP Head에서 나온 것은 단순한 모델 출력 값인 저차원 임베딩 벡터
단순한 모델 출력 값이기에 Labeled 데이터 정보가 포함되지 않음
저차원 임베딩 벡터에 Labeled 데이터 정보를 추가하기 위해 Unfolding, Aggregation 진행
즉, Weak Augmented 데이터에서 산출되는 유사도 분포가 더 정확해져서 학습에 긍정적인 영향을 미치길 원하는 것
- Unfolding
Labeled Memory Buffer 정보를 사용해 (Labeled/ Weak Augmented) 사이 유사도 보정
- Aggregation
보정된 (Labeled/ Weak Augmented) 사이 유사도 정보를 사용해 (Labeled/ Strong Augmented) 사이 유사도 보정 및 기존 예측 값 보정
- 즉, Memory Buffer/ Labeled Memory Buffer 에서 Weak Augmented를 보정, 보정된 Weak 유사도에서 Strong Augmented를 보정하는 순으로 진행
청취자 후기

이미지 분류 알고리즘을 학습하는 과정 중 데이터의 레이블을 준비하는 것처럼 반복적이고 지루한 일도 없을 것입니다. 오늘 세미나는 상대적으로 적은 데이터를 사용하여 예측 성능을 개선한 3 가지 알고리즘을 소개하고 있습니다.
첫 번째로 소개된 FixMatch 알고리즘은 상대적으로 적은 labeled data과 다수의 unlabeled data를 사용하는 모델입니다. labeled data를 사용할 때 학습 방법은 기존 지도학습과 동일하지만, unlabeled data를 학습할 때는 weak augmentation의 추론 값을 strong augmentation의 pseudo label로 활용하여 augmentation 이전 부모가 같은 이미지는 같은 값으로 예측 결과가 나오도록 손실 함수를 설계하였습니다. 단 pseudo label은 예측 확률이 일정 임계값(0.75)을 넘는 경우에만 사용하게 함으로써 pseudo label의 신뢰도를 높이는 것을 고려했습니다.
두 번째와 세 번째 소개된 논문은 SelfMatch와 SimMatch이며 사전 학습 과정이 있어 self-supervised learning과 semi-supervised learning 특징을 모두 수용한 알고리즘이라는 공통점이 있습니다. 특히 SimMatch는 이전 알고리즘에서 주로 사용했던 semantic similarity 이외에 instance similarity 개념을 추가로 도입했습니다. augmentation 이전 같은 부모의 데이터는 분류 결과만 비슷해야 하는 것이 아니라 embedding(요약된 이미지) 형태도 비슷해야 한다는 개념입니다. 네트워크의 가중치에 의해 선형 변환된 embedding vector의 결과가 비슷하다면 범주의 분류 결과도 비슷할 것입니다. SimMatch에서는 이를 손실 함수에 추가로 반영해서 더욱 더 적극적으로 같은 부모의 데이터에서는 추론한 범주별 확률 분포가 유사하도록 손실 함수를 설계하였고 이러한 결과로 FixMatch보다 성능이 우수한 것으로 개인적으로 이해했습니다.
어려운 내용은 반복하여 듣게 되었는데, 들을 수록 많은 준비를 한 것이 느껴지는 소중한 세미나였습니다. 준비하시느라 고생 많으셨습니다.

이번 세미나는 FixMatch 이후 나온 준지도학습에 대하여 진행되었다. FixMatch에 흥미를 느껴 연구를 시작했던 것만큼, 간만에 지난 연구를 생각하며 최신 발전된 트랜드를 공부할 수 있었다. 특히, 이번 세미나의 핵심은 SimMatch였다. SimMatch는 FixMatch에 Instance Similarity 및 Distribution Alignment 개념을 추가하여 학습한다는 특징을 갖는다. 개인적으로 가장 와닿았던 부분은 Labeled 데이터로 Memory Buffer를 만들어 이들과 각 Unlabeled 데이터와 유사도를 구하는 부분이다. Unlabeled 데이터를 Softmax결과만 참고하여 Pseudo-label로 바꾸어 학습했던 FixMatch와 다르게, Labeled 데이터와 각 데이터의 분포를 활용함으로써 Label에 대한 정보를 암묵적으로 활용한 것은 Unlabeled 데이터에 더 확실한 Label을 부여해줄 수 있었던 것으로 사료된다. 개인적으로 Unlabeled 데이터에 Label에 대한 정보를 활용하였다는 것은 정말 참신했지만, 메모리 측면에서 괜찮을까에 대한 의문도 들었다. “모든” Labeled 데이터로 Memory Buffer를 만들 뿐만 아니라 Unlabeled 데이터의 이전 32시점 예측값들을 모두 고려하기 때문이다. 논문을 살펴보았을 때는 오히려 FixMatch보다 학습효율이 더 좋다고 언급하는데, 이 부분에 대해서는 어떤 트릭으로 가능했는지 추후 기회가 되면 살펴보고 싶다. 유익한 세미나를 준비해주신 조용원 연구원님께 감사드리며 이상으로 세미나 후기를 마친다.

이미지 데이터 분류를 위한 준지도학습 세미나를 청취하였다. Consistency Regularization(CR) 계열 준지도학습 알고리즘 중 대중적이고 성능이 우수한 FixMatch부터 그 이후의 알고리즘(SelfMatch, SimMatch 등)에 관한 내용이 주를 이루었다. 개인적으로 FixMatch 이후 알고리즘에 대해 팔로업이 된 상태가 아니였어서 금일 세미나가 많은 도움이 되었다.
기존 방법론들은 logit vector만을 한정하여 CR을 수행하고, 어떤 데이터들만을 대상으로 CR을 적용해볼까에 포커스를 두고(=데이터 선별을 의미한다.) 개발된 반면, SimMatch는 Embedding Vector에 대해서도 추가적인 CR을 수행한 것에 의미가 있다. SimMatch는 Labeled 데이터셋과 Unlabeled 데이터셋 사이의 유사도에 augmentation 기반 CR을 수행했으며, 유사도와 레이블 정보를 최대한 결합시키려 노력해왔다. 이 과정에서 연구진들이 중간에 포기하지 않고, 얼마나 많은 (디테일한) 부분들에 세밀한 로깅 작업을 해가며 성능 변화를 관찰해왔을지 상상됐다. 저 또한 Safe SSL 연구를 진행하며 labeled데이터와 unlabeled 데이터 사이의 유사도로 SSL 안전성을 높이려고 했던 기억이 있는데, 복잡하다라는 생각이 그만 둔 경험이 있기 때문이다.
모든 Unlabeled 데이터의 과거 32개 예측 값들을 저장하고 있어야 한다는 단점은 아쉽지만, (다량의 Unlabeled 데이터를 사용한다라는 전제를 가진 SSL에서 이 점은 큰 단점이다.) 메모리 버퍼나 유사도, 레이블 정보를 활용하는 과정이 매우 논리적이고 디테일하기 때문에, 좋은 방법론이라고 생각한다.
좋은 세미나를 준비해주신 용원이 형님께 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.

이번 세미나는 조용원 연구원이 'Semi-supervised Learning of FixMatch and after FixMatch' 라는 주제로 진행하였습니다. Semi-supervised 연구의 필요성부터 해당 분야의 주요 논문 3편을 소개해주어 연구에 도움이 되었습니다. 감사합니다. 또한, 세미나 들으면서 정리한 내용을 아래에 옮깁니다.
1. FixMatch (2020, NeurIPS)
- Semi-supervised 방식 중 하나로 간단한 방법으로 당시에 SOTA를 달성한 논문
- Loss : labeled data loss + unlabeled data loss
1) labeled data loss : 실제 범주와 예측 범주 사이의 cross entropy
2) unlabeled data loss : weak augmentation에 대한 예측 확률 중에서 confidence를 넘는 것을 바탕으로 pseudo labeling 진행. 해당 값과 strong augmentation에 대한 예측 확률 간의 cross entropy를 unlabeled loss로 사용. (Consistency Regularization 가정)
- 주요 용어
1) Consistency Regularization : 입력 데이터에 간단한 augmentation, perturbation 등을 진행하여도 예측 결과는 일관되게 나올 것이라는 가정
2) Confidence : 범주 예측 확률값에 대한 신뢰 정도
- 논문에서 찾아보면, ablation study에서 threshold value가 높을수록 pseudo-labels의 quality가 증가하고 이에 따라 성능이 증가
2. SelfMatch (2021, Arxiv)
- 기존 FixMatch 구조의 예측 모델 초기 파라미터를 self-supervised 방식(SimCLR)으로 학습한 encoder에서 가져오는 방식
3. SimMatch (2022, CVPR)
- weak augmentation에 해당하는 probability를 도출하는 방식을 FixMatch 보다 개선(Distribution Alignment 추가)
- Embedding vector space 상에서, labeled data와 weak, strong augmentation data 각각에 대한 유사도를 최소화하는 loss 사용
- Semantic similarity에서 범주가 같은 경우, 유사도를 증가하는 식으로 보정
- Self-supervised 방식에서 사용되는 augmentation 후 유사도를 측정하여 loss로 사용하는 형식이 차용된 것으로 보임

이번 세미나는 "Semi-supervised Learning of FixMatch and after FixMatch"을 주제로 진행되었다. 딥러닝은 데이터가 많을 수록 성능이 좋은 것이 보편적이다. 하지만 현실적으로 많은 데이터 수집의 어려움과 수집된 데이터에 레이블을 지정하기 위해 많은 전문 인력이 요구된다는 한계가 존재한다. 이러한 한계로 인해 자기 지도 학습과 비지도 학습 방법이 관심을 받고 있다. 본 세미나에서는 자기 지도 학습과 비지도 학습에 관한 요약 설명과 더불어 비지도 학습 3가지 방법론(FixMatch, SelfMatch, SimMatch)에 관한 설명이 주를 이루고 있다.
SelfMatch와 SimMatch 각각 FixMatch 방법론에 자기 지도학습을 사용하거나 유사도 개념을 추가한 방법론이다. SelfMatch에서는 SimCLR을 사용하여 학습된 Encoder를 FixMatch에 적용하였는데, 네트워크 자체는 굉장히 간단하고 실제로 성능 면에서 다른 방법론 대비 성능의 차이가 존재하지만 FixMatch만을 사용했을 때와 비교해보면 CIFAR-10에서 40개의 레이블 데이터만을 사용했을 때를 제외하고는 큰 차이가 존재하지 않는다. 자기 지도 학습을 함께 사용하는 것이 유의미하다고 생각되지 않는다. SimMatch 방법은 유사도 개념을 추가하였는데 꽤 성능 향상이 두드러지는 것을 확인했지만, 각 데이터의 임베딩 벡터를 저장하는 메모리 버퍼와 레이블을 저장하는 레이블 메모리 버퍼까지 사용하였는데 메모리 측면에서 괜찬을까하는 의문이 생겼다. 아마 이 부분은 김성수 연구원이 갖고 있는 궁금증과 같다고 생각한다. 또한 세미나의 요약 부분에서 SimMatch가 "비지도 학습과 자기 지도 학습 방법론 개념을 통합했다고 판단"했다고 말했는데, 유사도 개념을 적용했다는 측면에서 자기 지도 학습 방법론 개념을 적용했다고 보는 것인지 어떤 근거로 판단하였는지 궁금하다.
시작과 끝이 굉장히 깔끔하고 청자 관점에서 이해하는데 굉장히 수월했다. 아무래도 발표자의 꼼꼼한 성격 때문이라고 생각한다. 요즘에는 데이터마다 데이터 증강 기법의 적합성에 관해서도 많은 관심을 두고 있는데, 이번 주제와 상관없지만 다음에 한번 알아보면 좋겠다고 생각하게 되었다. 유익한 세미나를 준비해준 조용원 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 Semi-supervised Learning of FixMatch and after FixMatch라는 주제로 진행되었다. 이미 과거 여러 세미나에서도 언급되었듯이 labeled 데이터를 구하는것이 쉽지 않다 라는 사실로 세미나의 흐름을 시작하였다. 당연하게도 이렇게 labeled 데이터가 많지 않은 상황에서 Semi/Self-SL 방법론들이 주목받게 되는데 그 중에서 굉장히 유명한 FixMatch에 대하여 설명하고, 이어서 SelfMatch, SimMatch 방법론의 설명을 진행하였다. *Match라는 이름의 방법론이 여러가지가 있어서 항상 들을때마다 어떤 내용이었는지 헷갈렸는데 이번 세미나를 통해서 FixMatch에 대해서 다시 복습하고 기억할 수 있게된 것 같아서 좋았다. 또한 FixMatch에서 Self-SL의 개념을 더한 SelfMatch는 비교적 간단한 방법을 통해서 성능 향상에 기여한것으로 1+1의 느낌으로 새로운 방법론에 대해 쉽게 파악할 수 있었다. 마지막으로 SimMatch가 핵심이었는데 설명을 들으면서 인상깊었던 부분으로 여러번의 보정 작업을 통해 보다 높은 퀄리티의 데이터를 생성했다는 것이었다. 해당 연구가 여러 학교/기관에서 진행되었는데 전체적인 정확도 향상과 의미있는 데이터를 만들기 위해서 굉장히 많은 아이디어의 도출이 진행되었을것 같고 이를 하나로 통합하기 위하여 굉장히 힘든 시간을 보내지 않았을까 라는 생각이든다. 과거 세미나에서도 느꼈던 점이지만 기존의 방법론을 개선하는 좋은 아이디어가 있다고 할지라도 해당 아이디어만 적용하는 것으로 끝나는게 아니라 해당 아이디어를 보조하기 위한 다양한 작업이 합쳐졌을때 비로서 효과적으로 적용하는 것 같아서 정말 쉽지 않구나 라는 것을 느낄 수 있었다. 세미나 전반적으로 과거내용을 remind하며 논리적으로 설명이 진행 되었기에 내용을 이해하는데 무리는 없었지만 SimMatch의 경우 여러번 봐야 제대로 파악할 수 있을것 같아서 종종 다시 와서 시청하려한다. 이처럼 유익한 세미나를 준비한 조용원 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

이번 세미나는 Semi-supervised Learning of FixMatch and after FixMatch 주제로 진행되었다. 현재 딥러닝을 위한 데이터 수집이 어렵지만 더욱 어려운 점은 레이블을 지정을 해줘야 한다는 것이다. 이러한 한계는 과거부터 계속 이야기 되어왔고, 한계를 극복하기 위해서 자기 지도 학습과 비지도 학습 방법이 있다. 세미나에서는 FixMatch,SelfMatch,SimMatch를 소개해준다.
첫번째로 FixMatch는 학기 수업 중에 들었던 내용으로 다시 한번 더 되뇌일 수 있었다. Semi-supervised 방식 중 하나로 단순한 방법만으로 높은 성능을 보여준 방식이다. FixMatch에서는 unlabeled data에 대해서 confidence를 넘는 weak augmentation을 pseudo labeling으로 사용한다는 것이다. 해당 값과 strong augmentation간의 cross entropy를 unlabeled loss로 사용하는 것이 특징이다. 두번째로 SelfMatch는 FixMatch 초기 파라미터를 self-supervised 방식으로 학습한 encoder에서 가져오는 방식이다. 세번째로 SimMatch는 FixMatch 보다 성능 측면에서 많은 개선을 하였고, instance similarity를 추가하여 성능을 향상 시킨 방식이다. 이때 유사도와 레이블 정보를 최대한 결합시키려 노력했다. 세미나 전반적으로 FixMatch부터 시작해서 발전되는 방향으로 논리적으로 설명을 진행해주어서 재미있게 세미나를 볼 수 있었다. SimMatch는 직접 논문을 읽어보고 다시 세미나를 시청해야 확실하게 이해를 할 수 있을 것 같았다. 유익한 세미나를 준비한 조용원 연구원에게 감사드리며 이상으로 세미나 후기를 마친다.

최근 등장한 Hybrid Semi-Supervised Learning 방법론들에 대해 알아보았다. 구체적으로는 FixMatch와 SimMatch의 비중이 가장 컸다.(SelfMatch는 방법론적 차별점이 크지 않아 보였다.) MixMatch 이후에 ReMixMatch가 등장했을 때 알고리즘은 더욱 복잡해졌지만 그다지 성능 향상이 크지 않았다. FixMatch는 갈수록 복잡해져가는 Hybrid Method를 간결화시켰을 뿐만 아니라 더욱 좋은 성능을 보였다. 이때만 해도 이제 Hybrid Method가 다시 간결화되는 추세구나 싶었다. 하지만 오늘 알아본 SimMatch는 다시 한번 알고리즘이 복잡해져간다는 것을 알 수 있었다. Weakly Augmented Sample에 대한 예측 값의 변화가 적어야 학습이 안정적이기 때문에 최근 T 시점 동안의 예측값의 평균을 사용한다는 점은 기존의 momentum update를 쓰는 알고리즘이 많기 때문에 납득이 간다. 또한 Labeled Data에 대한 Buffer를 활용해 샘플 별로 Similarity Distribution(Weak, Label)과 Similarity Distribution(Strong, Label)이 같아지도록 하는 것 까지는 굉장히 재밌는 아이디어였다. 하지만 안타깝게도(논문을 보면 답이 나오겠지만) 왜 Semantic Similarity와 Instance Similarity를 보정해주어야하는지, 그렇지 않으면 어떤 단점이 있는지는 납득이 잘 가지 않았다. 이번 세미나를 계기로 SimMatch라는 알고리즘이 이런것이구나라고 감을 잡을 수 있었다. 하지만 알고리즘이 다시 복잡해지다보니 개별 테크닉에 대한 논리가 잘 와닿지 않아 논문을 정독할 필요가 있음을 느꼈다. 세미나를 준비하느라 고생하신 용원이형께 감사의 말씀을 드린다.

이번 세미나는 여러가지 준지도학습 방법론들에 대해 소개되었다. 다양한 분야에서 labeled 데이터를 수집하기는 많이 어렵기 때문에, unlabeled 데이터들을 같이 사용할 수 있는 준지도학습, 자기지도학습, 그리고 n-shot learning 등 다양한 연구가 진행되고 있는데 본 세미나에서는 준지도학습에 포커스를 맞추었다.
FixMatch는 unlabeled 데이터에 weak/strong augmentation을 취해주고 weak augmentation의 예측 값 중 임계값 이상인 경우 pseudo labeling을 진행한다. Pseudo labeling이 된 후에 strong augmentation의 결과와의 cross entropy를 통해 unlabeled 데이터에 대한 loss 식을 정의한다. SelfMatch는 unlabeled 데이터를 SimCLR 방식으로 인코더 사전 학습을 진행하고 이 인코더와 분류기에 대해 FixMatch 방식으로 조정 학습을 하는 방법론이다. 마지막으로 소개된 SimMatch는 기존 FixMatch에 유사도 개념을 추가하여 성능을 향상 시킨 방법론이다. Unlabeled 데이터에 대해서는 Distribution Alignment를 적용하고 Instance Similarity에 대한 loss를 정의한다. 이 때, label 정보를 활용하여 보정하는 작업이 추가로 이루어진다.
본 세미나를 통해 대표적인 준지도학습 방법론들에 대해 학습할 수 있었다. SimMatch의 경우 정말 많은 아이디어들이 적용됐고 최종적으로 기존 방법론들에 비해 좋은 성능을 도출할 수 있었다. 준지도학습 방법론들에 대해 접할 기회가 많지는 않았었는데 본 세미나를 통해 쉽게 이해할 수 있었고 중간 중간에 리마인드를 해주어서 뒤 내용을 이해하기 용이했던 것 같다. 앞으로도 준지도학습 뿐만 아니라 unlabeled 데이터를 활용하는 다양한 방법론들이 계속해서 개발 될텐데 최대한 학습하여 트렌드를 따라갈 수 있도록 노력해야겠다는 생각이 들었다. 좋은 세미나 자료를 준비해주신 용원이형께 감사드리며 이상 본 세미나 후기를 마친다.

이번 세미나는 Semi-supervised Learning of FixMatch and after FixMatch를 주제로 진행되었다. 레이블 데이터가 부족한 상황에서 라벨링 되지 않은 Unlabeled 데이터를 활용하여 예측 정확도를 올리는 방법에는 자가지도 학습(Self-supervised), 준지도 학습(Semi-supervised)이 있다. 자가 지도학습은 Unlabeled data로 사전학습 후, labeled data로 미세조정을 하는 방식이다. 준지도 학습은 Unlabeled data와 labeled data를 모두 사용하여 각각의 손실함수를 정의하여 모델을 학습하는 방식이다.
첫 번째로 소개된 방법론은 준지도 학습인 FixMatch로 Unlabeled data에 weak augmentation을 적용하여 Pseudo labeling을 해준 뒤, Unlabeled data에 strong augmentation을 적용한 예측 값과 CE를 통해 loss를 줄이는 unlabeled loss를 가지는 방법론이다. 두 번째로 소개된 방법론은 SelfMatrch로 사전 학습에서는 SimCLR 방식으로 인코더를 학습한 뒤, 미세조정 시에는 사전 학습된 인코더를 가져와 FixMatch 방식으로 학습을 해주는 구성이다. 세 번째로 소개된 방법론은 SimMatch로 unlabeled loss에서는 과거 시점 예측 확률 값 평균을 통해 보정하여 Pseudo labeling을 해주고, 유사도 분포 차이를 최소화 하는 Instance Similarity라는 손실함수를 추가한 방법론이다.
FixMatch 이후 FlexMatch 관련 논문을 찾아 본 적이 있지만, 자가지도 학습을 같이 활용하는 SelfMatch, SimMatch 방법론은 해당 세미나를 통해 처음 알게 되었다. 특히 SimMatch의 경우 높은 성능 향상을 보였다는 것이 인상 깊었다. Instance Similarity를 자세히 설명해주기 위해 많은 정성을 들었다는 생각이 들었다. 좋은 세미나 준비하신 조용원 연구원님께 수고했다는 얘기를 전하며 세미나 후기를 마친다.

금일 세미나는 "Semi-Supervised Learning of FixMatch and After FixMatch" 주제로 용원이가 발표하였다. FixMatch는 Vision 뿐만 아니라 Graph, Wafer Bin Map 등 다양한 산업 도메인, 데이터 형태 등에 많이 활용되고 있으며 성능 또한 우수한 알고리즘이다. 이후에 Self-Supervised Learning을 결합한 Self/Semi-Supervised Learning인 SelfMatch, SimMatch가 등장하였다. 특히, 이번 세미나에서는 SimMatch가 재미있었다. 핵심은 Labeled Data와 Weakly Augmented Data 유사도와 Labeled Data와 Strongly Augmented Data 유사도 차이를 최소화하는 것이다. 아이디어는 Self-Supervised Learning의 장점들을 활용했다는 점이 좋았지만 Memory Buffer를 사용하는 부분에서는 개선할 부분이 많다고 생각한다. Contrastive Learning에서 Memory Bank, Memory Queue, Batch Size로 진화한 방식처럼 향후 Self-Supervised Learning을 결합한 Semi-Supervised Learning에서도 다양한 연구가 시도될 것이라는 생각이든 세미나였다.

이번 세미나는 Semi-supervised Learning of FixMatch and after FixMatch 주제로 진행되었다. SSL 에 대해 다른 세미나와 마찬가지로 Labeled 된 Data 는 값비싸다는 사실을 기반으로 세미나가 시작되었다. 이러한 상황에서 SSL 방법론에 대한 연구가 관심을 받고있는데 멘토 고병은님께서 추천해준 FixMatch 논문을 읽어보고 잘 이해가 되지 않아 본 세미나를 시청하였다. 나는 FixMatch 에 대해서 집중적으로 학습하였는데 FixMatch 는 Label / Unlabel 데이터를 모두 사용하고 Unlabel 된 데이터에 대해서는 각각 Weak / String Augmentation 을 사용하여 특정 Threshhold 를 넘으면 Pseudo-Label 을 부여하여 Labeling 된 Data 처럼 활용을 하고 이를 Strong Augmentation 된 데이터로 예측 후 Cross-Entropy 를 최소하하는 방향으로 학습하게된다. 따라서 학습 초기에는 Threshhold 가 넘는 Unlabel data 가 많지 않게되지만 학습이 진행 될 수록 Label Data 대비 Unlabel data 가 많아서 학습 효율이 올라가게 되는 원리이고 MixMatch 같은 기존 방법론 대비 간단하면서도 비슷한 성능을 낸다는 것이 놀라웠다. 아직 SSL 에 대한 이해도가 낮은 상황이지만 산업현장에서 Label data 의 희소성을 고려해봤을때 반드시 쓰임도가 높을 것으로 생각되며 더 공부해봐야 겠다는 생각이 들었다. 좋은 세미나를 준비해 준 조용원 연구원께 감사드리며 세미나 후기를 마친다.

실제 산업 현장에서 Labeled 데이터를 확보하는 일은 매우 어렵기 때문에, Semi-supervised learning 혹은 Self-supervised learning의 개념은 앞으로 매우 유용하게 사용될 것 같다. 그러한 관점에서 본 세미나는 이러한 SSL의 기초적인 부분을 잘 설명해주어서 개인적으로 매우 유익하였다.
기본적으로 Semi-supervised learning이나 Self-supervised learning은 모두 많은 unlabeled 데이터와 적은 labeled 데이터를 가지고 있을 때 활용한다. 다만 가장 큰 차이는 unlabeled 데이터에 대해서 어떻게 loss를 정의할 것이냐는 문제인데, 이와 관련하여 3가지 방법론에 대해서 소개한다.
먼저 FixMatch는 semi-supervised learning에서 unlabeled 데이터의 loss를 계산하는 방법을 제시한다. Unlabeled 데이터는 weak augmentation으로 pseudo label을 생성하고, strong augmentation을 수행하여 weak augmentation의 pseudo label과 loss를 계산하는 방식이다. SelfMatch는 사전학습을 추가하여 기존 semi-supervised learning 방법론 대비 성능을 향상시켰으나, 효과적으로 데이터를 모두 사용했다고 평가하기는 어렵다. SimMatch의 경우 기존 FixMatch에 similiarity를 추가하여 성능을 향상 하였으며, Semantic similarity에서 범주가 같은 경우 유사도를 증가하는 식으로 보정하였다.
세부적인 방법론에 대해서 더 이해하기 위해서는 좀 더 학습이 필요할 것 같다. 다만 기초적인 개념에서 상세히 설명을 해주어 전반적인 이해에 도움이 되었다. 세미나를 진행해준 조용원 연구원께 감사 인사를 전하며 세미나 후기를 마친다.

해당 세미나는 Semi Supervised Learning의 필요성과 FixMatch와 그후 파생된 Semi Supervised Learning 방법론들에 대한 내용을 다루었다.
[1] 첫번째 논문인 FixMatch는 Simple, Consistent, 그리고 Confidence 이 세가지 키워드가 핵심이다. 우선 Consistent는 원본 이미지와 augment된 이미지의 분류 결과가 동일해야함을 의미하며, Confidence는 예측 확률이 unlabeled data의 pseudo label을 결정할 때 특정 threshold를 넘어야 한다는 것을 의미한다. Labeled loss의 경우 일반적인 지도학습 방식과 동일하지만, Unlabeled data에는 weak augmentation을 가해 얻은 pseudo label과 strongly augmented data 간의 cross entropy를 통해 unlabeled loss를 구한다.
[2] 두번째 SelfMatch는 모델의 Encoder 부분은 SimCLR와 동일한 방식으로 사전학습을 취하고 그후 FixMatch 방식으로 Transfer learning을 하는 방법론인다.
[3] 마지막 SimMatch는 이전 FixMatch 방식에 여러 보정 기법들이 가미된 방법론이다. Weakly augmented data와 strongly augmented data에 대한 Semantic 그리고 Instance Similarity를 활용하여 Labeled data와의 차이를 최소화하는 것이 핵심이다.
해당 방법론들은 연구실 생활을 하면서 정말 많이 듣던 이름들인데, 세미나를 통해 유익한 정보들을 학습할 수 있게 준비해준 조용원 연구원에게 감사의 인사를 전한다.