TIL

99클럽 코테 스터디 21일차 TIL + SimCLR, CLIP

yolang 2024. 6. 13. 10:04
728x90

 

이번에는 SimCLR와 CLIP이 무엇인지 정말 개념만 아는 정도로 알아봤다..(시험범위...ㅎ)

수업 마지막 부분은 여러가지 기술을 알려주는 부분이었는데 자세히 아는 것보다는 눈이 익혀두라고 하셨다. 

 

둘 다 self-superviesd learning으로 label 없이 embedding 했을 때 비슷하면 거리가 가깝게 나타내도록 한다. 

 

SimCLR는 논문 A Simple Framework for Contrastive Learning of Visual Representation에서 온 말이다.

논문 제목에서 알 수 있듯, Contrastive learning 을 사용한다. 

그림을 보면 같은 x로부터 서로 다른 augmentation을 적용해 $\widetilde{x}_{i}$와 $\widetilde{x}_{j}$를 얻는다.

같은 이미지를 다른 view로 본다는 생각하면 된다. 

그 후 encoder와 또 다른 MLP 통과해 변환되고 그 결과물의 similarity를 이용해 Loss를 구한다. 

다른 view들 끼리의 유사도를 높이고 서로 다른 그림에서 나온 view는 repel 한다. 

 

simCLR는 같은 이미지에서 두 개의 view를 봤다면 CLIP은 이미지와 거기에 달려 있는 caption이나 image text를 같이 쓴다.

text와 image간의 유사도를 판단한다. 각 행에 대한 softmax를 취하고, 열에 대해서 softmax를 취해 loss 로 정한 뒤 train 한다.

이후에는 어떤 이미지가 input으로 들어오면 text candidate에서 제일 softmax이 큰 것을 찾아 반환한다. 

 

휴.. 어렵군.. 다시 공부를 해봐야 할 것 같다..😬

728x90