생성 AI - Ch1. 생성 모델링

­문재원·2024년 5월 8일

genAI

목록 보기
1/5

이번 시리즈는 생성 AI 이다.
ChatGPT처럼 산출물을 내는 생성형 AI에 관심은 많았는데, 이번 스터디를 통해 처음으로 제대로 공부하게 되었다.

스터디를 통해 이 책을 무사히 끝내길 기원하며 첫 장을 시작해보겠다.

우선 1장은

1.1 생성 모델링이란?
1.2 첫 번재 생성 모델
1.3 핵심 확률 이론
1.4 생성 모델 분류
1.5 생성 딥러닝 예제 코드

로 구성되어있다.

그럼 키워드를 통해 생성 모델링에 대한 개념을 정리하도록 하겠다.

1.1 생성 모델링이란?

생성 모델링은 주어진 데이터셋과 유사한 새로운 데이터를 생성하도록 모델을 훈련하는 머신러닝의 한 분야입니다.

생성 모델링의 큰 흐름은 두 가지로, 훈련과 샘플링이다.
즉 1. 훈련데이터셋에서 생성모델을 훈련해 특성(feature)을 포착
2. 모델에서 샘플링해 새로운 데이터 생성

Q. 생성 모델은 결정적(deterministic)일까, 아니면 확률적(probabilistic)일까?
A. 확률적; 다양한 출력 결과를 샘플링할 수 있어야 하기 때문.

1.1.1 생성 모델링 vs. 판별 모델링

판별 모델링은 훈련 데이터의 각 샘플에 대한 레이블을 토대로 학습 진행 -> 데이터의 분류/판별 가능해짐.

*수학적 정의
판별 모델링: p(y|x)를 추정
->샘플 x가 주어졌을 때 레이블 y의 확률을 모델링

생성 모델링: p(x)를 추정
->샘플 x를 관측할 확률을 모델링

1.2 첫 번째 생성 모델

1.2.2 생성 모델링 프레임워크

  • 샘플 데이터셋 x
  • 샘플을 알려지지 않은 분포 Pdata 분포로부터 생성
  • Pdata를 흉내내는 생성모델인 Pmodel
  • Pmodel의 속성 3가지
    1)정확도 - Pmodel이 높다는 것은 Pdata에서 뽑은 것 같다는 의미.
    2)생성 - Pmodel 에서 샘플링 쉽게 할 수 있어야!
    3)표현 - 데이터의 다양한 고수준 특성이 Pmodel로 어떻게 표현되는지 알아야!

1.2.3 표현 학습

표현 학습의 작동 원리:

  • 고차원의 표본 공간을 직접 모델링 ex)픽셀 하나하나 모델링(X)
  • 저차원의 잠재공간(latent space)를 사용해 훈련 데이터셋의 각 샘플을 표현하고 이를 원본 공간의 포인트에 매핑(O)
    ->보다 쉽게 말하자면 데이터셋에서 특징적인 feature만 추출한 뒤 원본 공간의 포인트에 연결한다는 의미!

이런 특징을 가진 표현 학습은 두 단계로 작동한다.

step 1. 데이터셋을 잘 설명하는 특성(feature)이 두 개의 latent space임을 인지.
step 2. 공간의 한 포인트를 이미지에 매핑하는 매핑함수 f 학습.

앞서 말한 표현학습의 특징과 학습 순서를 정리하면

표현 학습은 데이터로부터 특성을 추출하고, 그것을 기계 스스로 배워내는 과정

이라고 정의할 수 있다.

이렇게 개념적으로 배운 표현학습이 인코더-디코더에 적용되면 다음과 같은 순서로 진행된다.

  1. 훈련 데이터셋을 latent space로 인코딩
  2. 샘플링
  3. 디코딩해 원래 도메인으로 복귀

1.3 핵심 확률 이론

여기서는 표본 공간, 확률 밀도 함수, 모수 모델링, 가능도, 최대 가능도 추정에 대해 정리할 예정이다.

표본 공간(sample space)

샘플 x가 가질 수 있는 모든 값의 집합

확률 밀도 함수(probability density function)

포인트 x를 0과 1 사이의 수자로 매핑하는 함수 p(x)로, 표본 공간에 있는 모든 포인트에 대해 밀도 함수를 적분했을 때 1이 되어야 잘 정의됐다고 할 수 있다.

모수 모델링(parametric modeling)

안정적인 Pmodel(x)를 찾는 데 사용할 수 있는 기법으로,
모수 모델(parametric model)은 유한한 개수의 파라미터 Θ를 사용해 기술할 수 있는 P{Θ}(x)의 한 종류이다.

가능도(likelihood)

파라미터 집합 Θ의 가능도(가능도.. 입에 너무 안 붙는다. 왜 가능성이라고 안하고 가능도라고 번역했을까,,,,)
L(Θ|x)는 관측된 포인트 x가 주어졌을 때 Θ의 타당성을 측정하는 함수.



(이산분포일 경우)

실제로는 계산의 편의를 위해 log likelihood를 더 많이 사용한다.
(파라미터 집합 Θ의 likelihood==데이터가 발견될 확률)

최대 가능도 추정(maximum likelihood estimation )

MLE는 파라미터 집합 Θ를 추정하는 기법.

  • 손실함수를 최소화하는 게 딥러닝의 목적이기 때문에,
    negative log-likelihood를 최소화하는 파라미터 집합을 찾는 것과 같은 의미.

1.4 생성 모델 분류

1.Explicit density vs. Implicit density

  • Explcit density(명시적 밀도)는 밀도 함수를 직접 최적화하는 모델(tractable density)과 밀도 함수의 근사치를 최적화하는 모델(approximate density)로 나뉨
  • Implicit density는 데이터를 직접 생성하는 확률적 과정을 만드는 것이 목표
    ex) GAN
  1. Tractable model
  • 모델 구조에 제약을 가해 밀도 함수의 계산을 쉽게 만듦.
  • autoregressive model: 입력 특성에 순서 부여-> 출력이 순차적
  • normalizing flow model: 단순한 분포를 생성, 역함수를 연속적으로 사용
  1. Approximate density model
  • VAE: 잠재변수를 도입, 결합 밀도 함수(joint density function)의 근사치를 최적화
  • energy-based model: Markov chain 샘플링 사용
  • diffusion: 오염된 이미지에서 noise 제거하는 모델을 계속 훈련 -> 밀도 함수 근사.

오늘은 생성 모델링에 대한 전반적인 개념과 작동방식, 종류에 대해 알아보았다. 공부하면서 핵심 확률 이론의 기본을 통해 기초를 튼튼히 쌓고 생성모델의 종류를 대략적으로 알아봄으로써 밀도 함수가 생성 모델을 나누는 구분점이 된다는 것을 알았다.

다음 2장에서는 딥러닝의 전반적인 개념을 공부해보도록 하겠다. 안녕!

profile
얼렁뚱땅 요리조리

0개의 댓글