본문 바로가기

728x90
반응형

LAB/생성형 AI

생성모델(3) Denoising Diffusion Implicit Models(DDIM) 1. DDIM (1) from DDPM DDPM은 퀄리티가 좋으며, 다양한 이미지를 생성한다. 데이터의 분포 q(x0)가 주어질 때 모델 분포 pθ(x0)가 q(x0)를 근사하도록 학습한다. 또한 파라미터 θ는 variational lower bound를 최대화시키는 방향으로 학습된다. (x1:T|x0)는 잠재 변수에 대한 inference distribution이며, DDPM은 q(x1:T|x0)을 고정시키고 학습을 진행한다. 또한 감소 수열 α1:T∈(0,1]^T로 매개변수화된 Gaussian transition이 있는 다음의 Markov chain을 사용한다. 그러나 DDPM은 sampling 속도가 비교적 느려, 생성 속도가 더딘 편이다. Diffusion model의 생성 속도를 개선하기 위한 .. 더보기
생성모델(2) Neural ODE input space가 연속적/이산적인 것에 대해서는 많이 다뤘다. model space가 연속적/이산적인지를 알아보자. 1. ODE (1) ODE 딥러닝이란 알려지지 않은 unknown function f를 찾아가는 과정이다. 그 과정에서 y- f(x) = error(loss)를 구해 function을 업데이트한다. 최적화 f(x)를 구하는 매우 직접적인 방식이다. neural ODE 역시 함수 f(x)를 찾아가겠다는 목적은 동일하다. 그러나 다른 접근으로 찾아간다. DE(Differential Equation)은 미분한 도함수를 포함하는 방정식이다. ODE(Ordinary DE, 상미분 방정식)는 미분하는 변수가 하나인 경우를 말한다. (2) 미분방정식 ODE를 인공신경망에 가져온 이유는? seque.. 더보기
생성모델(1) Denoising Diffusion Probabilistic Models(DDPM) 자, 아래에서부터 ddpm에 관한 논문 리뷰가 본격적으로 이루어질 것이다. 그 전에. 신우상 박사님의 세미나를 들은 이후, ddpm에 관해 그리고 생성모델에 관해 깊은 생각을 할 수 있었다. 관련된 생각을 정리해보자. learning이란? criterion을 가지로 거리를 정의하는 것이다. '우리가 대학교 전공을 얼마나 잘 이해하였는가'는 '대학교 시험 점수'라는 criterion(기준)으로 판단할 수 있다. 이처럼, learning을 할 때에는 기준 그리고 기준과의 거리에 대해 생각할 필요가 있다. manifold란 고차원 데이터를 저차원에서도 잘 표현하는 공간을 의미한다. 이를 좀 더 비유적으로 설명해보자. 확률과정 과목에서 배웠듯이 continuous space에서 one point의 확률(연속공간.. 더보기
생성모델(5) conditional generation 1. conditional diffusion models y가 control하고 싶은 signal일 때 reverse를 통해 noise -> image로 가는 와중에 controllable generation을 목표로 할 수 있다. 주황색 term을 바로 못 구하기 때문에 베이즈룰을 사용하여 두 가지 term으로 나눈다. 왼쪽 노란색 term은 score function 그 자체가 되며, 오른쪽 초록 term은 y given x로 더 이상 score function과 상관 없이 별개로 학습된다. 알고리즘은 아래와 같다. score model을 통해 평균을 구하고, 여기다가 추가적으로 classifier의 gradient 값을 더하여 샘플링하면 그 class의 xt를 뽑아낼 수 있다. (s는 스케일링 지수.. 더보기
생성모델(4) Score-based generative models 1. Overview [1] 데이터 공간 상에서 임의의 랜덤한 노이즈(데이터)를 생성한다. [2] 확률 밀도 함수의 기울기를 계산 후, 확률 값이 높아지는 방향으로 데이터를 업데이트한다. [3] 확률값이 높은 곳에 도달하면 샘플링된 데이터와 유사한 데이터를 생성한다. 2. Score-based generative models score란 확률 밀도 함수의 미분이다. 즉, 입력 데이터 x에 대한 미분이다. 입력 데이터와 score의 dimension이 동일하다. [1] 데이터의 분포를 모르지만 Score만 알면 데이터 생성이 가능하다. [2] Score를 데이터로부터 추정한다. (score matching, training) [3] 추정된 score를 바탕으로 새로운 데이터를 sampling한다. (lan.. 더보기
Diffusion_Toy Simulation code 분석 드디어 코드 분석 시작! 바로 논문 코드를 분석하진 않았고, 쉬운 코드로 먼저 분석했다. 1. Package import & Device setting 딥러닝과 컴퓨터 비전 작업을 위한 다양한 라이브러리와 모듈을 가져오는 역할을 한다. 우선 PyTorch 라이브러리와 그 하위 모듈들을 가져오는 부분이다. 이에는 신경망 모듈('torch.nn'), 컴퓨터 비전 관련 모듈('torchvison'), 초기화 메소드('init'), 일반적인 연산에 대한 함수형 인터페이스('F') 등이 포함된다. 그 외에도 다양한 모듈을 활용한다. math 모듈은 연산을 수행한다. matplotlib.pyplot 모듈은 animation이라는 이름으로 가져오는데, 애니메이션을 생성한다. rotate 함수는 배열의 회전 변환을 수.. 더보기
Generative Model(생성모델) generative model 주어진 학습 데이터를 학습하여 학습 데이터의 분포를 따르는 유사한 데이터를 생성하는 모델 -> 학습 데이터와 유사한 샘플을 뽑아햐 한다. -> 학습 데이터의 분포를 어느 정도 안 상태거나(Explicit) 잘 모름에도 생성(Implicit)함 -> 생성 모델에서 가장 중요한 것 : 학습 데이터의 분포를 학습하는 것 관측값 혹은 data sample x를 알 때, 이런 관측값이 가장 높은 확률로 나올 수 있는 모델 파라미터 θ 혹은 latent vaiable z를 찾는 것 generative model의 분류 큰 범주에서 generative model이 하고자 하는 것은 MLE의 원리를 바탕으로 학습하는 것 ! 어떤 식으로 likelihood를 다루느냐(근사를 할 것이냐 or.. 더보기
VAE 아래의 세미나 내용과 같은 흐름, 같은 순서로 전개됩니다. 1. Abstract [VAE] 두 가지 contribution이 제시된다. 1) Variational lower bound의 reparametrization [standard stochastic gradient method] 2) lower bound estimator를 통해서 (data point당 연속적인 잠재변수를 갖는) i.i.d datasets에서의 posterior를 효과적으로 fitting할 수 있다. VAE는 생성 모델로써 존재한다. i.i.d datasets의 datapoint당 연속적인 잠재 변수를 갖는다. 따라서 잠재변수로 datapoint를 생성할 수 있고, datapoint로부터 잠재변수를 이끌어낼 수 있다. 2. Int.. 더보기

728x90
반응형