본문 바로가기

Book Review/[만들면서 배우는 생성형 AI] 리뷰7

8장. 확산 모델(diffusion model) 2020년에 획기적인 확산 모델 논문이 나왔다. 이름하여 DDPM! (denoising diffusion probablistic model의 줄임말)최근 생성 모델링에서 핫한(?) diffusion 모델의 주요 논문이다.이번 포스팅에서 diffision 모델이 무엇이고 그 기본 원리와 이를 작동하게 하기 위한 모델의 구성 요소에 대해 알아보자!1. Denoising diffusion modelDenoising diffusion model을 직영하면 잡음 제거 확산 모델이다. 이 모델의 핵심 아이디어는 다음과 같다.연속해서(여러 번의 과정으로) 매우 조금씩 이미지에서 잡음을 제거하도록 모델을 훈련시키는 것이다.그렇게 되면 이론적으로 완전히 랜덤한 잡음에서 훈련 세트의 이미지와 같은 이미지를 얻을 수 있다... 2024. 6. 4.
6장. 노멀라이징 플로 모델(normalizing flow model) 이번 포스팅에서 변수 변환을 활용하여 데이터 분포를 직접 모델링하는 노멀라이징 플로 모델에 대해 알아보자! Normalizing flow 모델은 데이터를 간단한 분포에 매핑할 수 있다.하지만 매핑 함수에 제약이 어느정도 있기 때문에 이를 고려할 필요가 있다.어떠한 제약이 있는 지, 그리고 이를 해결한 모델은 어떤 것이 있는지 공부해보자. 1. Normalizing flow노멀라이징 플로는 VAE와 개념이 유사하다.VAE가 인코더를 학습하여 복잡한 분포와 샘플링이 가능한 간단한 분포 사이를 매핑하고 디코더를 학습하여 단순한 분포에서 복잡한 분포로 매핑하는 것과 같이, 노멀라이징 플로도 마찬가지로 간단한 분포로의 매핑과 복잡한 분포로의 매핑이 이뤄진다.하지만 신경망은 일반적으로 반전 가능하지 않다.따라서 노.. 2024. 5. 16.
5장. 자기회귀 모델 (Autoregressive model) 이번 포스팅에서 생성 모델링 문제를 '순차적'으로 다루는 자기회귀 모델에 대해 알아보자. 자기회귀 모델은 생성 문제를 순차적인 과정으로 다뤄 단순화한다.앞 장에서 살펴본 VAE, GAN과는 달리 잠재 확률 변수를 사용하지 않고 시퀀스에 있는 이전 값을 바탕으로 예측을 만든다.따라서 데이터 생성 분포를 근사하는 것 보다는 명시적으로 이를 모델링 한다는 점에서 차이가 있다. 1. LSTM LSTM은 순환 신경망의 한 종류이다.순환 신경망에는 순차적인 데이터(텍스트 데이터, 시계열 데이터 등)을 처리하는 순환 층(셀)이 있고,특정 타임 스텝에서 셀의 출력이 다음 타임 스텝의 입력으로 사용된다.재귀적으로 되먹이는 구조를 가지는 네트워크이기 때문에 recurrent neural netwrok, RNN으로 쓰인다... 2024. 5. 16.
4장. 생성적 적대 신경망(GAN) 4장의 Generative adversarial network에 대하여 학습해 보자. GAN의 어떠한 구조적 특징을 가지고 있는지, 이에 대한 문제점은 무엇이 있는지 파악한 다음, 이를 와서스테인 GAN과 WGAN이 어떻게 해결하고자 하는지 알아보자! 1. GAN의 두 네트워크 구조 GAN은 General Adversarial Network의 약자로 생성적 적대 신경망이라고 부른다. 이를 해석해 보면 "적대적인 두 신경망으로 결과를 생성한다."라고 볼 수 있다. 어떤 아이디어가 이를 가능하게 할까? 이를 이해하기 위해서는 우선 GAN의 구조에 대해 알 필요가 있다. GAN은 생성자(generator)와 판별자(discriminator)가 서로를 이기려고 하는 과정을 통해 의미 있는 샘플을 생성하는 것이다.. 2024. 4. 17.
3장 - 변이형 오토인코더 (VAE) 이번 포스팅에서 오토인코더와 변이형 오토인코더의 서로 다른 구조를 학습하고, 구조적 차이가 어떤 문제를 해결하고자 하는지 알아보자! 1. 오토 인코더 (Autoencoder) Autoencoder는 다음과 같은 구조로 이루어져 있다. 단순하게 입력에 대한 인코딩과 디코딩 작업을 수행하도록 훈련된 신경망이다. 오토 인코더에서 중요한 개념은 딱 세 가지이다. 1. 인코더(encoder) 2. 잠재 공간(latent space) 3. 디코더(decoder) 먼저 인코더는 이미지 같은 고차원 입력 데이터를 저차원 임베딩 벡터로 압축하는 역할을 한다. 쉽게 말해서 픽셀값으로 이루어져 있는 입력 데이터를 어떠한 이미지적 특징(ex. 사람의 눈, 고양이의 귀, 질감 등등)을 가지도록 차원을 축소시키는 것을 의미한다... 2024. 3. 26.
2장 - 딥러닝 이번 포스팅에서는 '만들면서 배우는 생성형 AI' 2장 내용으로 딥러닝 모델링의 개괄적인 개념과 활용에 대해 알아보자 1. 딥러닝용 데이터 딥러닝 학습에 필요한 데이터는 매우 다양하다. 이미지, 텍스트, 오디오 뿐만 아니라 영상과 같은 비정형 데이터가 있다. 그렇다면 정형 / 비정형 데이터는 무엇이 다를까? 기존의 많은 머신러닝 알고리즘은 테이블 형태의 정형 데이터를 입력으로 받는다. 엑셀로 표현된 데이터가 대표적인 정형 데이터이다. 각 데이터 샘플의 특성이 열로 표현되고 이 특성이 출력에 어떻게 영향을 미치는 지 모델이 학습을 한다. 반면 비정형 데이터는 특성의 열로 구성할 수 없는 데이터를 의미한다. 이미지의 픽셀, 음성의 진동수, 텍스트의 문자 하나에는 정보가 거의 없어 이를 표현하는 것은 비효율적.. 2024. 3. 18.
1장 - 생성 모델링 생성형 AI를 구현하기 위한 기본서로 '만들면서 배우는 생성 AI'라는 책을 공부하고 리뷰하도록 한다. 1. 생성 모델링이란? 생성 모델링이란 거시적으로 다음과 같이 정의할 수 있다고 한다. "주어진 데이터 셋과 유사한 데이터를 정의하도록 모델을 훈련하는 머신러닝의 한 분야." 이게 무슨 의미인지 이해해보자. 말의 이미지가 들어있는 데이터 셋(주어진 데이터 셋)에서 모델을 훈련하면, 말 이미지와 유사한 말(과 같은) 이미지를 샘플링하여 원래의 말 이미지와는 다른 이미지를 만들어 낸다는 것이다. 가령 이미지 생성 task는 픽셀 값으로 모델이 훈련하기 때문에 훈련 데이터에서 픽셀 값의 분포 및 조합을 학습할 것이다. 이렇게 학습된 모델의 결과를 샘플링하여 새로운 데이터를 만들어내는 것이다. 그렇다면 모델이.. 2024. 3. 11.