인공지능(AI)

    Few-shot Learning, 퓨샷 러닝

    Few-shot Learning, 퓨샷 러닝

    Few-shot Learning이란? 훈련 데이터(train data)의 수가 매우 제한적인 상황에서 모델을 개발하려는 기술 혹은 알고리즘을 의미합니다. 즉, 상대적으로 적은 훈련 데이터에서도 새로운 입력 값으로 주어지는 데이터(unseen data)를 잘 인식하고 분류하고자 하는 것입니다. 매우 많은 데이터로 모델을 구축하는 전통적인 인공지능 트랜드와는 달리, 매우 적은 데이터에서도 모델을 잘 구축하는 것이 핵심이라고 할 수 있습니다. 등장 배경 학습 데이터가 적은 상황에서는 딥러닝 모델의 구축 자체에 어려움이 있었고, 몇 장의 사진만을 보고 직관적으로 분류할 수 있는 사람과는 달리 인공지능 모델은 적게는 수천 개, 많게는 몇 십만 개에 달하는 사진이 필요했습니다. 이에 인공지능 개발자들은 소량의 데이..

    Prompt-Based Learning, 프롬프트 기반 학습

    Prompt-Based Learning, 프롬프트 기반 학습

    해당 강의노트는 Vilhelm Gustavsson님의 [Prompt-based Learning: A paradigm shift in NLP]를 참고하여 작성됐습니다. Prompt-Based Learning이란? 모델에 들어가는 입력 데이터(input data)를 사람이 읽을 수 있는 설명(human readable instructions)으로 잘 작성된 텍스트와 연결하여 수정하게 되는데 이 때 만들어지는 텍스트를 프롬프트(prompt)라고 합니다. 프롬프트는 task-specific하게 훈련되지 않아도 사전학습 언어모델(PLM, Pre-trained Lanugage model)이 새로운 테스크(e.g. 질의응답, 기계번역 등)에 대해서 잘 수행되도록 합니다. 즉, 단지 자연어로 모델이 어떤 일을 수행해야..

    앙상블(Ensemble) 기법

    앙상블(Ensemble) 기법

    Intro. 앙상블(Ensemble) 기법이란 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법을 말합니다. 이는 강력한 하나의 모델을 사용하는 대신, 보다 약한 모델 여러 개를 조합하여 더 정확한 예측에 도움을 주는 방식입니다. 앙상블 기법은 일반적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세 가지 유형으로 나눌 수 있습니다. 보팅(Voting) 보팅이라는 표현에서 알 수 있듯이, 서로 다른 알고리즘을 가진 분류기 중 투표를 통해 최종 예측 결과를 결정하는 방식입니다. 알고리즘에는 흔히 알고 있는 결정 트리(Decision tree)나 KNN(K-Nearest Neighbor), 로지스틱(Logistic) 같은 걸 의미합니다. 보팅은 ..

    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(w1,w2,,wN)1N=1P(w1,w2,,wN)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라면, 두 영상을 매칭하는데 θ(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 지역 관계 기술자 원리 화소 사이의 이웃 관계를 규정하고, 그들이 형..