뚝딱이 — 뚝딱이

전체 글

IT 공부 일지
기타/Jupyter

[Jupyter] Jupyter lab에 miniconda 가상환경 적용하기

jupyter notebook처럼 kernel만 추가하면 바로 바꿔서 쓸 수 있을 줄 알았는데 kernel을 변경해도 base로 잡혀서 고생 좀 했다.. 가상환경 만들기 https://pasongsong.tistory.com/475 우선 위의 링크에서 가상환경을 만든다. ipykernel 설치 conda activate 가상환경 가상환경으로 들어와주고 설치를 진행한다. python -m ipykernel install --user --name $환경이름 --display-name $커널이름 설치가 안된다면 jupyter notebook, jupyter lab을 먼저 설치하자. jupyter lab 설치 가상환경에 있는 상태에서 jupyter lab을 설치한다. pip install jupyterlab 혹..

Machine Learning/이론

[통계] ELBO(Evidence of Lower Bound)

ELBO ELBO는 VAE의 loss에도 쓰이는 것으로 variational lower bound라고도 불린다. ELBO는 \( p(z \mid x) \) 가 다루기 힘든 분포를 이루고 있을 때 이를 다루기 쉬운 분포인 \( q(x) \)로 표현하는 과정에서 두 분포의 차이(KL Divergence)를 최소화하기 위해 사용된다. 수식 \( log_{\theta} P(x) \)는 모델의 파라미터(\( \theta \))가 주어졌을 때 x가 나올 확률이고 이 확률이 높을 수록 좋은 모델이다. 우리는 \( log_{\theta} P(x) \)를 최대화 하는 방향으로 \( \theta \)를 학습시켜야 한다. 위의 식에서 KL Divergence는 늘 0보다 크거나 같기 때문에 \( log P(x) \)는 EL..

Generative model

[VAE] VAE(Variational Auto-Encoder) 이론

VAE VAE란 input x를 잘 설명하는 feature를 추출하여 latent vector z에 담고 x와 유사하지만 완전히 새로운 데이터를 생성하는 모델이다. 일반적으로 feature는 Gaussian distribution을 따르고 input x를 잘 설명하는 feature를 찾기 위해서 latent z는 평균과 분산값을 가진다. $$ z \longrightarrow x $$ $$ p_{\theta}(z) \longrightarrow p_{\theta}(x \mid z^{(i)}) $$ p(z): latent vector z의 확률밀도함수(Gaussian) p(x|z): 주어진 z에서 특정 x가 나올 조건부 확률에 대한 확률밀도함수 θ: 모델의 파라미터 구조 input x를 Encoder에 통과시..

Machine Learning/이론

[통계] 엔트로피 Entropy, 크로스 엔트로피 Cross Entropy, KL divergence

정보 Information 통계학에서 놀랄만한 내용일수록 정보량이 많다고 이야기하고 이는 확률의 개념을 재해석한 것으로 볼 수 있다. 이는 확률이 낮은 사건일수록 거의 일어나지 않을 일이기 때문에 정보량이 높다고 이해할 수 있다. 위의 내용을 바탕으로 어떤 사건 변수 \( X \)에 대한 정보량(Info)는 다음과 같이 생각할 수 있다. $$ Info \propto \frac{1}{P(X)} $$ 정보량 구체적으로 통계에서 정보량은 다음과 같이 정의한다. $$ I(x) = -log_{b}(P(X)) $$ b = 2 : bit b = e : nit b = 10 : dit log에 \( \frac{1}{P(X) \)를 넣었기 때문에 -가 앞으로 나오고 위와 같이 정의된다. log를 사용한 이유는 확률에 반비..

PAPER REVIEW/Vision

[CV] DALL-E: Zero-Shot Text-to-Image Generation (추가)

https://arxiv.org/pdf/2102.12092v2.pdf ABSTRACT Text to image task는 fixed dataset에 대해 더 나은 modeling assumptions을 찾는데에 집중하였다 본 논문에서는 transformer를 활용하여 text, image tokens을 하나의 stream으로 변환하여 auto-regressive 하게 모델링하는 기법을 제안한다. 충분한 data와 scale을 기준으로 경쟁력 있는 Zero-shot 성능을 보인다. INTRODUCTION Background Draw generative model -> Conditoin on image captions -> GAN 위의 순서로 text to image task models이 발전하였고 Ree..

Python/numpy & Pytorch

[Pytorch] Pytorch 버전 확인과 GPU 연결 확인

버전 확인 import torch print(torch.__version__) GPU 연결 확인 device = 'cuda' if torch.cuda.is_available() else 'cpu' print(device)

기타/Anaconda

[Anaconda] 미니콘다 가상환경 설치 및 제거

아나콘다와 미니콘다의 명령어가 미묘하게 다르게 때문에 따로 정리했다. 가상환경 확인 conda info --envs 위의 명령어를 통해 가상환경을 확인 할 수 있다. 가상환경 생성 conda create -n [가상환경 이름] python=[원하는 버전(3.8 or 3.9)] 가상환경 삭제 conda remove --name [가상환경 이름] --all 활성화 activate [가상환경 이름] 비활성화 deactivate

기타/Anaconda

[Anaconda] 미니콘다 설치하기

아나콘다보다 라이트 버전인 미니콘다를 설치해 본다. 1. 다운로드 https://docs.conda.io/en/latest/miniconda.html Miniconda — conda documentation Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda in docs.conda.io 위의 사이트에서 자신..

파송송
뚝딱이