분류 전체보기(175)
-
22.04.12 Deep Learning - Quantization
https://wooono.tistory.com/405 [DL] 양자화(Quantization)란? 들어가기 앞서, 모바일이나 임베디드 환경에서, 딥러닝 모델을 사용한 추론은 어렵습니다. 일반 PC 와 달리, 메모리, 성능, 저장공간 등의 제한이 있기 때문입니다. 따라서, 딥러닝에서는 모델 경 wooono.tistory.com 딥러닝 시 경량화 연구가 시작된 이유 - 모바일이나 임베디드 환경에서 딥러닝 모델을 사용한 추론은 어렵다.(메모리, 성능, 저장공간 등의 제한이 있기 때문) - 그래서 딥러닝 모델을 가볍게 만드는 연구가 시작됨. 딥러닝 경량화 연구 크게 두 가지로 나뉨 1. 모델을 구성하는 알고리즘 자체를 효율적인 구조로 설계 2. 기존 모델의 파라미터들을 줄이거나 압축하는 연구 1. 모델을 구성..
2022.04.24 -
22.04.11 tensorRT에 쓰이는 개념들 - 빨간글씨 꼭 읽어보기
tensorRT란 딥러닝 모델을 최적화하여 NVIDIA GPU 상에서 추론속도를 수배~수십배 향상시켜주는 모델 최적화 엔진. (보통 conda, pyenv 등과 같은 가상환경에서는 사용하지 않고 Docker나 쌩 로컬환경에 설치하게 된다.) tensorRT는 Optimizer와 Runtim Engine으로 구성되어 있다. Optimizer란 NIVIDIA GPU 연산에 적합한 최적화 기법으로 딥러닝 모델을 최적화해주는 알고리즘? 기법? 이라고 생각하면 된다. Runtime Engine이란 다양한 GPU에서 모델 연산을 수행하는 것이다. 대부분의 딥러닝 프레임워크에서 학습된 모델을 지원하게 된다. tensorRT의 장점 - C++과 python을 API 레벨에서 지원하므로 CUDA를 잘 모르는 딥러닝개발자..
2022.04.12 -
22.04.10 전이학습의 유형
전이학습을 하는 이유 - 일부 기업 외엔 막대한 데이터셋을 구축하기가 어려움 - 양질의 데이터, 신뢰할 수 있는 데이터가 필요(ex. MS COCO) - 학습할 수 있는 Computing Power에는 한계가 있다. ( GPU의 성능 등 하드웨어적.. ) -> 그러므로 기존 학습된 모델을 이용할 수 있으면 도움이 된다. 전이학습의 유형 ( 이건 간단한 classfier 작업에 쓰이는 모델의 경우이다. 모델마다 다를 수 있다.) 첫 번째 단계 : 피쳐 추출기(Feature Extractor)와 분류기(classifier) 전부 사전학습된 모델과 동일한 것을 사용 -> 모델 파라미터(w,b)를 변형하지 않고 사용 = 문제가 거의 같을 때 사용 ex ImageNet 데이터로 학습된 모델을 개와 고양이를 분류하..
2022.04.10 -
22.03.31 Auto Encoder
Auto Encoder : input을 압축시켜 축소한 후 다시 확장하여 output을 input과 동일하게 만드는 일종의 DNN 모델 - 종류로 Stacked Auto Encoder, DAE(Denoising Auto Encoder), Variational Auto Encoder(VAE) 가 있다. - input을 일종의 label로 삼아 학습하므로 self-supervised learning이라고 부르기도 하지만, 어쩄거나 정답라벨(y)를 이용하지 않는다는 점에서 Unsupervisesd learning이라고 한다. Auto Encoder의 역할 - input을 압축시킴으로써 얻는 내재된(latent) 정보를 얻는다.(feature를 추출한다) - 양이 큰 데이터를 축소시켜 전달할 수도 있다. -> ..
2022.03.31 -
22.03.31 Word Embedding과 Word2Vec
Sparse 표현(희소 표현) : one-hot encoding 과 같이 벡터 또는 행렬의 값이 대부분 0으로 표현되는 방법 - 단점은 단어의 개수가 늘어나면 벡터의 차원도 그만큼 있어야 한다. [0,0,0,0,1,0,0] 만약 단어가 1만개면 길이가 1만이 되어야 함.(즉 1만차원이 되어야 함) -> 공간적 낭비를 불러일으킨다. - 고차원 - 그리고 단어 벡터 간 유의미한 유사성을 표현하기가 힘들다. Dense 표현(밀집 표현) : 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춘다. 꼭 0과 1만이 아닌 실수값을 가진다. 강아지 = [0,0,0,1,...] 기존의 one-hot encoding , 밀집 표현으로 하면? [0.2, 1.8, 1.1, -2, 2.8...] 단어가 1만개여도 길이..
2022.03.31 -
22.03.30 GAN(Generative Adversarial Network) - Cycle GAN 공부
목차 1. GAN이란 무엇일까 https://www.youtube.com/watch?v=odpjk7_tGY0 2. CycleGAN 총정리 http://www.kwangsiklee.com/2018/03/cyclegan%EC%9D%B4-%EB%AC%B4%EC%97%87%EC%9D%B8%EC%A7%80-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90/ * GAN이란 무엇일까 Unsupervised Learning : train data의 분포를 보고 image를 생성 확률분포 이미지는 더 많은 케이스(64x64x3)가 있어서 확률분포가 어렵게 생겼을 것임. 만약 이렇게 생겼다고 한다. 안경 낀 남자 금발 여자 (실제로는 x가 고차원벡터임) generative model이 하고자 하는 것 저 ..
2022.03.31