Book Review42 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. 5장. 오차역전파법 지난 챕터에서는 수치 미분을 통해 기울기를 계산하였다. 하지만 이는 계산 시간이 길다는 단점이 있다. 이를 해결하기 위해 이번 챕터에서는 '오차역전파'(backpropagation) 에 대해 알아보고, 이를 이해하기 위한 계산 그래프, 연쇄법칙(chain rule)을 이해하여 오차역전파에 적용되는 부분을 파악하자. 수치 미분은 구현하기 쉽고 단순하지만 계산 시간이 오래 걸린다는 단점이 있다. 가중치 매개변수를 해결하기 위해서는 손실 함수의 가중치 매개변수에 대한 기울기를 구해야 모델의 학습이 이뤄진다. 따라서 결국 기울기를 사용해야하는데 수치 미분은 사용성이 좋지 않으니 이를 효율적으로 계산하는 '오차역전파'가 등장하게 되었다. 밑시딥책에서는 오차역전파를 쉽게 이해시키기 위해 수식이 아닌 계산 그래프로 .. 2023. 11. 9. The universal workflow of machine learning 이번 장은 케창딥 6장으로 일반적인 머신러닝 워크플로에 대해 소개해준다. 머신러닝 프로젝트를 위해 전체 스펙트럼을 큰 그림을 볼 필요가 있다. 따라서 전반적인 머신러닝 워크플로에 대해 알아보고 그 흐름에 대해 이해해보자! 새로운 머신러닝 프로젝트를 시작할 때, 어떻게 준비해야 하고 제품화시켜 사용자들에게 전달할 수 있을까? 모든 프로젝트가 그렇듯, 머신러닝 프로젝트의 시작도 문제를 정의하는 것에서 출발한다. 이후 문제를 이해하고 적절한 데이터 셋을 구성하여 모델을 개발한다. 이렇게 만들어진 모델을 테스트하여 좋은 성능을 내도록 develop하여 최종 모델을 최적화하면, 배포 환경을 선택하여 모델을 배치한다. 제품 환경에서 모델 성능을 모니터링하고 차세대 모델을 개발할 수 있도록 데이터를 계속해서 쌓아 학.. 2023. 10. 24. 이전 1 2 3 4 5 다음