AI
-
Generative Model Generative Model이란? 이에 관한 자세한 내용은 아래 글의 'Generative Model' section을 참고하면 된다. 생성 모델(Generative Model)과 VAE, 그리고 GAN Generative Model Generative Model이란? Discriminative Model과 Generative Model 일반적으로 머신러닝에서 모델을 크게 두 범주로 분류하자면 discriminative model과 generative model로 구분할 수 있다. Discriminative model은 glanceyes.com 글 작성 시점 기준으로는 diffusion model이 큰 각광을 받고 있다. 이번 글에서는 diffusion model이 무엇이..
Generative Model과 Diffusion Model, 그리고 Denoising Diffusion Probabilistic ModelGenerative Model Generative Model이란? 이에 관한 자세한 내용은 아래 글의 'Generative Model' section을 참고하면 된다. 생성 모델(Generative Model)과 VAE, 그리고 GAN Generative Model Generative Model이란? Discriminative Model과 Generative Model 일반적으로 머신러닝에서 모델을 크게 두 범주로 분류하자면 discriminative model과 generative model로 구분할 수 있다. Discriminative model은 glanceyes.com 글 작성 시점 기준으로는 diffusion model이 큰 각광을 받고 있다. 이번 글에서는 diffusion model이 무엇이..
2023.06.23 -
RecVAE 모델을 분석하기 위해 논문을 읽으면서 VAE에 관해 모르거나 잘못 알고 있던 내용이 많다는 걸 알게 되어 이를 정리하고자 한다. 특히 ELBO 부분이 그전에는 잘 이해가 안 갔는데, 이번에 붙잡고 공부하면서 좀 더 명확히 이해할 수 있게 되었다. 그리고 VAE의 ELBO 유도 과정을 완전히 잘못 알고 있어서 복습하면서 정정했다. VAE(Varational AutoEncoder) 한번에 이해하기 위의 노트 필기의 흐름을 따라가보면 VAE의 ELBO가 왜 loss function에서 나오는 건지와 그 학습 방법을 이해할 수 있다. VAE 계열 모델의 ELBO 분석 VAE(Variational Autoencoders) [출처] https://commons.wikimedia.org/wiki/File..
VAE 계열 모델의 ELBO(Evidence Lower Bound) 분석RecVAE 모델을 분석하기 위해 논문을 읽으면서 VAE에 관해 모르거나 잘못 알고 있던 내용이 많다는 걸 알게 되어 이를 정리하고자 한다. 특히 ELBO 부분이 그전에는 잘 이해가 안 갔는데, 이번에 붙잡고 공부하면서 좀 더 명확히 이해할 수 있게 되었다. 그리고 VAE의 ELBO 유도 과정을 완전히 잘못 알고 있어서 복습하면서 정정했다. VAE(Varational AutoEncoder) 한번에 이해하기 위의 노트 필기의 흐름을 따라가보면 VAE의 ELBO가 왜 loss function에서 나오는 건지와 그 학습 방법을 이해할 수 있다. VAE 계열 모델의 ELBO 분석 VAE(Variational Autoencoders) [출처] https://commons.wikimedia.org/wiki/File..
2023.05.23 -
이번 글에서는 DiffRF에 관해서 리뷰를 해 볼 것이다. DiffRF 논문을 고른 이유는 voxel grid의 radiance field 자체에 diffusion과 denoising을 적용했다는 점이 주목할 만하고, 단순히 diffusion model에서 사용되는 loss 뿐만이 아니라 photometric 2D rendering loss를 도입하여 새로운 view에서의 이미지 생성 quality를 높였다는 점이 주목할 만하다. 또한 DreamFusion에 관해 공부하면서 classifier free guidance를 찾아보다가 classifier guidance에 관해 알아보았고, 이를 conditional generation의 응용에서 사용한 모델이 바로 DiffRF여서다. 그래서 현재 연구실에서도..
DiffRF: Rendering-Guided 3D Radiance Field Diffusion이번 글에서는 DiffRF에 관해서 리뷰를 해 볼 것이다. DiffRF 논문을 고른 이유는 voxel grid의 radiance field 자체에 diffusion과 denoising을 적용했다는 점이 주목할 만하고, 단순히 diffusion model에서 사용되는 loss 뿐만이 아니라 photometric 2D rendering loss를 도입하여 새로운 view에서의 이미지 생성 quality를 높였다는 점이 주목할 만하다. 또한 DreamFusion에 관해 공부하면서 classifier free guidance를 찾아보다가 classifier guidance에 관해 알아보았고, 이를 conditional generation의 응용에서 사용한 모델이 바로 DiffRF여서다. 그래서 현재 연구실에서도..
2023.05.05 -
이 글은 아직 미완 상태이며, 곧 완성하여 마무리할 예정입니다. Dynamic Bayesian Network의 일종인 Hidden Markov Model은 AI를 공부할 때 종종 필요로 하는 개념이며, 특히 이 모델의 inference에서 기본적으로 쓰이는 성질과 알고리즘이 꽤 자주 쓰인다. 언젠가 한번 즈음 정리를 해야겠다고 다짐을 했었는데, 현재 글 작성 시점 기준 중간고사를 포함하여 우선순위가 높은 수많은 일 때문에 여유 있을 때 틈틈이 작성하여 완성하고자 한다. 사실 이전에 공부하면서 미리 따로 노트 필기로 정리한 내용이기에 먼저 노트 필기를 첨부하고, 시간이 생길 때마다 글로 채워가고자 한다. HMM(Hidden Markov Model)이란? HMM의 Inference 꼭 알아두어야 할 Prel..
Hidden Markov Model과 Filtering, Forwarding 그리고 Viterbi Algorithm이 글은 아직 미완 상태이며, 곧 완성하여 마무리할 예정입니다. Dynamic Bayesian Network의 일종인 Hidden Markov Model은 AI를 공부할 때 종종 필요로 하는 개념이며, 특히 이 모델의 inference에서 기본적으로 쓰이는 성질과 알고리즘이 꽤 자주 쓰인다. 언젠가 한번 즈음 정리를 해야겠다고 다짐을 했었는데, 현재 글 작성 시점 기준 중간고사를 포함하여 우선순위가 높은 수많은 일 때문에 여유 있을 때 틈틈이 작성하여 완성하고자 한다. 사실 이전에 공부하면서 미리 따로 노트 필기로 정리한 내용이기에 먼저 노트 필기를 첨부하고, 시간이 생길 때마다 글로 채워가고자 한다. HMM(Hidden Markov Model)이란? HMM의 Inference 꼭 알아두어야 할 Prel..
2023.04.13 -
앞서 우리는 입력으로 주어진 sequence에서 어떠한 부분에 주목할지를 예측에 반영하는 attention 기법을 배웠다. 이러한 Self-Attention에서 좀 더 나아가 head를 여러 개 사용하여 주어진 데이터를 이해하려는 Multi-Head Attention 기법과 이외 'Attention is All You Need' 논문에서 소개되었던 다른 기법들도 이해해 보고자 한다. 이전의 transformer에 관해 다룬 포스트의 내용을 기반으로 하므로 아래의 글을 참조하면 이 글을 이해하는 데 도움이 될 수 있다. Self-Attention을 사용하는 Transformer Self-Attention을 사용하는 Transformer(트랜스포머) Sequential Model Sequential Mode..
Transformer의 Multi-Head Attention과 Transformer에서 쓰인 다양한 기법앞서 우리는 입력으로 주어진 sequence에서 어떠한 부분에 주목할지를 예측에 반영하는 attention 기법을 배웠다. 이러한 Self-Attention에서 좀 더 나아가 head를 여러 개 사용하여 주어진 데이터를 이해하려는 Multi-Head Attention 기법과 이외 'Attention is All You Need' 논문에서 소개되었던 다른 기법들도 이해해 보고자 한다. 이전의 transformer에 관해 다룬 포스트의 내용을 기반으로 하므로 아래의 글을 참조하면 이 글을 이해하는 데 도움이 될 수 있다. Self-Attention을 사용하는 Transformer Self-Attention을 사용하는 Transformer(트랜스포머) Sequential Model Sequential Mode..
2023.04.11 -
이 글은 미완성된 글이며, 곧 마무리할 예정입니다. 일반적으로 머신러닝을 사용하는 모델을 구현하는 논문에서 PyTorch로 코드를 보면 meshgrid라는 함수를 종종 볼 수 있다. 이 함수는 scalar 값 또는 1차원 tensor로 된 $n$개의 input을 받아서 좌표계의 grid를 생성한다. 이 함수에 관한 설명은 pytorch 공식 문서에 잘 나와있다. 자세한 내용은 PyTorch 공식 문서의 meshgrid 함수 페이지를 참고하면 된다. torch.meshgrid — PyTorch 2.0 documentation Shortcuts pytorch.org 그런데 개인적으로 이 함수가 언제 자주 쓰이는지, 그리고 언제 사용하는 게 유용한지 감이 잘 잡히지 않았다. 그러나 컴퓨터비전 또는 그래픽스 논..
COP(Center of Projection)에서 Image plane의 각 pixel을 향하는 vector 구하기이 글은 미완성된 글이며, 곧 마무리할 예정입니다. 일반적으로 머신러닝을 사용하는 모델을 구현하는 논문에서 PyTorch로 코드를 보면 meshgrid라는 함수를 종종 볼 수 있다. 이 함수는 scalar 값 또는 1차원 tensor로 된 $n$개의 input을 받아서 좌표계의 grid를 생성한다. 이 함수에 관한 설명은 pytorch 공식 문서에 잘 나와있다. 자세한 내용은 PyTorch 공식 문서의 meshgrid 함수 페이지를 참고하면 된다. torch.meshgrid — PyTorch 2.0 documentation Shortcuts pytorch.org 그런데 개인적으로 이 함수가 언제 자주 쓰이는지, 그리고 언제 사용하는 게 유용한지 감이 잘 잡히지 않았다. 그러나 컴퓨터비전 또는 그래픽스 논..
2023.03.30 -
행렬은 선형대수에서 수를 다룰 때 자주 사용하는 형태이며, 기본적으로 AI 모델의 코드는 tensor 기반의 PyTorch로 작성하는 경우가 많아서 행렬에 관한 명확한 이해를 바탕으로 이를 자유자재로 다룰 줄 아는 능력이 중요하다. 행렬에 관한 기본적인 내용과 함께 정방행렬일 때의 역행렬과 정방행렬이 아닐 때 사용하는 pseudo 역행렬에 관해 알아보자. 행렬 (Matrix) 행렬의 정의 행렬의 정의는 다음과 같이 정의할 수 있다. 벡터(vector)를 원소로 가지는 2차원 배열 같은 차원의 벡터를 모아 나열한 것 즉, 행렬은 Vector를 원소로 가지는 2차원 list나 array이다. $$ \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & ..
[빠르게 정리하는 선형대수] 행렬(Matrix)과 역행렬, 그리고 Positive Definite행렬은 선형대수에서 수를 다룰 때 자주 사용하는 형태이며, 기본적으로 AI 모델의 코드는 tensor 기반의 PyTorch로 작성하는 경우가 많아서 행렬에 관한 명확한 이해를 바탕으로 이를 자유자재로 다룰 줄 아는 능력이 중요하다. 행렬에 관한 기본적인 내용과 함께 정방행렬일 때의 역행렬과 정방행렬이 아닐 때 사용하는 pseudo 역행렬에 관해 알아보자. 행렬 (Matrix) 행렬의 정의 행렬의 정의는 다음과 같이 정의할 수 있다. 벡터(vector)를 원소로 가지는 2차원 배열 같은 차원의 벡터를 모아 나열한 것 즉, 행렬은 Vector를 원소로 가지는 2차원 list나 array이다. $$ \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & ..
2023.03.25 -
AI에서 주로 사용하는 기본적인 자료구조인 vector에 관해 알아보고, vector를 이해하는 데 필요한 norm, inner product, orthogonal 등 여러 개념을 살펴보고자 한다. 벡터(Vector)의 정의 벡터는 다음과 같이 다양하게 정의할 수 있다. 크기(길이)와 방향을 가지는 직선 벡터 공간(Vector Space)을 이루는 원소 공간에서의 한 점 원점으로부터의 상대적 위치 수를 원소로 가지는 리스트 또는 배열 종합하면 벡터는 수를 원소로 가지는 list 또는 array를 의미하며, $n$차원 공간에서의 한 점을 의미한다. 이 때 점은 원점으로부터의 상대적 위치를 의미한다. numpy에서는 보통 행벡터로 값을 처리한다. Vector의 element는 $[x_1, x_2, ..., ..
[빠르게 정리하는 선형대수] 벡터(Vector)의 정의와 Inner Product(내적) 정리AI에서 주로 사용하는 기본적인 자료구조인 vector에 관해 알아보고, vector를 이해하는 데 필요한 norm, inner product, orthogonal 등 여러 개념을 살펴보고자 한다. 벡터(Vector)의 정의 벡터는 다음과 같이 다양하게 정의할 수 있다. 크기(길이)와 방향을 가지는 직선 벡터 공간(Vector Space)을 이루는 원소 공간에서의 한 점 원점으로부터의 상대적 위치 수를 원소로 가지는 리스트 또는 배열 종합하면 벡터는 수를 원소로 가지는 list 또는 array를 의미하며, $n$차원 공간에서의 한 점을 의미한다. 이 때 점은 원점으로부터의 상대적 위치를 의미한다. numpy에서는 보통 행벡터로 값을 처리한다. Vector의 element는 $[x_1, x_2, ..., ..
2023.03.25