본문 바로가기

전체 글161

[논문 구현] Auto-Encoding Variational Bayes (Varitional Auto Encoder) 앞서 VAE에 대해 이론에 대해 살펴보았다. (논문 리뷰)이제 이를 어떻게 PyTorch 코드로 구현할 수 있는지에 대해 알아보도록 하겠다. 논문에서는 흑백 이미지를 사용했지만 여기서는 컬러 이미지인 CelebA 데이터셋을 사용하도록 하겠다. 해당 코드는 여기에서 살펴볼 수 있다.  Baseimport base librariesimport torch, torchvisionfrom torch import nnimport numpy as npimport torch.nn.functional as F Configuration parameters설정과 관련된 값들과 hyperparameter 등을 정한다.이미지 크기는 빠른 학습 결과를 보기위해 100x100으로 해두었다.원래 사이즈는 178×218 이다.late.. 2024. 8. 5.
[논문 리뷰] Auto-Encoding Variational Bayes (Varitional Auto Encoder) 이번 포스팅에서는 image generative model의 기본 모델인 Variational Auto Encoder(이하 VAE)에 대해 정리하도록 한다. 단순하게 VAE의 구조와 관련 수식을 정리하는 것이 아니라 왜 VAE가 Encoder와 Decoder의 구조를 가지게 되었고 수식은 어떻게 나오게 되었는지 논리적인 흐름을 따라가고자 한다. First approach먼저 최초의 동기는 저차원의 latent space에서 샘플링 된 latent variable $z$를 통해 고차원의 이미지 $x$를 생성하고자하는 것이다저차원의 latent space는 고차원의 이미지에 대한 feature를 다룬다.예를 들어 사람 얼굴 이미지를 생성하는 것이 목적이라면 latent space의 각 차원은 사람 얼굴에 대.. 2024. 8. 5.
[통계] Maximum Likelihood Estimation (MLE) MLE는 딥러닝에 있어서 가장 기본이 되는 개념으로, 딥러닝 모델 자체가 결국 데이터를 일반화하는 분포를 찾기 위함이기에 MLE를 밑바탕으로 한다.이번 포스팅에서는 MLE를 이해하기 위해 먼저 Likelihood에 대해 알아보고 MLE와 MLE가 딥러닝에서 어떻게 쓰이는지 알아보도록 하겠다. Likelihood vs ProbabilityLikelihood(우도, 가능도)는 Probability(확률)과 헷갈리는 부분이 있다. Probability먼저 Probaility는 주어진(고정된) 확률분포가 있다고 했을 때, 관측하고자 하는 값이나 구간이 해당 확률분포 얼마만큼 나타날 수 있는가에 대한 값이다.$P(확률변수 | 분포)$와 같이 나타낼 수 있다. 예를 들어 고정된 표준정규분포에서 확률변수 X가 1 이.. 2024. 7. 30.
[통계] KL Divergence KL Divergence(발산)을 설명하기 위해 먼저 Entropy와 CrossEntropy에 대해 설명할 필요가 있다. EntropyEntropy는 확률 분포의 불확실성(정보량)을 측정하는 값으로,어떤 사건에 대한 확률이 높으면 해당 사건 확실성이 높아지기 때문에 확률의 역으로 표현된 불확실성의 기대값을 구한다. 확률 분포 P에 대한 Entropy는 $H(P) = \sum \log_{2}{\frac{1}{P(x)}} \cdot P(x) = -\sum \log_{2}{P(x)} \cdot P(x)$ 로 표현된다. CrossEntropy아래와 같은 확률 분포가 있다고 하자.P: 실제 분포 (실제 데이터 분포)Q: 추정 분포 (머신에서 추정한 분포)CrossEntropy는 실제 분포 P에서 나온 데이터를 추.. 2024. 7. 19.
[통계] 확률분포의 Expected Value & Variance Expected Value (기대값)확률이 없이 주어진 값에 대해 평균 값을 구하는 산술 평균과는 달리, ($\mu = \frac{1}{N} \sum_{i=1}^N x_i $)확률분포의 기대값은 확률적 사건에 대해 평균을 구하기 때문에 확률을 고려해서 계산을 해야한다. 이산 확률 변수이산 확률 변수에서의 기대값을 구하는 수식은 아래와 같다.$$E[X] = \sum_{i=1}^{N} x_{i}P(x_{i})$$$x_{i}$: 확률 변수가 가질 수 있는 값$P(x_{i})$: 해당 값이 나올 확률 - 확률 질량 함수 (probability mass function) 예시 - 주사위정육면체 주사위의 경우 각 면이 나올 확률은 $\frac{1}{6}$로 동일하다.그러면 주사위에 대한 기대값은 아래와 같이 구할 .. 2024. 7. 19.
[논문 리뷰] Deep Residual Learning for Image Recognition ResNet으로 유명한 Deep Residual Learning for Image Recognition의 논문을 리뷰한다.ResNet은 CNN을 아키텍처이지만, 이 논문에서 시사하는 바는 딥러닝에 일반적으로 통용되기 때문에 꼭 읽어봐야할 논문이다.(기계 번역을 위한 모델인 Transformer에서도 skip(shortcut) connection을 사용하는 것을 확인할 수 있다) 이번 글을 통해 논문에서 제기하는 문제와 이를 해결하기 위한 residual learning에 대해 이해할 수 있도록 하자.(최대한 논문의 내용을 베이스로 하되 좀 더 쉽게 이해하도록 풀어쓰기 위해 노력하였다)  * 이 논문에서 얘기하는 "plain" network는 이 논문에서 제안하는 shortcut connection을 적용.. 2024. 7. 1.