Deep Learning(7)
-
[Stable Diffusion] 2. Text가 안내하는 곳으로: CLIP 인코더와 CFG
Introduction 지난 포스트에서는 Stable Diffusion의 원형이 되는 denoising diffusion probabilistic models(DDPM)에 대해 살펴보며 diffusion model의 기본적인 이미지 생성 원리에 대해 알아봤습니다. 하지만 이것만으로는 실제 Stable Diffusion이 하는 것처럼 text-to-image나 image-to-image 작업을 수행할 수는 없었습니다. 이전에 언급했다시피 text-to-image는 이미지의 데이터 공간 상의 임의의 위치에 있는 노이즈를 우리가 원하는 이미지가 있는 위치로 조금씩 이동시키는 과정인데, 이를 위해서는 많은 준비물이 필요하기 때문입니다. 느닷없지만 등산을 한다고 가정해 볼까요? 우리는 거대한 산의 어느 위치에 서..
2023.03.14 -
[Stable Diffusion] 1. 모든 것의 시작: DDPM과 UNet
Introduction Stable Diffusion은 사실 2022년 8월에 출시되어, 2023년 3월 기준 이미 건드려 볼 사람들은 다 건드려 본 툴입니다. 하지만 여전히 잘 만들어진 web UI나 MidJourney와 같은 앱을 통해서 프롬프트 엔지니어링을 하시는 분들이 대부분일 것이고, 그 기능들의 작동 원리까지 이해하시고 사용하시는 분은 그렇게 많지 않을 것입니다. 사실 작동 원리를 모르더라도 어떻게 프롬프트를 잘 쓰고, 체크포인트를 잘 섞고, 적절한 컨디셔닝을 잘 주는지만 알면 좋은 결과물을 뽑을 수 있기 때문에 이론적인 배경은 크게 중요하지 않을 수도 있습니다. 그럼에도 각 기능의 작동 원리를 충분히 이해하고 있다면 자신이 원하는 결과물을 얻기 위해 주먹구구식으로 노가다하기보다 어느 정도 추..
2023.03.10 -
ptflops로 PyTorch 네트워크 분석하기
GitHub - sovrasov/flops-counter.pytorch: Flops counter for convolutional networks in pytorch framework Flops counter for convolutional networks in pytorch framework - GitHub - sovrasov/flops-counter.pytorch: Flops counter for convolutional networks in pytorch framework github.com 딥 러닝 모델을 개발하거나 실험 분석을 할 때 네트워크의 연산량과 패러미터 수를 측정하는 것은 필수입니다. 만약 PyTorch로 구현된 네트워크의 연산량과 패러미터 수를 알고 싶다면 ptflops라는 라이브러리..
2022.03.18 -
Alias-Free Generative Adversarial Networks
NVIDIA의 연구팀에서 2019년에 공개한 StyleGAN은 정규분포에서 임의로 sampling 된 latent style code를 통한 adaptive instance normalization을 통해 고해상도의 이미지를 효과적으로 생성할 수 있는 모델입니다. 그 이후로 모델 개량을 통해 여러 가지 문제점들을 개선한 StyleGAN2가 2020년에 공개되었고, 여기에 효율적으로 적용할 수 있는 data augmentation 방식이 동년에 StyleGAN2-ADA라는 이름의 후속작으로 공개되었습니다. 이렇듯 StyleGAN 시리즈는 여태까지 총 세 가지 버전의 모델로 발표되면서 이미지 생성과 관련된 GAN 분야에 큰 족적을 남겨왔습니다. StyleGAN2-ADA에 이르러서는 네 자리 수의 데이터만을 ..
2021.09.07 -
Perceptual Image Super-Resolution with Progressive Adversarial Network
Single Image Super-Resolution(SISR)은 저해상도(Low Resolution, LR)의 이미지를 고해상도(High Resolution, HR)로 복원하는 컴퓨터 비전 분야의 유서 깊은 문제입니다. 이 분야는 2014년에 혜성처럼 등장한 SRCNN을 통해 딥 러닝과 CNN이 도입되기 시작하였고, 2016년 SRGAN의 등장 이후로 GAN(Generative Adversarial Networks) 역시 SR 분야에 적극적으로 활용되기 시작했습니다. 여기서 GAN을 활용한 모델들은 GAN의 뛰어난 이미지 생성 능력을 기반으로 기존 모델보다 더 실제 사진과 같아 보이는 결과를 낼 수 있었고, 곧 SR 분야의 큰 비중을 차지하게 됩니다. SR 모델들은 기본적으로 LR 이미지를 입력 받고,..
2021.02.19 -
Image Processing Using Multi-Code GAN Prior
GAN(Generative Adversarial Networks)이 가지는 최고의 강점은 바로 주어진 데이터 분포를 모방함으로써 얻는 생성 능력입니다. 이를 이용해 이미지 생성 모델들은 눈부신 성장을 이뤘고, 2020년 현재에 이르러서는 BigGAN이나 PGGAN, StyleGAN과 같은 모델을 통해 만들어지는 고해상도의 이미지들은 무려 $512\times512$나 $1024\times1024$까지 이르는 해상도를 가질 정도입니다. 심지어 사람의 눈으로도 가짜라는 걸 분간할 수 없을 만큼 이미지의 품질 또한 좋습니다. 위의 사진은 BigGAN을 통해 생성된 $512 \times 512$ 크기의 이미지들인데, 이를 보고 단번에 실제 사진이 아니라고 분간할 수 있는 사람은 많지 않을 것입니다. GAN은 이와..
2020.12.27