인공지능(AI)

    Pytorch에서 Multi GPU를 사용하는 방법(nn.DataParallel)

    Pytorch에서 Multi GPU를 사용하는 방법(nn.DataParallel)

    해당 게시글은 자연어처리 리뷰 모임인 집현전 팀의 고현웅님의 [Large-scal LM에 대한 얕고 넓은 지식들(part1)] 부분의 Data Parallelism 강의 영상을 기반으로 작성되었습니다. Intro. 딥러닝은 기본적으로 매트릭스 연산 기반이기 때문에 모델 학습 시 GPU 연산이 필수적입니다. 하지만 딥러닝 모델의 사이즈가 너무 크고 데이터 양도 많다면, GPU 하나로는 연산이 힘든 경우가 생깁니다. 이 경우 배치 사이즈가 클 경우 자주 나타나는 CUDA OUT OF MEMORY 에러가 뜨게 됩니다. 만약 여러 개의 GPU를 가지고 있다면, 우리는 여러 개의 GPU를 이용해 병렬 처리를 하여 이를 해결할 수 있습니다. Pytorch에서 이러한 기능을 편리하게 사용할 수 있는 모듈을 제공합니다..

    딥러닝 모델에서의 분산학습(Distributed Training)

    딥러닝 모델에서의 분산학습(Distributed Training)

    해당 게시글은 자연어처리 리뷰 모임인 집현전 팀의 고현웅님의 [Large-scal LM에 대한 얕고 넓은 지식들(part1)] 부분의 Parallelism: Theory and Practice 강의 영상을 기반으로 작성되었습니다. Intro. 딥러닝 모델에서는 학습 시 대용량의 모델 크기와 학습 데이터 때문에 여러 GPU에 나누어 연산하는 분산학습(Distributed Training)이 이루어져야 GPU를 최대한 활용하여 효율적으로 학습할 수 있습니다. 이러한 딥러닝 분산학습에는 학습 데이터를 여러 GPU에 나누어 학습하는 데이터 병렬화(Data Parallelism)와 모델을 여러 GPU에 나누는 모델 병렬화(Model Parallelism)와 입력 미니배치를 여러 GPU에 나누어 실행하는 파이프라인..

    [LM 평가지표] Perplexity, PPL

    유원준님의 딥러닝을 이용한 자연어 처리 입문의 펄플렉서티(Perplexity, PPL) 글을 요약한 게시글입니다 언어모델의 평가 방법(Evaluation metric of Language Model), Perplexity PPL은 문장의 길이로 정규화된 문장 확률의 역수로, 문장 W의 길이가 N이라고 했을 때, PPL은 아래와 같다 $PPL(W)=P(w_1,w_2, \cdots, w_N)^{-\frac{1}{N}} = \sqrt{\frac{1}{P(w_1,w_2, \cdots, w_N)}}^N$ 문장의 확률에 체인룰(chain rule)을 적용하면 아래와 같다 $PPL(W)=\sqrt{\frac{1}{P(w_1,w_2, \cdots, w_N)}}^N=\sqrt{\frac{1}{\Pi_{i=1}^N P(w..

    [패턴인식] 매칭

    [패턴인식] 매칭

    Matching 목차 0. PREVIEW 1. 매칭의 기초 2. 기하 정렬과 변환 추정 3. 웹과 모바일 응용 0. PREVIEW 매칭 어떤 대상을 다른 것과 비교하여 같은 것인지 알아내는 과정 여러가지 문제를 해결하는 열쇠(물체인식, 자세 추정, 스테레오, 증강 현실 등) 생각해 볼 점 거짓 긍정(False Positive)을 어떻게 찾아 배제할 것인가? 매칭 속도 두 영상의 특징점 개수가 m,n이고 특징 벡터의 차원이 d라면, 두 영상을 매칭하는데 $\theta(mnd)$시간 소요 실시간 처리가 가능할까? 1. 매칭의 기초 1.1 거리 척도 유클리디안 거리 vs. 마할라노비스 거리 유클리디안 거리(Euclidean Distance) 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법으로, 이 거리에 대응..

    [패턴인식] 특징 기술(2): 특징 기술자, 영역 기술자

    [패턴인식] 특징 기술(2): 특징 기술자, 영역 기술자

    Feature Describe 목차 0. PREVIEW 1. 특징 기술자의 조건 2. 관심점을 위한 기술자 3. 영역 기술자 4. 텍스쳐 5. 주성분 분석 6. 얼굴 인식: 고유 얼굴 는 이전 게시글을 참고해주세요 https://codingsmu.tistory.com/120 [패턴인식] 특징 기술(1): 특징 기술자, 영역 기술자 codingsmu.tistory.com 4. 텍스쳐 텍스처(Texture)란? 일정한 패턴의 반복 구조적 방법과 통계적 방법 텍스처(Texture) 특징 활용 위조 얼굴 검출(face anti-spoofing) 분야 4.1 전역 기술자 에지 기반 명암 히스토그램 기반 한계 지역적인 정보는 반영하지 못함 4.2 지역 관계 기술자 원리 화소 사이의 이웃 관계를 규정하고, 그들이 형..

    [패턴인식] 특징 기술(1): 특징 기술자, 영역 기술자

    [패턴인식] 특징 기술(1): 특징 기술자, 영역 기술자

    Feature Describe 목차 0. PREVIEW 1. 특징 기술자의 조건 2. 관심점을 위한 기술자 3. 영역 기술자 4. 텍스쳐 5. 주성분 분석 6. 얼굴 인식: 고유 얼굴 0. PREVIEW 앞 절에서 공부한 특징 검출 단계 에지, 지역특징,영역 매칭에 사용하기에 턱없이 빈약한 정보 풍부한 정보를 어떻게 추출할까? 특징 기술 단계는 검출된 특징의 내부 또는 주위를 들여다 보고 풍부한 정보를 추출 특징의 성질을 기술(Describe)해주므로 기술자(Descriptor), 또는 여러 개의 값으로 구성된 벡터 형태이므로 특징 벡터(Feature Vector)라고 부름 1. 특징 기술자의 조건 특징 기술자(Feature Descriptor) 특징을 일련의 숫자(벡토)로 표현한 것 특징 기술자를 통해..

    [패턴인식] 영상분할(2): 민시프트, 대화식 물체 분할

    [패턴인식] 영상분할(2): 민시프트, 대화식 물체 분할

    Image Segmentation 목차 0. PREVIEW 1. 영상 분할의 원리 2. 전통적 방법 3. 민시프트 4. 대화식 물체 분할 5. 알고리즘 선택 은 이전 게시글을 참고해주세요 https://codingsmu.tistory.com/117 [패턴인식] 영상분할(1): 영상 분할의 원리, 전통적 방 codingsmu.tistory.com 3. 민시프트 모드 탐색 샘플이 주어진 경우, 어떤 점이 속한 모드(봉우리를 찾는 문제) y의 모드는? 3.1 군집화 파젠 창(Parzen Window)을 이용한 확률분포 추정 h는 커널의 폭(클수록 많은 샘플이 창 안으로 들어와 매끄러운 함수가 생성됨) 차원의 저주 발생 차원이 커질수록 기하급수적으로 메모리와 계산 시간 증가 명시적으로 확률분포를 추정하려는 시도..

    [패턴인식] 영상분할(1): 영상 분할의 원리, 전통적 방법

    [패턴인식] 영상분할(1): 영상 분할의 원리, 전통적 방법

    Image Segmentation 목차 0. PREVIEW 1. 영상 분할의 원리 2. 전통적 방법 3. 민시프트 4. 대화식 물체 분할 5. 알고리즘 선택 0. PREVIEW 사람 뇌의 영상 분할 사람의 뇌는 다음과 같이 영상 분할 과정이 일어남 상자위에 쌓여있는 형형색색의 파프리카라고 해석하는 과정 동시에 상자, 파프리카, 가격표와 같이 의미 있는 영역으로 분할 즉, 분할과 인식이 동시에 일어남 컴퓨터 비전 현재는 분할 후 인식하는 순차 처리 동시 수행을 추구하는 연구도 있으나 초보 단계 가장 어려운 문제 중 하나 1. 영상 분할의 원리 분할의 정의 생각해 볼 점 적절한 분할이란? 저분할과 과분할 사람 vs. 컴퓨터 사람은 선택적 주의집중과 능동비전 기능을 가지며, 분할 과정에서 고급 지식 사용; 물..