- 2021년 2월 19일 오후 11:48
- 조회수: 5123
REFERENCES
INFORMATION
- 2021년 2월 19일
- 오후 1시 ~
- 온라인 비디오 시청 (YouTube)
TOPIC
On-Line Video
OVERVIEW
청취자 후기
금일은 자가지도학습 계열의 BYOL 알고리즘에 퐁당 빠져보는 세미나 시간을 가졌다. 평소 강화학습과 자가지도학습에 많은 관심을 갖고 연구하던 재훈이 형이 진행해주었으며, BYOL을 이해하기 위한 자가지도학습 배경들에 대해서도 많은 리뷰를 해주어 친절한 세미나였다.
BYOL은 기존 자가지도학습(contrastive learning) 알고리즘에서 단점으로 꼽혀지고 있는 문제점들을 개선시킨 것으로, Positive pair만을 이용하여 데이터 representation을 학습하는 알고리즘이다. 이 때, BYOL은 positive pair만을 이용한 contrastive learning이 갖고 있는(있을) 문제점을 BYOL만의 모델 구조와 loss function 계산법으로 극복하였고 SOTA 성능을 갱신하였다. BYOL만의 특징이 어떻게 collapsed representation을 해결할 수 있을지에 초점을 두고 설명해 준 재훈이 형에게 훌륭한 세미나였다고 이 자리를 빌어 감사의 말을 전하고 싶다.
BYOL만이 갖는 특징을 잘 전달하기 위해 Ablation study 실험 결과도 함께 리뷰를 해주었고, BYOL이 좋은 성능을 가질 수 있었던 점에 대해 한번 더 리뷰될 수 있도록 후속 논문들도 같이 소개해주었다. 멋진 세미나였다.
머신러닝 모델의 성능은 그 전 단계의 입력을 후속 테스크를 수행하는데 있어서 벡터공간 상 얼마나 적절하게 변환시켰는지에 따라 좌우되며, 이러한 공간을 찾아내는 일련의 과정을 Representation Learning이라고 한다. 최근에는 레이블이 없는 데이터만으로 해보자는 취지로 Self-Supervised Learning이 유행하고 있는데, 오늘은 그 선봉에 있는 Contrastive Learning 계열의 Negative Pair 선택 방식을 보완한 BYOL(Bootstrap Your Own Latent) 모델에 대해 살펴보았다. BYOL은 동일한 구조의 두 네트워크(Online/Target network)로 구성되며 이때 Target Network는 옛 자신과 Online network 파라미터의 내분값으로 업데이트된다. BYOL의 특이한 점은 두 네트워크에는 MoCo나 SimCLR과 같이 별도의 negative pair를 지니지 않고 각 네트워크에서 나온 출력값을 통해 loss를 계산한다는 점이다. Online network의 예측값을 Target network가 예측하게 함(Loss 계산시는 Symmetric하게 하기 위해 입력쌍을 교환하여 최종 더한 두 loss 합으로 계산)으로써 negative pair의 별도 지정 없이 collapsed representation이 일어나지 않고 '신기하게도' 오히려 더 좋은 성능을 낸다고 한다. 이에 대한 정설은 아직 없어서 Black Magic 같은 부분도 있지만, 성능이 기존 방법론들에 비해 잘 나오고 모델의 태생적인 구조로 인해 Batch 크기에 강건하다는 것 자체만으로 충분히 다른 도메인에도 적용해볼법한 매력을 갖고 있는 듯하다. DMQA 연구실 Self-Supervised Learning시리즈에 또 하나의 마일스톤 세미나를 준비해준 재훈이에게 감사의 말을 전한다.
Self-Supervised Learning에서 주된 연구는 Pretext Task Based(ex-Rotation, Jigsaw)와 Contrastive Learning Based(ex-SimCLR, MoCo, PIRL)로 나뉘는데, 최근 연구 동향은 후자에 대해 이루어지고 있다. Contrastive Learning 의 장점은 Pretext Task를 지정할 필요 없이 Representation을 잘 학습할 수 있다는 것이지만, 단점은 수많은 Negative Sample 에 대한 정보를 항상 가지고 있어야 한다는 것이다. 그 이유는 Contrastive Learning이 같은 것은 가까이, 다른 것은 멀리 projection 하는 feature를 추출 해야하기 때문이다.
이번 세미나의 주제인 BYOL은 방대한 Negative Sample 필요 없이, Positive Sample만을 가지고 좋은 representation을 뽑을 수 있는 방법을 제시한다. 흔히 Negative Sample 이 없다면 Representation Collapse(이미지에 상관 없이 모두 같은 constant vector를 뱉는 현상)가 일어나는데, BYOL은 Representation Collapse를 Negative Sample 없이 제거 했다는 것이 큰 기여점인 것 같다.
이번 세미나에서 가장 인상 깊었던 부분은 세미나 뒷부분이다. BYOL 논문에 대한 리뷰 뿐만 아니라, BYOL의 어떤 요소가 Representation Collapse를 제거했는 지에 대한 Ablation Study, 논쟁의 흐름을 잘 보여주었기 때문이다. 단순히 성능이 잘 나와서가 아니라, 어떤 요소가 해당 방법론에서 중요하게 작용 하였는지를 찾는 것이 연구자로써 대단히 중요한 마음가짐인 것 같다. 최근 연구미팅에서Contrastive Learning 이 한계에 부딪혔다는 말이 나왔었다. 하지만 "Contrastive Learning 이 한계에 부딪혔다고 생각 할 수 있으나, Self-Supervised Learning 자체는 아직도 무궁무진하다"라고 선배 연구원분들께서 말씀하신적이 있다. BYOL은 Self-Supervised Learning의 새로운 패러다임을 제시했다고 생각한다. 해당 세미나를 준비하느라 고생하신 재훈이형께 감사의 말씀을 드린다.
이번 세미나는 "Bootstrap Your Own Latent(BYOL)"를 주제로 진행되었다.
BYOL은 Xor 문제를 해결해주며 입력 데이터의 특징을 잘 표현할 수 있도록 학습하는 방법론인 Representation Learning으로 부터 시작되었다. 이후 레이블이 없는 데이터를 활용하여 모델이 좋은 특징을 추출할 수 있도록 학습하는 방법론인 Self-supervised Learning과 이를 3가지의 representation vector(기준 역할을 하는 Anchor, 기준 데이터와 같이 나온 Positive, 기준 데이터와 다르게 나온 Negative)를 이용하여 Positive 데이터를 가깝게 두고 Negative 데이터를 멀리 둠으로써 학습하는 Contrastive Learning가 있다. Contrastive Learning은 3가지 단점이 있는데, 그 중 Negative 데이터를 이용하지 않고 Positive 데이터만을 이용한 방법론이 BYOL이다.
후속 연구를 통해 설명해주어 인상적인 세미나가 되었다. 바로 BYOL을 접하게 되었다면 이해하기 어려웠을 것이지만 기술적인 흐름을 알게 되면서 자연스럽게 이해가 되었다.
끝으로 BYOL을 설명해주시기 위해 고생해주신 재훈이형께 감사의 말씀을 전합니다.
이번 세미나는 “Dive into BYOL”를 주제로 진행되었다. Self-supervised Learning에서는 레이블이 없는 데이터를 활용하여 모델이 데이터의 좋은 특징을 추출하도록 도와주는 방법론으로, 사전학습의 유형에 따라 pretext task와 contrastive learning의 두 분야로 나누어볼 수 있다. 이 중에서도 Contrastive Learning은 기준 이미지와 유사한 이미지는 가깝게, 다른 이미지는 멀게 학습하는 방식으로, 다른 이미지에 해당하는 negative example을 활용해야한다는 단점을 갖고 있다. 이에 따라 오늘 세미나에서 주로 알아본 BYOL(Bootstrap Your Own Latent) 방법론은 기준 이미지와 유사한 positive pair로만 학습하는 방식을 활용한다. Online Network와 Target Network 두 네트워크를 활용하여 Target Network의 representation vector를 Online Network에서 예측하도록 훈련하게 된다. 다만 아직 BYOL의 어느 부분이 representation collapse를 방지하는지에 대하여 알려진 것이 없으며, predictor와 moving average의 활용이 도움이 될 것이라고 저자들은 언급하고 있다. 이와 관련하여 Batch Normalization을 이유로 제시한 논문이 나왔지만, 저자들이 직접 옳지 못하다며 반박한 부분까지 세미나를 통하여 알아볼 수 있었다. 하나의 방법론에 대한 내용뿐만 아니라, 이 방법론의 결과가 잘 나온 이유에 대해서도 살펴본다는 점이 흥미로웠다. 최근 들어 계속 세미나 주제로 다루고있는 Self-supervised Learning 분야 중 BYOL 모델에 대하여 구체적으로 살펴볼 수 있어 의미있는 세미나였다.
이번 세미나는 BYOL을 주제로 진행되었다. 처음 접해보는 개념이었는데 Representation Learning, Self-supervised Learning 등 기본적인 개념부터 차근차근 설명해 주셔서 세미나 흐름을 따라가는 데 도움이 되었다. positive pair와 negative pair를 모두 사용하는 Contrastive Learning과 비교했을 때 BYOL은 보다 가볍게 사용할 수 있고 positive pair만을 사용함으로써 Contrastive Learning이 가진 한계점을 극복하고자 하였다. 하지만 positive pair만 사용하려면 모델이 constant vector를 출력하는 representation collapse 문제가 해결되어야 한다. BYOL의 손실함수로는 손실함수의 대칭화(Loss function symmetrization)가 사용되는데 이 값은 Augumentation 조합을 교환하여 계산된다. Ablation Study를 통해 BYOL에서 batch normalization이 잘 작동하기 위해서는 충분히 큰 batch size가 필요하고 그렇지 않은 경우에 성능이 저하됨을 확인할 수 있었다. representation collapse를 방지하는 BYOL의 요소가 무엇인가에 대한 내용도 다루어 주셨는데, Batch Normalization이 해당 역할을 한다는 주장이 BYOL 구현 과정에서 우연히 발견됐다는 것이 흥미로웠다. 하지만 BYOL 저자들은 Batch Normalization을 쓰지 않더라도 collapse가 일어나지 않음을 실험을 통해 보여주며 또 다른 의견을 제시하기도 했다. 특정 방법론에 대해 여러 사람이 아이디어를 공유하고 피드백하는 과정이 재밌게 느껴졌고 BYOL에 대해 다양한 내용을 준비해 주셔서 흥미롭게 들을 수 있는 세미나였다.
금일 세미나는 BYOL에 대하여 진행되었다. BYOL은 positive sample만을 사용하는 self-supervised learning의 한 방법론이다. Self-supervised learning은 사전학습을 한 후, 최종적으로 진행하고자 하는 작업에 대하여 전이학습을 진행하는 방식으로 이루어진다. 사전학습의 한 종류인 contrastive learning은 contrastive loss를 계산하고 positive pairs 간의 거리는 가깝게, negative pairs 간의 거리는 멀게 학습하고자 한다. 기존의 pretext task 방법론보다 성능을 향상시키지만, negative pairs 구성 시 주의가 필요하고, augmentation 조항에 따라 모델의 성능이 크게 좌우된다는 점에서 한계가 있다. 또, contrastive learning으로 충분한 성능을 내기 위해서는 수많은 negative sample을 사용해야 한다. BYOL은 positive pairs만 사용하여 contrastive learning의 한계를 해결하고자 한다. Positive pairs로만 학습하기 위해서 contrastive loss를 사용하여 constant 벡터를 출력하는 representation collapse가 일어나지 않도록 한다. BYOL은 online network와 target network로 구성된다. 둘 다 encoder와 projector를 갖지만, predictor는 online network에만 존재한다는 차이점이 있다. 추가로 BYOL의 특성(SimCLR에 비해 배치 사이즈에 강건/color distortion에 비교적 강건)을 알 수 있는 ablation study와 BYOL이 어떻게 representation collapse를 방지하는지에 대해 이루어지고 있는 다양한 연구들을 설명해 주셨다. 모델에 대해 활발한 논의가 이루어지는 것이 매우 흥미로웠다. 구체적인 예시와 함께 차근차근 설명해 주셔서 세미나의 흐름을 놓치지 않고 집중하여 들을 수 있었다. 유익한 세미나를 진행해 주셔서 감사하다는 말씀을 전한다.
이번 세미나는 "Dive into BYOL"이라는 주제로 진행되었다.
Self-supervised Learning 은 label이 없는 데이터를 활용하여 좋은 특징을 추출해내는 방법론으로 Pretext task와 Contrastive task의 분야로 나뉘어진다. Contrastive Learning은 contrastive loss 계산시 기준 역할의 Anchor, 기준과 동일한 데이터에서 나온 Positive, 기준과 다른 데이터에서 나온 Negative를 활용한다. Contrastive learning의 경우 pretext task 기반의 방법론보다 많은 성능향상을 발생시킬 수 있었지만, 수많은 negative sample을 사용하여 비교하는 과정이 필요하며, Augmentation 조합에 따른 성능의 차이가 크게 발생한다는 단점들이 존재한다. BYOL은 이러한 Contrastive learning의 한계점을 극복하기 위해 Positive pair만을 사용하는 Self-supervised learning의 방법론으로 등장하게 되었다. Positive pair로만 학습을 진행하게 된다면 모델이 고정된 값을 가지는 constant vector를 출력하는 문제가 발생하게 되는데, BYOL은 Positive sample 만을 사용하여constant vector만이 출력되는 문제를 해결한 방법론이다.
이번 세미나를 통해 BYOL의 특징들을 이해하기 위한 기초적인 내용부터 설명해주셔서 전체적인 내용을 이해하는데 많은 도움이 되었다. BYOL 관련한 논문들의 소개와 더불어 현재 진행되고 있는 논점에 대해서도 알아볼 수 있던 시간이었다. 세미나를 준비해주신 재훈이형에게 감사의 말씀을 드린다.
이번 세미나는 Dive into BYOL이라는 주제로 BYOL에 대해 알아보는 시간을 가졌다. BYOL은 Bootstrap Your Own Latent를 나타내며 Self-supervised learning 방법론이다. BYOL을 이해하기 위해서는 Representation learning과 Self-supervised learning에 대해 알고 있어야 하는데, Representation learning은 입력 데이터의 특징을 잘 표현할 수 있도록 학습하는 것이고, Self-supervised learning은 레이블이 없는 데이터를 활용하여 모델이 좋은 특징을 추출할 수 있도록 학습하는 방법론이 되겠다. Self-supervised learning의 한 방법론인 Contrastive learning에서는 Negative pair를 제공하는 전략이 필요하고 Augmentation 조합에 따라 성능이 크게 좌우된다는 단점이 있었는데, BYOL은 이러한 단점을 극복하는 모델이 될 수 있다. 즉, BYOL은 Negative sample 없이 Positive pair만으로 Representation collapse가 나오지 않도록 하였는데, 하나의 Network가 출력한 값을 동일한 구조의 다른 Network가 예측하도록 학습하여 나온 결과를 보고 동기를 얻었다고 한다. 따라서 BYOL은 두 개의 Network로 구성되는데 하나는 Online network, 다른 하나는 Target network라고 불린다. 이 때 Target network에서 출력한 representation vector를 Online network에서 예측하도록 학습이 진행되며, Target network는 일반적인 Gradient 방식으로 parameter를 업데이트하지 않고, Online network로부터 Exponential moving average 방식으로 업데이트를 하게 된다. 또 한가지 특별한 점은 Loss function 부분인데, Loss function symmetrization을 위해 Augmentation 조합을 교환하여 loss를 한 번 더 계산하는 방식을 취한다. 이러한 특징을 가지는 BYOL 모델을 실험에 적용해보면 기존 Self-supervised learning 방법론인 MoCo나 SimCLR 보다 더 좋은 성능을 보이는 부분이 있고, 특히 Batch size나 Augmentation에 강건한 성능을 보여줌을 알 수 있다. 세미나 후반부에서는 BYOL의 어떤 요소가 Representation collapse를 방지해주는지에 대한 논쟁에 대해 소개해주었는데, 딥러닝 모델 성능이 잘 나와도, 잘 나오지 않아도 그 이유를 명확히 증명할 수 없는 한계가 잘 드러난 사례인 것 같다. 알찬 내용으로 세미나를 진행해준 김재훈 연구원에게 감사의 말을 전한다.
금일 세미나는 재훈이형이 BYOL 알고리즘에 대해 소개해주었다. BYOL은 self-supervised learning 알고리즘의 한 종류이며 기존 Contrastive learning 알고리즘과 비교해 좋은 성능을 보이는 것으로 알려져있다. 이와 관련하여 BYOL 알고리즘에 대한 구체적인 설명에 앞서 Representation learning, Self-supervised learning, Contrasitve learning에 관하여 기본적인 설명과 연구실 과거 세미나 정보에 대해 언급해주어 이후 내용을 이해하는데 많은 도움이 되었다. Representation learning은 주어진 입력 데이터를 잘 학습하기 위한 과정으로 신경망을 이용한 학습을 할 때 중요한 부분이라는 것을 경험을 통해 느꼈었다. Self-supervised learning에 관해서도 연구실에서 요즘 여러 연구원분들이 관심을 가지고 있는 분야이기 때문에 세미나와 연구 미팅을 통해 자주 접할 수 있었다. 최근 프로젝트 수행을 위해 Contrastive learning에 대해 연구를 하던 중이였는데 금일 세미나로 재훈이형이 소개해준 BYOL 알고리즘은 처음 알게되었다. BYOL 알고리즘의 가장 중요한 메인 아이디어는 기존 Contrasitve learning 관련 알고리즘과 비교해 negative sample을 따로 정의하지 않아 간단한 동작 원리와 배치 사이즈, 메모리 공간과 같은 불필요한 걱정을 하지 않아도 된다는 것으로 이해했다. 사실 Contrasitve learning을 적용하려고 노력하면서 어려웠던 부분 중 하나는 이미지 분류를 위한 데이터가 아닌 다른 도메인의 데이터에 적용할 때 negative sample을 어떻게 정의하는지에 대한 부분이였다. 그렇기 때문에 negative sample을 정의하지 않고 positive sample로만 주어진 데이터를 학습할 수 있다는 것은 개인적으로 큰 공헌이 될 수 있는 부분이라고 생각하였다. BYOL 알고리즘은 다른 알고리즘에 비해 비교적 간단한 모델 구조를 가지고 있다고 했지만 처음 접하는 사람들에겐 모델의 구조와 동작 원리를 이해하는데 쉽지 않았을 알고리즘임에도 불구하고 재훈이형이 이해하기 쉽도록 설명해줘서 고마웠다. BYOL의 구성요소와 각 구성요소의 역할, 그리고 손실함수 부분까지 막힘없이 설명해주는데 전부 이해할 수 있을 정도로 설명을 잘 해주었다. 최근 Contrastive learning에 관하여 탐색하던 중에 BYOL이라는 알고리즘을 알게되어 나에겐 행운이였고, 이런 행운을 만들어준 재훈이형에게 고맙다고 전하고 싶다.
이번 세미나는 "Dive into BYOL"라는 주제로 진행되었다. 최근 self-supervised learning이 많은 주목을 받으면서 다양한 연구들이 진행되고 있으며 특히 contrastive learning과 관련된 연구들이 주를 이루고 있다. 하지만 contrastive learning은 negative pair와 사용하는 data augmentation 방법론에 따라 모델의 성능이 크게 차이 난다는 단점이 있다. 이번 세미나에서 소개된 BYOL은 contrastive learning의 단점을 극복하고자 positive pair만을 활용하여 학습하는 방법론을 제안하고 있다. BYOL은 online network와 target network라는 두 가지 모델로 구성되어 있다. 하나의 이미지에 대해 두 개의 augmentation 방법을 적용하여 online network와 target network에 넣어 두 모델의 출력인 representation vector의 l2 loss로 BYOL의 손실함수가 정의된다. 이때 Target network는 손실함수에 의해 학습되지 않고 online network의 exponential moving average로 파라미터를 업데이트하며 online network만 손실함수를 통해 학습하게 된다. BYOL은 contrastive learning을 활용한 방법론들에 비해 좋은 성능을 보이면서 batch size나 augmentation 방법론에 강건한 성능을 보여주게 된다. 일반적으로 postivie pair만을 사용해 데이터의 represenation을 학습하면 모델이 constant vector만을 출력하는 문제점이 발생할 수 있으며 이를 collapsed representation이라고 부른다. 하지만 BYOL에서는 collapsed representation 현상이 발생하지 않지만 왜 BYOL이 이를 방지해주는지에 대해서는 정설이 없다. 세미나에서는 BYOL의 collapsed representation이 batch normalization에 의해서 방지된다는 주장의 글을 소개했으며 이를 다시 반박하는 BYOL 저자들의 논문 또한 소개되었다. 이번 세미나를 통해서 BYOL이라는 모델에 대해 알게 되었으며 단순한 모델에 대한 설명뿐 아니라 동작 원리에 대한 다양한 가설이 소개되어 모델을 깊이 있게 이해하는 데 도움이 되었다. 세미나를 위해 고생해준 재훈이형에게 감사의 뜻을 전한다.
이번 세미나는 BYOL을 주제로,이게 어떤 특징으로 접근한 모델이며 성능에 대한 study들을 살펴보면서 원인을 찾아가는 과정에 대해 다뤄주셨다. 흐름을 따라 듣다보니 이 모델에 대해 정말 Dive 해보는 느낌이 들었다.
MoCo와 같은 Self-supervised learning에서, Anchor/positive/negative vector간의 positive pair와는 가깝게 , negative pair는 서로 멀어지게 학습하는데, 이때 단점이 negative pair 제공량이나, augmentation 조합에 따라 성능이 크게 좌우되는 현상이 있었고, 이런 부분에서 BYOL은 좋은 개선점을 가지고 있었다.
BYOL의 방식은 negative 없이 positive만을 사용하는데 중요한 특징이 있었다. 구성은 동일한 구조의 두개의 네트워크로 나누고, Target에서의 출력값에 대해 online에서 예측하는 방식으로 진행되었고, 고사이 loss func은 L2 정규화를 취한뒤 계산되는 방식이었다. 구체적인 구조는 아직 이해하기에 공부가 필요해보이긴 했지만.. 재밌는 점은 BYOL이 성능이 상당히 좋다는 것이었다. negative data가 없어도 성능이 좋다는 것은, 어떻게보면 강아지가 어떤 data인지만 정확하게 인지할 수 있다면, 다른 것이 무엇이든 강아지와는 잘 구분해낼 수 있다는 방향으로 이해했다.
BYOL은 batch size가 조금 작아도 강건한 특징과, color distortion에도 강한 장점이 있었고 그 이유에 대한 다양한 ablation study가 진행되었는데, 한가지 아직 완전히 설명되지 않은 것이 representation collapse가 일어나지 않도록 작용하는 부분이 어떤 것이냐에 대한 문제였다. 일단은 batch normalization으로 논의했던 것을 리뷰해주셨는데, 이해하긴 까다로웠으나, 모델 내의 어떤 부분이 어떻게 작용하는가 뜯어가며 분석해보는 과정이 흥미로웠다. 로직의 각 부분이 수행하는 것들의 의미를 하나하나 분리해서 해석할 수 있도록 공부한다면 다른 모델을 개선하는 과정에서도 세세한 부분을 개선시킬 수 있지 않을까 생각해보았다.
차근차근 이해하기 쉽게 설명해주신 재훈님께 감사드린다.
이번 세미나는 'Dive into BYOL’이라는 주제로 기존 contrastive learning의 한계점을 극복한 self-supervised learning 방법론인 BYOL에 대해 진행되었다. Contrastive learning은 self-supervised learning의 한 종류로 positive sample과 negative sample을 함께 사용하여 pretext task 기반의 방법론보다 더 많은 성능 향상을 이루어냈다. 그러나 이는 negative pair를 제공하는 전략을 고려할 필요가 있으며, augmentation 조합에 따라 모델 성능의 차이가 크고, 수많은 negative sample을 필요로 한다는 한계점을 지닌다. BYOL은 Bootstrap Your Own Latent로 positive sample만을 사용하는 모델이지만, 모델이 고정된 값의 벡터인 constant vector를 출력하는 문제인 representation collapse가 일어나지 않도록 해야한다. 이러한 BYOL은 크게 파라미터를 업데이트하는 방식이 서로 다른 online network와 target network로 구성되며 각 구성요소와 손실함수에 대해 구체적으로 소개해주었다. 또한 BYOL과 관련한 ablation study에 대해 소개하며 batch size와 image augmentation 부분에서 비교적 강건한 성능을 보여준다는 특징을 가지고 있음을 강조하였다. 끝으로 BYOL에서 어떤 요소가 representation collapse를 막아줄 것인지에 대한 논쟁까지 최신 논문들을 참고하여 소개해주었다. 처음 접하게 된 내용이었지만 친절한 설명과 구성으로 높은 이해도를 보인 세미나였다. Representative learning부터 self-supervised learning, BYOL까지 구체적 설명과 이와 관련된 여러 맥락을 알기 쉽게 잘 설명해준 김재훈 연구원께 감사의 말씀을 전하고 싶다.
금일 세미나는 "Bootstrap Your Own Latent (BYOL)"라는 주제로 재훈이가 진행해주었다. 기존의 Constrative Learning의 대표적인 알고리즘인 MoCo+SimCLR의 Negative samples들의 보관을 함으로써 가지는 비효율성, augmentation의 성능차이 다루기 어려운점, SimCLR의 배치사이즈등을 얘기하면서 Postivie samples들로만 학습을 하자는 아이디어이다. 그리고 이 Positive sample을 학습할때 Constant Vector가 나와서 학습이 더 이상 안되는 예시를 들면서 Contrastive Loss가 나온 배경을 설명해주었다. 즉 negative sample을 추가해서 0이 나오지 않게 하였다고 한다. 여기에서 BYOL 아이디어는 같은 동일한 구조의 네트워크의 출력을 다른 같은 구조의 네트워크에 넣어주니 성능이 향상되는것을 보고 이를 반복적으로 돌리자는 아이디어의 출발점이 되었다고 이해하였다. Target Network에서 나온 Y를 예측하는 Predictor모듈이 별도로 붙는게 Online과 Target 네트워크의 유일한 차이이며, 입력을 서로 다르게 넣어서 나온 각각의 Loss의 합인 L2 loss를 계산하여 대칭성을 내포한걸로 이해했다. Online network만 gradient학습하고 target network은 MoCo와 동일하게 Exponential Moving Average로 웨이트가 점차 업데이트가 되는 구조이다. 학습이 되는건 0.996에서 1에 가깝에 점점 tau값을 올린다. 실험 결과도 준지도학습이나 간단한 분류 지도학습 이미지분류등 벤치마크에서도 좋은 결과를 얻을수 있었고 배치사이즈도 강건하다. 그러나 배치사이즈가 64일때 빼고는 batch size에서도 simclr 대비해서 강건하고 color distortion에 대해서도 강건하다라고 한다. SimCLR가 color distortion augment를 안쓰면 성능이 떨어진다라는 이유가 trival solution 을 집중해서 떨어진다라고 했는데 jittering같은건 또 어떨까 궁금하였다. 마지막으로 Representation collapse를 방지해주는 것에 대한 설명이 부족한데 이는 Batch Normalization(BN)이 그 역할을 해준다고 가정을 하는 것 같다. 이를 도와준다는 것은 미니배치내의 샘플을 한곳에 모이는 constant vector 문제를 방지하면서 implictly constrative learning역할 즉 미니배치에 negative sampling이 된다고 하는데 상상의 나래를 펼치는것 같다. 이에 대한 추가 연구를 같은 저자가 BN이 도움을 준다고 했다가 다시 반박하는 논문이 나왔다고 한다. 초기값을 설정하고 BN을 뺀 케이스와 그리고 Group Normalization과 Weight standardization의 조합이 BN을 대체한 결과를 보이며 주장을 증명하였다. 한 논문을 깊게 파고 그 깊이와 후속연구를 통해 풀리지 않는 의문을 또 추적해나가는 탐정 재훈이에게 그간의 준비에 대한 노력에 감사의 인사를 보낸다.
이번세미나는 BYOL을 주제로 진행되었다. Representation Learning과 Self-supervised Learning등 밑바탕이 되는 개념부터 차근히 짚어주셔서 BYOL에 대해 조금 더 쉽게 이해할 수 있었던 시간이 되어 좋았다.
Self-supervised Learning에서 positive pair만 사용할 경우, 학습이 하나도 되지 않았는데 constant vector를 출력하는 문제점이 발생할 수 있다. 따라서 negative pair도 사용하는 contrastive learning을 하는데 contrastive learning도 단점이 있다. negative pair를 구성하는데 많은 고려가 필요하고, augmentation조합에 따라 성능이 크게 좌우되며 수많은 negative 샘플이 필요하다는 것이다. 이에 따라 negative sample없이도 collapse가 나오지 않는 모델을 만들어보자는 동기로 BYOL이 연구되었다. BYOL은 서로다른 augmentation이 적용된 이미지가 online network와 target network에 각각 들어간다. 이에따라 두모델 모두 encoder를 통해 특징을 추출하고 특징벡터를 projection vector로 변환한다. 그 후 online network에만 존재하는 predictor가 target network에서 출력한 representation vector를 예측하고 이때 발생하는 loss를 계산해 online network를 개선하고, 개선된 online network와 target network의 가중평균으로 target network parameter를 개선하는 식으로 학습을 진행한다. loss를 계산할때는 augmentation 조합을 교환하여 loss를 한번 더 계산해 더해줘 손실함수의 대칭화를 이루고 있다는 특징이 있다.
이후에는 BYOL의 성능을 잘 보여주고 있는 여러 실험 결과들을 보여주셔서 BYOL의 강점과 장점을 체감할 수 있어 좋았고, 또 BYOL이 어떻게 representation collapse를 방지하는지에 대한 의문점을 제시해 주셔서 나도 앞으로 공부하고 알아가보고 싶은 생각이 들었다. 친절한 설명으로 많은 것을 배울 수 있는 좋은 세미나를 제공해주신 연구원님게 감사의 마음을 전하고 싶다.
이번 세미나는 재훈이가 ‘Dive into BYOL’이라는 주제로 세미나를 진행하였다. BYOL은 Bootstrap Your Own Latent의 약자이다. BYOL은 파라미터를 업데이트하는 방식이 서로 다른 동일한 구조의 두 네트워크로 구성되어 있으며 predictor는 online network만 보유하는 특징이 있다. BYOL에서의 target network를 업데이트 하는 방식은 momentum update와 유사한 방식이며 cosine annealing을 사용하여 학습을 진행하여 파라미터를 1에 가까운 값으로 키운다. BYOL의 가장 큰 특징은 두개의 네트워크에서 negative pair를 지니지 않고 각 네트워크에서 나온 결과들로만 loss를 구하게 된다는 점이다. Contrastive learning의 단점을 해결한 BYOL에 대해 잘 설명해 주었으며 BYOL의 성능이 어떻게 잘 나오게 되는지 뚜렷한 답은 나와있지 않지만 성능이 기존 다른 알고리즘들에 비해 좋게 나오기 때문에 다양한 도메인에 사용가능 할 것 같다. BYOL에 대해 개념부터 수식까지 자세히 준비해준 재훈이에게 감사하다는 말을 전하고 싶다.
최근 Self-supervised Representation Learning (SSL) 은 전세계적으로 연구의 큰 화두이다. 그 중 Contrastive Learning based SSL이 기존 SSL 대비 뛰어난 성능을 보임이 많은 논문을 통해 입증되었다. 하지만 Negative pair를 정의하고 이를 GPU 메모리 상에 올려두어야 하기 때문에 컴퓨팅 자원이 부족한 연구자들이기 진입하기 어려운 분야로 평가받고 있기도 하다. 이 문제를 해결하기위해 Positive pair만 사용하는 연구들이 등장하였고, 이들의 대표 알고리즘인 BYOL을 재훈이가 소개해주었다. 재훈이가 해당 논문을 집중적으로 살펴보고 해당 방법론의 장점, 단점, 이들에 대한 비교실험들을 차근차근 소개해주었다. 특히 Color distortion, Histogram의 차이 등에 관한 가설들을 언급했는데 발표자 개인 연구에서 이러한 검증 과정을 활용해 성과가 있길 응원한다. 청취후기를 작성하는 나에게도 많은 도움이 되었고 어떻게 BYOL을 응용할 수 있을지에 대해 계속 고민 해보아야겠다.