반응형
1) discriminative에서 invariance(불변성)가 유리하다
discriminative 목표 = 분류/검색/유사도 학습처럼
“이 이미지가 무엇인가(semantic)”를 잘 구분하는 표현을 만드는 것.
이때 좋은 representation이 원하는 성질:
- 같은 객체/같은 장면이면
크롭 위치, 배경, 조명, 색감, 약간의 텍스처 변화가 달라도 임베딩이 거의 같아야 함 - 즉, 모델이 중요하지 않은 변화를 무시(=뭉개기)해야 성능이 좋음.
예:
- 고양이 사진이 조금 밝아졌다고 “다른 임베딩”이 되면 검색/분류가 흔들림
- 그래서 SSL(DINO/JEPA/SimCLR류)은 augmentation을 걸고도 representation이 유지되게 학습함 → 불변성(invariance)
‘뭉개도 되는 정보’ = 분류에 덜 중요한 저수준 디테일(미세 텍스처, 노이즈, 컬러 톤, 픽셀-level 패턴 등).
2) generative에서 invertibility/정보보존이 유리
generative 목표 = latent로부터 다시 이미지를 복원/생성해야 함.
여기서 중요한 점:
- latent (z) 가 이미지 (x) 를 충분히 많이 담고 있어야
decoder가 (x)를 복원할 수 있음. - 만약 encoder가 디테일을 많이 뭉개서 버리면,
decoder는 그걸 알 수가 없음 → 복원이 뭉개짐.
즉 generative에서는
- 작은 텍스처, 경계, 미세 구조, 색/광원 정보 같은 것들도
latent에 남아있어야 reconstruction/생성이 좋아짐.
-> invertibility :
- \(x \to z \to \hat{x}\)가 잘 되려면
z에서 x로 되돌릴 수 있어야 함(정보가 남아있어야 함).
3) 왜 같은 토큰에 같은 gradient로 둘을 동시에 강하게 걸면 문제가 생기나?
둘이 요구하는 방향이 서로 반대인 경우가 많기 때문.
충돌의 핵심
- discriminative(불변성):
배경·텍스처·색감 같은 건 무시해도 되니까 representation을 안정적으로 만들자 - generative(정보보존):
배경·텍스처·색감도 복원해야 하니까 representation에 남겨야 한다
그래서 encoder의 같은 feature/token에 대해
- LeJEPA 같은 discriminative loss는 뭉개도 된다는 방향으로 당기고
- reconstruction/diffusion 같은 generative loss는 뭉개지 마 방향으로 당김
실제로 일어나는 현상(직관)
- discriminative를 너무 세게 걸면 → latent가 semantic만 남고 디테일이 날아감
→ decoder가 복원 못 해서 텍스처/디테일이 흐려짐, “플랫한” 결과가 나옴 - generative를 너무 세게 걸면 → latent가 픽셀에 가까운 정보까지 들고 있게 되어
→ 불변성이 깨지고 representation이 augmentation/시점 변화에 덜 robust해져서
분류/검색 성능이 떨어지기 쉬움
-> 특히 디테일·텍스처 vs 불변성 충돌
반응형