Week5 04
강의 8-1강
- Generative Models
- P_data 와 P_model 사이의 간극을 좁히는 것이 연구 주제
- One-to-many, Many-to-many 학습 시키기 위해선 generative model 필요
- Autoregressive model
- training data에 대한 가능도를 최대화 시키려는 방향으로 학습
- PixelRNN
- inpainting에서도 활용가능, 속도는 느림
- maximum likelihood 로 학습하므로 확률term과 생성모델을의 관계를 이해하기 좋음
- Auto-Encoder
- Bottleneck => 정말 중요한 데이터 만 output으로 넘김
- overfitting되는 문제, L2, L1 으로 학습해서 이웃 임베딩이 그리 의미있지않음
- VAE
- distribution이 가능한 z
- Maximize variational lower bound
- Denoising Diffusion Probabilistic Models (DDPM)
- Gradually add Gaussian noise and then reverse
- sequential evaluations로 인해 오래걸림, GPU 많이사용
- Latent diffusion models
- 경량화 됐지만 성능좋음
- 다양한 조건(텍스트, 이미지, 라벨 등)을 사용해 잠재 벡터가 이를 고려해 데이터를 생성할 수 있도록, 서로 다른 입력 정보들이 상호작용하는 방식
- Condition in the diffusion models
- LORA
강의 8-2강
## 강의 9강
- NeRF
- Synthesizing novel views => 새로운 시점에서의 이미지 생성
- 적은 수의 입력 이미지만으로도 복잡한 장면의 3d 구조를 학습하고, 그 구조를 기반으로 새로운 각도에서의 이미지 생성가능
- 3D Gaussian Splatting
- DreamFusion
- not 생성모델, zero-shot으로 최적화형태로 3d를 구현해내는 방법
- pretrained 된 2D text-to-image diffusion model 을 사용하는 것이 특징
- 2D image diffusion model의 어마어마한 가능성을 보여줌
- 2D image diffusion model을 CLIP모델처럼 text와 image의 매칭정도를 측정하는 reward 모델로써 gradient 생성기로 사용할 수 있는 매우 유용한 방법을 DreamFusion에서 제시
- DreamFusion method
- Score Distillation Sampling Loss (SDS)
- 3D를 표현하는 NeRF표현 모델, 중간에 differentiable rendering part, text가 주어지면 현재상태에 맞는 gradient를 발생시키는 SDS LOSS 부분 이렇게 세개로 구성됨
- NeRF => 찰흙모델을 gradient를 통해 성형시키는 trainable parameter로 사용함
- differentiable rendering 모델=> 3D 에서 2D로 렌더링 해줌, gradient가 2D에서 3D로 흘러갈 수 있도록 하는 역할도 수행
- SDS
- rendering된 이미지에 noise를 첨가해서 pretrained된 diffusion모델에 입력으로 넣어줌
- 따라갔으면 하는 text도 컨디션으로 넣어줌
- denoising할 때 text를 따르는형태로 denoising해서 방향을 제시
- denoising된 결과를 이용해서 gradient를 발생시켜 backpropagation을 진행 => NeRF 업데이트
- U-Net을 통해 backpropagation은 진행하지 않음 => 굉장히 오래걸리므로
- 효율적으로 gradient를 계산할 수 있도록 U-Net Jacobian 항을 빼버림
- 이 과정을 반복 => 현재 text에 잘맞게 될 때까지 최적화를 반복
- 학습 데이터없이 3d 구현
댓글남기기