Deep learning 논문을 읽다보면 model collapse에 대한 얘기가 많이 나온다.
간단히 얘기하자면, 모든 입력에 대해 동일한 embedding을 출력하는 현상이다.
두 가지 예가 있는데,
GAN의 경우, generator와 discriminator를 균형있게 학습시켜야 하는데, discriminator가 학습속도가 너무 빨라져 버리는 경우가 있다.
이 경우에, GAN은 '진짜'같은 이미지를 생성하는 본 목적을 잃어버리고, discriminator가 가장 헷갈려하는 똑같은 그림만 생성하게 된다. 이 경우를 Mode Collapse라고 한다.
또 representation learning의 경우, contrastive learning으로 학습하는 경우가 많다.
contrastive learning이란 같은 이미지(positive pair)끼리는 embedding vector가 가깝게 나오도록, 다른 이미지(negative pair)끼리는 멀어지도록 metric learning 하는 것이다.
여기서 negative pair를 꼭 써주는 이유가 있는데, positive pair만을 사용하는 경우 Collapsing이 일어나기 때문이다.
이렇게하면 네트워크 입장에서 계속 같은(augmentation돼서 아예 동일하진 않지만) 이미지끼리 embedding vector를 가깝게 하는 것으로 받아들이고 네트워크는 계속 둘이 같은 이미지 (similarity=1)이 되도록 embedding vector를 output한다.
그래서 두 경우 모두, constant를 output한다고 표현하기도 한다.
Representation learning에서 Collapse를 stopgrad로 preventing하는 연구도 있다.[참고] (https://arxiv.org/abs/2011.10566)
'DL&ML' 카테고리의 다른 글
conda 가상환경 그대로 옮기는 법 (참조 링크) (0) | 2022.08.16 |
---|---|
tmux 사용법 (참조링크) (0) | 2022.08.15 |
pytorch Distributed DataParallel 설명 (multi-gpu 하는 법) (0) | 2022.08.13 |
Moving average란? (이동평균선) (0) | 2022.08.12 |
ViT 모델 사이즈 별 parameter 수 (feat.GFLOPs) (0) | 2022.08.11 |