saurus2
Saurus2
saurus2
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발
      • AJAX
    • ML Ops
    • Profile
    • 음식점
    • 배낭여행
    • 컴퓨터공학
      • 알고리즘 공부
      • C++
      • Sever 스터디
      • Java spring
      • 알고리즘 _ 문제해결
      • 딥러닝
      • Java 정리
      • Python
      • LeetCode 1000
      • Machine Learning Study
      • Sign language Detection Pro..
      • LeetCode Solutions
    • 비콘
    • 데일리 리포트
    • 유학일기
      • 영어 공부
      • Daily
    • AI Master Degree
      • Data Mining
      • AI and Data engineering
      • Math Foundations for Decisi..
      • Natural Language Processing

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 문제해결능력
  • c++
  • 취업준비
  • 파이썬
  • BFS
  • 알고리즘문제해결
  • 딕셔너리
  • 알고리즘
  • 개발자 취업준비
  • 온라인저지
  • two pointer
  • 백준
  • 딥러닝
  • 릿코드
  • LeetCode
  • DFS
  • Python
  • 취준
  • 개발자
  • 리트코드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
saurus2

Saurus2

Model Evaluation란? 모델 평가란?
AI Master Degree/Natural Language Processing

Model Evaluation란? 모델 평가란?

2022. 10. 8. 09:48

Machine Learning Model Evaluation 에 대한 일반적인 접근법

  • Training Set 는 모델을 훈련하는데 사용
  • Dev Set 는 Cadidate 모델과 Model parameters 를 평가해서 가장 좋은 것을 선택할때 사용
  • Test Set 는 알고리즘이 fine-tuned (미세 조정) 된 이후에 모델을 테스트하는 것에만 사용
    • 훈련 되지 않은 Test set 을 사용하면 모델이 Unseen data 들을 생성시킬 수 있다.

평가의 종류

  1. Intrinsic Evaluation 고유 평가
    • 다양한 Performance Metrics 와 독립적인 특정 어플리케이션을 기반으로 모델을 평가한다.
    • 예시: 두 개의 서로 다른 언어 모델이 테스트 세트에 얼마나 적합한지 측정
      (테스트 세트에 더 높은 확률을 할당하는 모델이 더 적합함을 나타냄)
  2. Extrinsic or end-to-end Evaluation 외부 및 엔드 투 엔드 평가
    • 모델이 포함된 전체 응용 프로그램이 얼마나 잘 수행되는지 평가 
    • 예시: 두 개의 다른 언어 모델을 사용하여 Speech Transcriber (음성 변환기) 를 비교

Perplexity (복잡성)

  • Perplexity (PP) 는 언어 모델을 평가하는 데 일반적으로 사용되는 확률 기반 Metric.
  • PP 값은 단어 수로 정규화된 검정 세트의 Inverse (역/반대) 의 확률 Probability.
  • 예시: PP for test set 
  • W = w1, w2, ..., wn
  • 체인 룰을 적용할 수 있다.
  • Perplexity 값은 낮을수록 좋다. 
  • Test Set 의 확률이 높을수록 PP 값이 낮음을 의미한다. 
  • PP 는 언어의 Weighted Average Branching factor 가중 평균 분기 인자로 생각할 수 있다.
    • 단어 뒤에 올 수 있는 단어의 개수
    • Branching factor 가 높을수록 언어 예측 가능성이 낮아지며, 즉 다음 단어가 무엇이어야 하는지에 대한 불확실성이 더 크다.
    • Trigram 모델은 Bigram 모델보다 정보가 더 많고 불확실성이 적다.
  • 두 언어 모델의 Perlexity 은 동일한 어휘를 사용하는 경우에만 비교가능하다.

언어 모델에서의 샘플링

  • 모델이 학습한 내용이 타당한지 랜덤 샘플을 추출하고 결과를 검사한다.
  • 더 많은 가능성이 있는 Phrases 구들이 더 자주 샘플링되며, 모델이 그것을 더 가능성이 높다고 간주하는 문장을 생성할 것이다.

언어 모델의 과제

  • 단어의 일부 Sequence 시퀀스가 특정 Corpus 말뭉치에서 누락되거나 매우 infrequent (희소한/Sparsity) 한 경우
    • 이 상황은 모델의 확률이 낮거나 0 으로 할당 될때 테스트 세트의 합리적인 Sequence 로 이어진다.
  • 어휘 안의 몇몇 단어들은 심지어 Training set 에서 잃어 버릴 수 있다. (Unknown words 혹은 Out of Vocabulary(OOV))

Unknown words란?

  • Unknown words 알 수 없는 단어들을 특수한 Token 을 할당하여 모델링할 수 있다. 
    • e.g. <UNK>
  • <UNK> 토큰은 확률 계산 측면에서 다른 토큰과 동일하게 다뤄진다.
  • <UNK> 는 사용할 어휘 크기를 제한하기 위해 (계산 요구사항을 줄이기 위해) 데이터 세트의 단어를 마스킹하는데 사용.
    • Trade-off - Accuracy VS Compute requirement 

Smoothing 이란? & Discounting 이란?

  1. Test Set 에서 Unseen (보이지 않는) 문자열들이나 이벤트들에 0 의 확률을 할당하지 않도록 하는 방법
    • 빈번한 이벤트에서 보이지 않는 이벤트로 확률 질량의 일부를 재할당한다. 
  2. 기본 접근법
    • Laplace Smoothing (add 1 smoothing)
        • 예를 들어, Smoothing 은 각 단어에 적용되어 각 단어에 최소 1의 카운트가 있는지 확인한다.
        • Unseen event 의 최소 카운트는 0 에서 1 로 조정된다.
      • N - 단어 토큰 수, V = 추가 Observations, 각각 단어당 한개
      • 하지만 Laplace Smoothing 은 보이지 않는 이벤트를 변환시키는데 너무 공격적이며, 일반적으로 더 이상 사용하지 않는다. 

Backoff 란?

  • 특정 값 n 확률을 정확하게 계산할 수 있는 예제가 충분하지 않은 경우 낮은 차수의 n-gram 사용
    • 예시: Bigram 을 사용하여 Trigram 확률을 추정

Interpolation 이란?

  • 낮은 차수의 n-gram 의 모든 확률을 목표 값에 대한 n-gram 과 함께 가중 평균으로 결합한다. 
    • 예시: Trigram 모델의 경우, 가중치 계수를 최대 1 로 Lambda 1, Lambda 2, Lambda 3 을 사용한다. 

  • Lambda 파라미터는 Dev set 를 기반으로 추정될 수 있다. 

Context-Based Interpolation 이란?

  • 각각의 특정 n-gram 에 대해 Lambda 파라미터를 계산한다.

Absolute Discounting 이란?

  • 각 카운트에서 고정 (absolute) 수량 (discount d) 를 뺀다. 
    • Discount d 를 계산하는 방법
      • 실험을 통해서 뺀다.
      • Bigram 에서는 0.75 를 많이 사용하는 것으로 밝혀졌다. 
  • Discount 된 낮은 차수의 n-gram 추가 (Context-based interpolation) 
    • Original Bigram Model
    • Bigram Model with Absolute Discounting

Kneser-ney Smoothing 이란?

  • Absolute Discounting 을 사용
  • 단어의 계속적인 새로움을 사용 - 새로운 Context 에 한 단어가 나타날 가능성
    • 예시
    • "glasses" 가 "Kong" 보다 새로운 Context 에서 나타날 가능성이 더 높다.
    • Bigrams 의 유형의 수

대규모 언어 모델을 위한 문제점

  • 지금까지 언급한 모든 상세한 Smoothing 을 적용하는 것은 계산적으로 불가능하다.
      • 대신 'Stupid Backoff' 라는 알고리즘을 사용
      • 데이터 집합에 있는 n-gram 에 대한 사용 수
      • 존재하지 않는 경우, 낮은 차수의 n-gram 으로 이동하고 Discount Weight Lambda = 0.4 사용

Entropy 란?

  • 엔트로피는 정보의 척도이다. 
  • 정보 이론에서 엔트로피는 정보 또는 메시지를 인코딩하는 데 필요한 최소 비트 수 이다.
  • 임의 변수 X 의 엔트로피 (H) 는 다음과 같이 정의된다.
    • X 값의 범위는 언어의 단어 집합 또는 문자 집합 등이다.
  • n 단어들의 모든 유한 시퀀스는 다음과 같이 계산할 수 있다.
  • 단어당 엔트로피는 다음과 같이 표현된다. 
  • 언어의 엔트로피는 무한 시퀀스가 가능하다고 가정한다. 
  • 몇 가지 가정은 다음과 같이 식을 단순화 할 수 있다. 

Cross-Entropy 크로스 엔트로피란?

  • 일부 데이터를 생성하는 데 사용되는 확률 분포를 모를 때 사용
  • p 모델의 m 확률 분포를 사용한다.
  • 동일한 단순화를 통해 다음과 같은 이점을 얻을 수 있다. 
  • 가능한 모든 시퀀스 대신 하나의 길고 충분한 시퀀스에 대한 엔트로피를 계산하여 p 모델에서의 m 분포에서 교차 엔트로피를 추정할 수 있다. 
  • 모든 모델 m 에 대해 다음 사항이 성립된다.
  • Cross entropy H(p, m) 이 낮을 수록 H(p) 에 가깝기 때문에 m 은 p 를 더 정확하게 나타낸다.
  • 두가지 모델 m1 과 m2 를 가지고 있을 때, 더 정확한 모델은 더 낮은 교차 엔트로피를 가질 것이다. 
  • 단어 W 에 대해 계산한 Perplexity 와 엔트로피 사이에는 다음과 같은 관계가 있다
    •  

 

저작자표시 (새창열림)

'AI Master Degree > Natural Language Processing' 카테고리의 다른 글

WORD AND DOCUMENT EMBEDDINGS 단어와 문서 임베딩이란?  (0) 2022.10.09
Naive Bayes & Classification 이란?  (1) 2022.10.08
N-Gram language models 이란? 엔 그램 언어 모델들이란?  (2) 2022.10.07
Text normalization 이란? 텍스트 정규화란?  (0) 2022.10.06
Words 에 대해서?  (0) 2022.10.06
    'AI Master Degree/Natural Language Processing' 카테고리의 다른 글
    • WORD AND DOCUMENT EMBEDDINGS 단어와 문서 임베딩이란?
    • Naive Bayes & Classification 이란?
    • N-Gram language models 이란? 엔 그램 언어 모델들이란?
    • Text normalization 이란? 텍스트 정규화란?
    saurus2
    saurus2
    Simple is Best

    티스토리툴바