Machine Learning23 🤗 Transformers - CLIPModel fine-tuning 앞서 image classification을 하는 예시를 통해 🤗 Transformers의 CLIPModel의 사용법을 알아보았다. - 참고 이번에는 CLIPModel을 custom dataset에 맞춰 fine-tuning하는 예제에 대해 알아보도록 하겠다.(전체 코드는 여기에서 살펴볼 수 있다) 개요데이터모델을 훈련시키기 위해서 image-text pair 데이터가 필요하다.여기서는 CIFAR10 데이터셋을 사용할 것이고, image의 label을 통해 text를 생성하여 pair 데이터를 만들어 사용할 것이다. 이 포스팅에서는 CIFAR10 데이터셋을 사용하였지만 이미지 사이즈도 작기도 하고 class도 10개로 매우 적기 때문에 실제로는 fine-tuning을 적용하기엔 부적합하다.예시를 보여주.. 2024. 8. 15. 🤗 Transformers - CLIPModel을 사용한 Image Classification CLIP(Contrastive Language-Image Pretraining) 모델은 multi-modal(text, image) embedding 모델로Contrastive Learning를 사용하여 text와 image를 같은 공간에 임베딩할 수 있게하는 모델이다. CLIP 모델의 흥미로운 점은 Contrastive Learning를 통해 학습한 모델이,image classification task에 있어서 zero-shot 성능이 탁월하다는 점이다. 이번 포스팅에서는 image classification 예제를 통해 🤗 Transformers CLIPModel의 사용법을 익혀보도록 하겠다. 코드는 여기에서 확인할 수 있다. 개요먼저 어떻게 image classification을 진행할지를 살.. 2024. 8. 14. Various Normalizations on CNN Normalization 기법은 Batch normalization 부터 시작하여 다양하게 분화되고 사용되고 있다.이러한 normalization 기법들이 CNN에서 어떻게 적용되는지 확인해보도록 하자. 기본적으로 normalization은 feature들에 대해서 scaling을 해주는 것이다.그리고 각 기법에 따라 어떤 feature를 대상으로 normalization을 할지가 달라지게 된다. CNN은 convolutional filter를 통해서 이미지로부터 여러 feature map을 얻게된다. CNN에서의 normalization은 이 feature map의 값에 대해서 적용한다.feature map에 대해 각각 normalization이 어떻게 적용되는지를 시각화해보면 아래와 같다. Bat.. 2024. 8. 7. [논문 구현] 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. 이전 1 2 3 4 다음