머신러닝&딥러닝(45)
-
VAE latent는 어떻게 생겼을까? (feat. PCA)
AutoEncoder는 전통적인 Encoder-Decoder 구조이다. 이 중 Variational AutoEncoder(VAE)는 Encoder q로 latent 분포의 평균과 분산을 샘플링하고, 이를 결합하여 latent space를 만드는 reparametrization trick을 이용한다. 이러한 VAE는 latent vector가 주어지면 학습된 decoder로 새로운 이미지를 generation할 수 있다. 그렇다면, 잘 학습된 VAE의 latent space는 어떻게 생겼을까? 클래스가 구분된 input image를 latent로 보내면, latent 안에서도 클래스끼리 clustering이 되어 있을까? 본 포스팅에서는 https://github.com/Jackson-Kang/Pytor..
2024.08.14 -
Classifier Guidance 논문리뷰 (Diffusion Models Beat GANs on Image Synthesis, 2021)
본 논문은 OpenAI에서 발표한, unconditional image generation만 가능했던 디퓨전 계열 아키텍처에 최초로 컨디셔닝을 적용한 논문이다. 이를 Classifier Guidance라고 한다. IntroductionDDPM이 등장하였지만, 아직까지 이미지 생성의 많은 task의 SOTA는 GAN이 가지고 있었다. 하지만 Diffusion이 GAN에 비해 좋은 성능을 보이는 부분들도 있었다. GAN은 디퓨전에 비해 diversity가 적은데, IS, FID, Prec 등은 이를 반영하지 않는다. 또한, GAN은 하이퍼파라미터를 제대로 설정하지 않으면 쉽게 collapse한다. 저자들은 GAN과 디퓨전의 이러한 성능차이는 두 가지에서 온다고 가설을 세웠다.GAN은 divesity - fi..
2024.08.14 -
DDIM 논문 리뷰 - 샘플링 가속과 consistency
본 포스팅에서는 DDPM의 일반화 버전인 DDIM을 리뷰하려고 한다. DDPM과 무엇이 어떻게 다른 걸까? IntroductionGenerative model의 역사GAN은 VAE(2013), autoregressive model(2016), normalizing flow(2015) 보다 나은 sampling quality를 가지지만, training stability가 낮고 데이터 분포의 mode를 제대로 커버하지 못할 수 있다. 최근 생성모델은 score based network(NCSN)이나 iterative model(DDPM)과 같은 모델이 좋은 성능을 보이고 있으나, DDPM의 치명적인 단점은 샘플링 속도가 매우 느리다는 것이다. DDIM(Denoising Diffusion Implicit M..
2024.08.14 -
DDPM pytorch 코드분석
본 포스팅에서는 간단한 코드로 구현한 디퓨전 모델(DDPM)의 pytorch 구현 코드를 분석하려고 한다. 코드는 https://colab.research.google.com/drive/1sjy9odlSSy0RBVgMTgP7s99NXsqglsUL?usp=sharing#scrollTo=LQnlc27k7Aiw 를 참고하였다. 작성자는 DeepFindr이다. DDPM 논문에 대해 어느 정도 이해하고 있다는 전제 하에 작성하였기 때문에, 논문 내용을 모르는 사람은 먼저 읽고 오길 바란다. https://arxiv.org/abs/2006.11239 논문에는 diffusion loss에 대한 증명과 왜 사용할 수 있는지에 대한 내용이 주로 담겨있기 때문에 어디부터 코드로 구현해야 할지 감이 잘 잡히지 않을 수도 있..
2024.08.13 -
트랜스포머 pytorch 코드분석 (Attention is All You Need)
드디어 대망의... AI 안 하는 사람도 한번쯤은 들어봤다는 "그 논문"이다. 본 포스팅에서는 Attention is All You Need (1) 에서 제안한, 자연어와 컴퓨터비전 등 AI 분야에 막대한 영향을 끼친 트랜스포머 아키텍처를 pytorch로 구현한 코드를 분석하고자 한다. 코드는 아래 영상을 참고하였다. 논문에 대한 이론적인 이해는 어느 정도 되었다고 가정하고 코드를 분석하려고 하니, 논문 내용을 처음 보는 사람은 먼저 읽고 오길 바란다. (1) A. Vaswani, Attention is All You Need, NIPS, 2017 https://www.youtube.com/watch?v=U0s0f995w14&t=1724s 전체 구조SelfAttention 클래스 정의Transformer..
2024.08.13 -
[IJCAI2024] AllMatch 논문리뷰
IJCAI 학회에 참여하여 인상깊게 본, 북경대학교 인공지능 연구소에서 작성한 준지도학습 논문(https://arxiv.org/pdf/2406.15763)이다. 현재 레이블링이 일부만 되어 있는 병리 이미지 데이터를 준지도학습 방법론으로 접근하고 있기에 관심이 갔다. IntroductionFixMatch는 고정되어 있는 높은 threshold를 기준으로 pseudo-labeling하는 알고리즘이다. (일반적으로 0.9~0.95를 사용) 따라서 unlabeled data를 충분히 학습에 이용하지 못한다는 단점이 있다.후속 준지도학습 알고리즘들은 모델의 학습 상태에 따라 pseudo-labeling을 적용하며, 이는 biased data sampling 혹은 클래스 간 유사성의 영향을 많이 받는다.-> 실제..
2024.08.08