Weekly Log

3월 첫째 주

알 수 없는 사용자 2021. 4. 1. 14:22
반응형

3월 첫째 주

읽은 논문

pretext

  • Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks(2014 NIPS) (paper)
    image
    이미지 하나에서 가장 active되는 부분을 가지고 여러가지 aug를 시행하여 그 모든 이미지들이 하나의 클래스에 있도록 학습시킴. 이를 잘 할 수 있다면 representation을 학습할 수 있을 것이라는 아이디어.
  • Unsupervised Visual Representation Learning by Context Prediction(2015 ICCV) (paper)
    image
    이미지의 중심을 기준으로 8개의 부분으로 나눠서 한 부분을 주었을 때 어느 위치에 있는지 알아맞추게 학습을 시킴. 딱 맞춰서 칸을 나누면 지금 기억이 안나지만 무슨 문제가 발생하기 때문에 랜덤하게 살짝씩 떨어뜨린 위치로 박스를 잡음. 근데 이게 고양이같이 쉬운건 할만할 듯 하지만 버스나 여러 복잡한 이미지의 경우 내가 봐도 한번에 잘 모르겠는 어려운 task임. 상당히 어려운 문제여서 나중에 다른것들로 이거 해보면 겁나 안됨. 얘도 마찮가지로 위치를 찾을 수 있다면 representation을 학습할 수 있을 것이라는 아이디어.
  • Unsupervised Learning of Visual Representations by Solving Jigsaw Puzzles(2016 ECCV) (paper)
    image
    직소퍼즐. 위에랑 비슷함. 근데 얘는 신기하게 어려울 것 같은데 다른것들로 이거 해보면 잘됨. 컴퓨터한테는 쉬운 task인듯? 신기했음.

Contrastive Learning

  • A Simple Framework for Contrastive Learning of Visual Representations (paper)
    SimCLR.
    image

    엄청 단순함. 이미지를 하나는 aug시키고 하나는 원본써서 (실험할때 이렇게 함.) 함수 f로 벡터 하나 뽑아냄. 이게 비슷하면 representation을 잘 학습해서 둘 다 같다고 여기는 그런건데 SimCLR은 여기서 하나 더 나아가서 g라는 mapping함수를 가지고 뽑아낸 벡터를 다른 공간에서 비교함. 이 때 기본적으로 Contrastive Learning은 nagative pair가 많이 있어야 뽑아낸 벡터가 const해지는 경우를 막을 수 있음. 이걸 representational collapse 라고 부름. 심클은 이걸 막기 위해서 배치사이즈를 겁나게 키워서 자기 말고 다른 애들은 다 네거티브로 만듬.
    image

    그리고 aug를 어케 하는게 좋은지 실험해봄. 겁나게 이것저것 많이 해보니까 랜덤크롭에다가 색바꾸는게 제일 좋음. 이유는 크롭만 하면 색 분포가 비슷한데 그러면 학습할때 리프리젠테이션 학습이 아니라 색분포 차이를 학습하게 될 가능성이 있어서 라고 함.
  • Momentum Contrast for Unsupervised Visual Representation Learning (paper)
    image

    심클이 배치가 겁나 컸는데 얘는 배치를 키우지 않고 따로 네거티브 딕셔너리를 만듬. 이걸 큐로 만들어서 하나씩 넣어주고 빼주면서 효율적으로 네거티브 페어를 관리함.
    그리고 얘는 모멘텀 엔코더를 사용함. 하나는 그냥 그래디언트 디센트로 학습시키고 하나는 전에 상태 + 0.001 정도의 옆에놈 엔코더로 업데이트함. 왜냐면 이렇게 하는 놈은 네거티브 페어들이 들어오는 엔코더이기 때문에 데이터들이 너무 노이즈가 많게 들어와서 이거 막아주려고 이렇게 함.(내가 이해한 바가 맞는지 확실하지는 않음)
  • Improved Baselines with Momentum Contrastive Learning (paper)
    MoCov2
    별거 없음. 모코에다가 그냥 MLP, Strong Aug, Cosine LR, more Training steps 더한거임. 저거 다 심클레어에서 적용시킨건데 쏙 빼서 해보니까 좋더라~ 이런거임. 짧음.

Without Contrastive Pairs

  • Bootstrap your own latent: A new approach to self-supervised Learning (paper)
    image
    BYOL
    심클에서 보면 데이터 aug가 디게 중요했음. 이걸 기반으로 굳이 네거티브 페어가 필요할까? 에서 시작한 논문.
    결론부터 말하면 네거티브 없이도 잘 됨.
    사진이 디게 잘 설명해주는데 SimCLR에서 한 것 처럼 aug 하고 그걸 가지고 벡터 하나 뽑아냄. 그리고 그걸 다른 공간으로 projection 함 여기서 중요한게 이 projection한걸 가지고 aug한 다른 녀석 (t')의 projection을 예측하는 함수를 추가함. 그래서 원본을 가지고 쭉 뽑아낸 다른 공간의 projection을 가지고 aug를 한 녀석의 쭉 뽑아낸 다른 공간의 projection을 예측하는 거임. 이 때 aug한 애는 stop gradient를 사용함. (sg) 그랬더니 잘됨. SOTA임

WGAN

  • WGAN, WGAN-GP
    EMD(Earth Mover) 또는 Wasserstein-1 이것만 기억하면 될 듯.

읽는 중인 논문

  • Understanding self-supervised Learning Dynamics without Contrastive Pairs
    BYOL이 잘 되는건 알겠는데 왜 collapse가 안생기는지 궁금해서 찾아보다가 이 논문을 발견함. 무려 2021.02.12 에 나온 논문이고, 페이스북리서치에서 냈고 아직 붙은 결과는 없는 것 같은데 CVPR에 낸거 같긴 함...? 잘 모르겠음.
    앞에 좀 읽다가 SimSiam이라는 논문이 자꾸 같이 언급되어서 얘를 먼저 읽고 있음.
    근데 좀... 많이... 어려워서 하나도 이해가 안됨...

구현중인 논문

없음. StarGAN 구현하려다가 못함.
(code) - 구현 코드 저장 repo

지난주 계획 체크

  • 02.27~02.28 CycleGAN 구현 다 해볼 수 있으면 좋겠음.
    시간이 조금 걸렸는데 결국 구현해봄. 근데 썩 만족스럽진 않은데 또 되는것 같기는 하고 잘 모르겠음. 검토해봐도 딱히 틀린 건 없는 것 같은데 다시 훈련 돌리기엔 귀찮아서 안해봄. 데이터 바꿔서 학습시켜볼까 고민중.
  • 03.01 세미나 발표예정 논문 읽기.
    겁나 많이 읽음... 뿌듯 and 세미나 끝나고 BYOL이랑 SimSiam(읽는중)도 봤음.
  • 03.02~03.05 개강이라 학교 수업을 들어야함. 틈틈히 starGAN 한번 구현해봤으면 좋겠음.
    다른 논문 읽다가 starGAN은 뒷전 됨. ㅎ
  • 총 평
    만족.

구현할 논문

  • StarGAN

읽을 논문

  • Understanding self-supervised Learning Dynamics without Contrastive Pairs
    이해를 다 할 자신이 없음...ㅎ
  • 세미나 예정 논문들
    고정적으로 세미나 이틀전부터 세미나 예정 논문을 읽을 예정.

계획

  • 03.06~03.07 Understanding self-supervised Learning Dynamics without Contrastive Pairs 읽어보기. + 개인일정
  • 03.08~03.09 딥러닝기반컴퓨터비전특론 논문 읽어야 하는 것 읽기. + 화요일날 시간이 좀 있으니 WGAN을 간단하게 구현해보자.
  • 03.10~03.11 세미나 발표예정 논문 읽기. + 이것저것 궁금한것 찾아보고 읽고 StarGAN 구현도 해보고.
  • 03.12 한주동안 못한거 채우는 날로 사용할 예정.

Brainstorm

삭제.

반응형

'Weekly Log' 카테고리의 다른 글

3월 셋째 주  (0) 2021.04.01
3월 둘째 주  (0) 2021.04.01
2월 넷째 주  (0) 2021.04.01
2월 셋째 주  (0) 2021.04.01
2월 둘째 주  (0) 2021.04.01