AI 엔지니어 기초 다지기 - 6주차 - Generative Models 1

hyonun·2024년 2월 23일
0

생성 모델이라고 하면 GEN 이 가장 유명하다!

수업에서 다룰 내용은 GEN방법론 보다는 머신러닝에서 Generative model이라고 하면 어떤걸 이야기 하는지, 어떤 trans 와 방법론이 있는지 이야기를 할 예정이다.

생성 모델을 학습한다?

  • 그럴듯한 이미지, 문장을 만드는 것일까?

그것이 generative 모델의 전부가 아니다.

Generative Model 의 규칙
조건부 독립성
그래야 수많은 파라미터의 수를 줄일 수있다.

Learning a Generative Model

만약 강아지의 이미지가 있다고 치자.
강아지를 샘플링하는 어떤 모델을 만든다.

  • Generation : 강아지와 같은 이미지를 많이 만들어 낼 수 있는것도 할 수 있다.
  • Density estimation : 강아지인지 고양이 인지 구분해 낼수 있고싶다.(분류 같은 모델이다.)
    • 어느정도 generative모델은 분류의 역할도 포함하게 된다. (엄밀한 의미에서는)
    • 이것을 explicit models 이라고 말한다.
  • Unsupervised representation learning : 강아지는 귀가있고 꼬리가 있고 꼬리가 있고 등등의 학습을 할 수 있다.

그렇다면 represent p(x)를 어떻게 만들까?

Basic Discrete Distributions

  • 관심있는 값들이 파이넥스 한 경우.

  • Bernoulli distribution : coin flip

  • Categorical distribution : 주사위 굴리기

예제

만약에 RGB이미지를 구현한다고하면 몇개의 픽셀이 필요할까?

하나의 RGB를 표현하기 위해 우리는 엄청난 숫자를 필요로 하게 된다.

이런 숫자 표현을 해도, 엄청나게 많은 학습 파라미터가 필요하게 된다.

Structure Throutgh Independence

만약 n개의 픽셀들이 전부 독립적이라고 생각한다면?

가능한 possible 수는 똑같다. 하지만, 이 distribution을 표현하기 위한 파라미터의 수는 n개만 있으면 된다. 각자 독립적으로 있기 때문에 그냥 더하면 된다.

우리는 이 독립성을 사용해서 파라미터수를 줄이는 과정을 할것이다.
FDM (Fully Dependent Model)와는 다르게

Chain rule :

이 체인룰과 컨디셔널 인디펜던트 룰을 잘 조합해서 중간에 적당한 값을 찾아보자.

Markov assumption

  • 컨디셔널 인디펜던트를 통해 2n-1 까지 줄인것이다. 2n-1 이였던거에 비하면 획기적으로 줄인것이다.

Auto-regressive Model

각각 픽셀은 28x28 바이너리 픽셀이다.
우리의 모델은 p(x)를 구하는것이다.

  • 그럼 이 p(x)를 어떻게 파라미터화 할까?

하나의 정보가 이전정보와 독립적인것을 말한것이다.
i번째가 1부터 i-1까지 독립적인것도 auto-regressive model 이라고 부른다.

이 순서를 매기는것에 따라서 ( 어떤식으로 컨디셔널 인디펜던시를 주는것에 따라) 전체적인 수학적 값이 달라진다.

NAD:Neural Autoregressive Density Estimator

  • 첫번째 픽셀의 확률분포를 어느것에도 의존적이게 하지 않고,
  • 그다음 픽셀은 첫번째와 지금까지의 픽셀을 사용하고

i개는 정확히 i-1개의 입력에 디펜던트 하게 된다.
그래서 weight가 계속 커지게 된다.

  • NAD 는 explicit 한 모델이다. 임의의 748개의 조건이 주어지면 확률을 계산 할 수 있다.
    joint distribution을 사용해서 1,2번째입력이잇으면 3번째 입력을 알 수있다. 이런식으로 쭉 값을 곱하면 매우작지만 확률 값이 나온다. (입력의 확률에 대한 값을 계산 할 수있다.)

일반적을 Density Estimator 가있으면 확률 분포를 계산 할 수 있다는 말이다.

Pixel RNN

  • RNN을 사용해서 generate 하겠다.

Ordering

Row 는 i번째 픽셀을 만들때 위에있는 정보를 쓰겠다.
Diagonal 은 BiLSTM을 활용하되, 이전정보를 다 활용한 값을 이 픽셀의 값을 예측할때 쓴다.

총평

  • generative 모델은 생성만 있는게 아닌 explicit(분류), fully dependent 모델 도 존재함을 알아두자!
profile
비전공자 + 타업계 경력2년의 IT 개발자 도전기~

0개의 댓글