728x90

DeepLearning/Computer Vision 23

[Paper Review] Masked Autoencoders Are Scalable Vision Learners (CVPR'22)

오늘 리뷰할 논문은 Masked Autoencoders Are Scalable Vision Learners (a.k.a. MAE)입니다. 22년도 CVPR에서 oral presentation으로 선정된 논문이며, Masked Modeling을 아주 간단한 방식을 통해서 Vision 분야의 self-supervised pre-training에 성공적으로 적용한 논문입니다. 이 방법론은 Simple, effective, scalable하다고 정리할 수 있겠습니다! 하기할 내용에 오류 혹은 질문이 있을 경우 언제든 댓글 부탁드립니다! Abstract We mask random patches of the input image and reconstruct the missing pixels based on two ..

[Paper Review] DINO: Emerging Properties in Self-Supervised Vision Transformers (ICCV'21)

Emerging Properties in Self-Supervised Vision Transformers 이번에 리뷰할 논문은 2021년 ICCV에서 발표된 Emerging Properties in Self-Supervised Vision Transformers (Venue: Facebook AI Research)입니다. DINO라는 self-distillation 구조의 자기지도학습 방법론을 제안하며, 동시에 self-supervised learning과 ViT가 결합되며 발생하는 특성들에 대한 분석과 흥미로운 실험 결과를 논문에서 밝히고 있습니다. 특히 self-supervised ViT가 segmentation mask에 대한 정보를 갖고 있다는 특성이 굉장히 재미있었고, 기존의 supervised..

[Paper Review] MetaFormer is Actually What You Need for Vision (CVPR'22)

오늘 리뷰할 논문은 CVPR 2022 oral로 선정된 페이퍼인 'MetaFormer is Actually What You Need for Vision'이라는 논문입니다. Vision task를 위해 실질적으로 필요한 것은 well-designed token mixer가 아닌 metaformer라는 transformer-like models가 공유하고 있는 추상화된 구조라는 주장을 하고 있습니다. 이를 위해 poolformer라는 아주 간단한 pooling operation을 통해 token mixing을 함으로써 실질적인 성능 기여는 well designed token mixer가 아닌 metaformer 구조 자체임을 보여주고 있습니다. 기존의 연구 방향이 어떤 token mixer를 사용해야 하고,..

[Paper Review] Patch-level Representation Learning for Self-supervised Vision Transformers (CVPR'22)

오늘은 CVPR 2022에서 oral presentation으로 선정된 논문인 Patch-level Representation Learning for Self-supervised Vision Transformers (a.k.a. SelfPatch) 를 리뷰해보도록 하겠습니다. 기존의 SSL ViT 아키텍처가 모두 global representation만을 loss에서 활용된다는 점을 이야기하면서 이러한 부분은 attention의 collapse로 이어지며 representation quality를 떨어뜨린다고 문제를 제기하고 있습니다. 해당 논문은 ViT 아키텍처에서 손쉽게 patch representation을 얻을 수 있음에도 불구하고 이러한 부분은 전혀 활용되지 않고 있다는 점에서 출발하여, ViT..

[Pytorch] Vision Transformer (ViT) 코드 구현

ViT의 코드를 pytorch로 구현해보았습니다. vit의 경우에는 구현하면서 꽤 애를 먹었습니다. 최대한 논문 성능을 재현해보고자 했으나 ImageNet-1k (그 이상은 현실적으로 안됨..) 데이터셋을 논문 training detail 대로 학습을 시킬 경우 학습 완료 시까지 6일(혹은 12일..) 정도 소요되어 많은 실험이 불가능해서 좀 아쉬웠습니다. 이번 구현의 경우, 최적화 관련한 이슈가 발생해서 다양한 실험을 해보지는 못하고 정말 모델을 학습시키는 것 그 자체에 있어서 삽질을 많이 했던 것 같습니다.. 또 나름 ImageNet-1k 자체도 무거운 데이터셋이기 때문에 분산 학습을 진행했는데 이 과정에서 data parallel 에러를 핸들링하는 데에도 꽤 시간을 많이 잡아먹었던 것 같네요..ㅎㅎ..

[Pytorch] CycleGAN 코드 구현

CycleGAN 같은 경우엔 코드 구현을 해볼 필요가 있겠다는 생각이 들어서 스크래치로 구현을 해보았습니다 (대략 3달 전에 구현했는데 게을러서 지금에야 포스팅을 작성하게 되었습니다 ㅎㅎ) . 최대한 논문만 참고해서 구현을 하도록 노력했지만, 실제로 official code를 보지 않고서는 성능 재현이 어려운 부분도 있었습니다. 일례로, 논문에 나와있는 대로 구현할 경우 discriminator output size가 원하는 크기로 나오지 않거나 마지막 convolution layer의 경우 block이 아닌데 block으로 논문에 적어두거나 하는 문제가 있었습니다. 직접 구현을 해보니 구현을 해야만 체감할 수 있는 부분들이 있어서 즐거운 경험이었습니다. 포스팅은 구현된 코드 및 그에 따른 깨달음, 실험..

[Paper Review] MLP-Mixer: An all-MLP Architecture for Vision

MLP-Mixer: An all-MLP Architecture for Vision 이번에 리뷰할 논문은 "MLP-Mixer: An all-MLP Architecture for vision" 입니다. 현재 convolution과 attention 기반의 네트워크가 computer vision 분야에서 널리 사용되고 있지만 실상 이 두가지가 꼭 필요한 것은 아니라고 주장하며, 아키텍처 전체가 MLP만을 사용한 MLP-Mixer 구조를 제안하였습니다. MLP-Mixer는 기존의 Convolution과 Attention 모듈 없이 MLP만으로 Image Recognition을 잘 수행할 수 있도록 다음과 같이 두 가지 MLP Block으로 구성된 Mixer Layer를 제안합니다. Channel-Mixing M..

[Paper Review] Vision Transformer (ViT)

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 오늘 리뷰할 논문은 Vision Transformer입니다. 이미지 분류에 Transformer 구조를 성공적으로 적용시킨, 매우 유명한 논문입니다. 2021년 ICLR에서 발표된 이후, 현재 ViT 관련 많은 후속 연구들이 진행되고 있으며 ViT를 backbone으로 한 다양한 architecture들이 기존의 CV task를 푸는 솔루션으로 제안되고 있습니다. ViT는 inductive bias가 약한 대신 보다 통합적이고 일반적인 모델 구조라고 할 수 있으며, inductive bias가 약하여 일반화 성능이 떨어지는 문제를 data-driven training, 즉..

[Generative Models] StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation (2018)

2018년 CVPR에 발표된 논문입니다. 기존의 2개의 도메인 간 image to image translation이 이루어지던 것을 넘어 여러 도메인 간의 translation 방법론을 제안한 논문으로, 네이버 Clova AI Research에서 수행한 연구입니다. 읽으면서 아이디어가 굉장히 심플하면서도 참신하다는 생각이 들었습니다. 실제 인물을 웹툰 캐릭터로 변환하는 과정 등에 적용이 가능할 것 같습니다. 어떤 식으로 training이 되는지는 직접 코드를 구현해봐야 더 알 수 있겠단 생각이 들어 추후 코드 구현까지 수행해볼 예정입니다. 그럼 정리한 부분에 있어서 오류가 있으면 댓글 부탁드립니다. 0. Abstract remarkabel success in image-to-image translatio..

[Generative Models] Image-to-Image Translation with Conditional Adversarial Networks (2017)

Image-to-Image Translation with Conditional Adversarial Networks 이번에 리뷰할 논문은 2017년 Image-to-Image(I2I) Translation 분야에 범용적으로 적용이 가능한 모델인 pix2pix를 제안한 논문입니다. 기존의 연구는 I2I translation task의 각 sub task에 특화된 loss를 제안하는 경우가 다수였습니다. 하지만 이 논문에서는 cGAN Loss와 L1 Loss를 함께 적용하면서 다양한 I2I translation task에 적용 가능한 네트워크를 제안하였고, 양질의 생성 산출물을 보여주었습니다. 보다 범용적이고 간단한 I2I translation 네트워크를 제안했다는 것이 이 논문의 key contributi..

728x90