본문 바로가기

분류 전체보기

(15)
Score-Based / Diffusion Model[4] - NCSNv2 Introduction 이번에는 Score-based generative model의 두번째 논문인 NCSN v2에 대해서 리뷰를 해보고자 합니다. 본 논문은 Score-based generative model에 대한 이론적인 접근으로 하이퍼파라미터를 설정할 때 어떻게 접근해야 하는지에 대해서 정리합니다. 우선 Noise Conditional Score Network를 통해 score-based generative model에서의 가능성을 보여주었습니다. 또한, CIFAR-10 데이터셋에서도 좋은 성능을 보여주었습니다. 하지만, 이런 문제점에도 불구하고 고해상도를 생성했을 때 (from 64 $\times$ 64 to 256 $\times$ 256) poor한 성능을 보여준다고 합니다. 그래서 저자는 이..
Score-Based / Diffusion Model[3] - DDPM 이번 논문의 주인공은 DDPM입니다. Denoising Diffusion Probabilistic Model입니다. Score-based generative model이랑 거의 흡사하지만, 기본 개념이 조금 다릅니다. 따라서 이에 대해서도 한번 리뷰해보고자 합니다. 2023.12.11 Experiment 부분 추가 Diffusion model Diffusion model의 가장 기본적인 아이디어는 stochastic process입니다. 여기서 stochastic process란, time-dependent한 변수 $X_t$ 즉, 시간 t에 따라 변하는 변수 $X_t$를 stochastic process라고 합니다. 그 중에서 diffusion process는 확률 미분방정식의 한 솔루션이며, conti..
Entropy와 Cross entropy, 그리고 KL-divergence, 정보 이론 [2] Entropy 이전 포스트에서 엔트로피란 정보 이론에서, 정보를 정량화하는 단위라고 하였다. 정보가 클 수록 엔트로피가 크고, 정보가 작으면 엔트로피가 작다. 정보량은 다음의 식으로 표현된다. $I(x) = -log_2{P(x)}$ 섀넌은 불확실성의 측정을 엔트로피라 하였고, 이를 H라고 표시하였으며 bit를 단위로 하였다. 이를 식으로 표현하면 다음과 같다. 섀넌 엔트로피는 정보량의 기댓값이다. $$H(P) = H(x)= E_{X\sim P}[I(x)] = E_{X\sim P}[-log_{2}P(x)] \\ = - \sum_{i}p(x) * log_{2}p(x) \\ = \sum_{i}p(x) * log_{2}{1\over p(x)}$$ 확률 분포가 균일 할 수록 엔트로피 H(x)가 높고 (뭐가 뽑힐지..
내가 보려고 정리하는 TF Lite [1] TF Lite TF Lite는 mobile, embeded, IoT devce와 같은 디바이스에서 on-device ML을 할 수 있도록 도와주는 툴이다. 일단 TF Lite에 대해서, 그리고 이를 가속하는 방법인 delegate에 대해 알아보려 한다. Key feature TF Lite는 on-device learning에 최적화 되어 latency, privacy, connectivity (no internet connection), size (model size), power consumption. 이 5가지를 최적화 해준다. Android, iOS, embeded linux, microcontroller 와 같은 multi-platform 지원한다. Java, Swift, Objective-C, ..
정보란 무엇인가, 정보 이론 [1] 21세기는 흔히 '정보화' 시대고, 우리는 수많은 '정보' 들에 휩싸여 살아가고 있다고 표현한다. 그렇다면 이 추상적인 '정보' 라는 단어는 도데체 무엇을 의미하는가? 정보란 무엇인가. 정보(情報, 영어: information, info, info.)는 컴퓨터공학에서 특정 목적을 위하여 광(光) 또는 전자적 방식으로 처리되어 부호, 문자, 음성, 음향 및 영상 등을 표현하는 모든 종류의 자료 또는 지식을 말한다. 정보란 특정 목적을 가지고 잘 정리를 한 자료 혹은 지식을 의미한다. 우리는 수많은 특정 목적을 가지고 잘 정리한 자료 혹은 지식에 휩싸여 살아가고 있다. 우리는 정보를 주고 받는 표현을 쓴다. 특히 컴퓨터 혹은 핸드폰을 통한 무언가를 할 때, 이러한 표현을 많이 사용한다. 또한 빠르게 정보를 ..
Deep learning 개발자를 위한 Docker [3] 일반적으로 딥러닝을 한다고 했을 때 보통 로컬 컴퓨터 (노트북 등) → GPU가 달려있는 Remote server 에 접속하여 사용하거나 server 내에서 docker 를 만들어 사용한다. 밑의 그림은 server내에서 docker를 사용하는 경우를 그림으로 나타낸것이다. 여러 블로그를 참고해서 어떻게 어떻게 환경 구성을 하기는 하지만 이를 제대로 이해하고 하고 있지는 않더라. 그래서 새로운 환경을 구성한다는것은 항상 스트레스이다. 또한 최근에 vscode를 원격 server에 존재하는 docker에 연결해서 사용하려고 했는데 무언가 환경이 꼬여 하지못하고 있었다. 이번 기회에 이 프로세스를 이해해서 앞으로 스트레스를 받는 일이 없길 바라며 작성한다... Local에서 원격 서버에 존재하는 Docker..
Deep learning 개발자를 위한 Docker [2] 대충 도커가 어떻게 동작하고 있는지는 그려진다. 이번 포스트에서는 Docker를 사용 할 때, 주로 사용하는 커멘드에 대해서 알아보려한다. 일단 시키는데로 docker 커멘드를 치고는 있는데... 우리는 누군가 만들어 놓은 모델을 돌리고자 할 때 도커를 찾는다. 정확히는 그 사람이 만든 도커파일을 찾는다. - 환경 세팅 하기 싫어... 그리고 기계적으로 build하고 run 한다... README에 docker 관련해서 문서화를 잘 해놨길 바랄 뿐이다... 이렇게 끝나면 좋은데 때로는 몇가지 설정을 해줘야 할 때가 있다. 그런 몇가지 설정에 대해 먼저 이야기 해보려 한다. Local 디렉토리에 있는 dataset을 연동하고 싶은데... 우리의 로컬 호스트와 도커 컨테이너 간의 공유 디렉토리를 연결 (디렉..
Score-Based / Diffusion Model[2] - NCSN 이전글 : https://ivdevlog.tistory.com/4 Score-Based Generative Model[1] - Score Network 들어가며... 최근 Score-Based Generative Model through Stochastic Differential Equation 이라는 논문이 나왔습니다. CIFAR10에서 FID Score 2.20으로 stylegan2-ada를 이기고 당당하게 CIFAR10에서 SOTA를 차.. ivdevlog.tistory.com -------------------------------- 2022.04.05 자로 많은 내용이 수정 및 추가되었습니다. -------------------------------- 이전 포스팅에서 Score-Based Mod..
본격적인 tutorial, TensorflowLite - ios tutorial [2] 본격적으로 tflite - ios tutorial 을 해보자. 본 포스트는 다음의 공식 tutorial code와 설명을 참고하여 만들어졌다. tflite-ios tutorial github link 2편까지는 공식 튜토리얼을 따라하며 감을 익혀보려한다. 튜토리얼을 원할하게 진행하기 위해서 해당 레포를 clone하고 시작하면 좋을 것 같다. tflite에 대한 설명은 나중에 하려 한다. 일단 공식 튜토리얼을 진행하여 감을 익히면 좋을 것 같다. Requirements Device with iOS 12.0 or above Xcode 10.0 or above Valid Apple Developer ID Xcode command-line tools (run xcode-select --install) Cocoa..
Deep learning 개발자를 위한 Docker [1] Docker 모델을 개발할때도, 모델을 운영 할 때도 Docker는 그림자처럼 우리를 따라다닌다. 누가 만든것만 잘 가져다 써보려 헀지만 뭔가 잘 안된다. 화는 나는데 Docker를 하나하나 뜯어보기에는 뭔가... 싫고 귀찮다. 하.... 어쩌지....🙃 먼저 도커 공식문서의 설명을 본 후, 우리에게 필요한 개념들을 설명해볼까 한다. Docker overview Docker는 developing, shipping, and running applications을 위한 open platform이다. Docker는 우리의 application을 구성한 infrastructure로 부터 분리시켜줘서 개발을 하는데 있어서의 생산성을 높여준다. 정확히 말하자면 Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이..