계속지나가기
코딩스뮤
계속지나가기
전체 방문자
오늘
어제
  • 코딩스뮤:)
    • Algorithm
      • 백준 문제풀이
      • 프로그래머스 문제풀이
      • 알고리즘 이론
      • 자료구조
      • SW Expert Academy
    • 인공지능(AI)
      • LLMs
      • 자연어처리(NLP)
      • 컴퓨터비전(CV)
      • 딥러닝(DL)
      • 머신러닝(ML)
      • 인공지능기초수학
      • 선형대수학
    • 컴퓨터 세팅
    • Computer Science
      • 유닉스프로그래밍
      • 프로그래밍언어론
      • 디자인패턴
      • 클린코드
      • SW 영어
      • 리눅스
      • 논리회로
    • Server
      • Docker

블로그 메뉴

  • 홈
  • Who Am I(CV)
  • 태그

공지사항

인기 글

태그

  • DigitalImageProcessing
  • SIFT
  • 군집화
  • 언어모델
  • 손실함수
  • 파이썬 클린코드
  • 최대유량
  • machinelearning
  • 컴퓨터비전
  • 지도학습
  • 디지털이미지처리
  • ML
  • MaximumFlow
  • 알고리즘
  • 네트워크플로우
  • 비용함수
  • 결정경계
  • 패턴인식
  • 에지검출
  • DIP
  • 기계학습
  • f1-score
  • 비지도학습
  • 경사하강법
  • LM
  • networkflow
  • 머신러닝
  • NLP
  • 선형회귀
  • ComputerVision

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
계속지나가기

코딩스뮤

인공지능(AI)/자연어처리(NLP)

[LM 평가지표] Perplexity, PPL

2022. 2. 4. 16:49
반응형
유원준님의 딥러닝을 이용한 자연어 처리 입문의 펄플렉서티(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_i | w_1,w_2, \cdots, w_{i-1})}}^N$

 

여기에 n-gram을 적용해볼 수도 있는데, 아래는 bi-gram의 경우의 식이다

$PPL(W)=\sqrt{\frac{1}{\Pi_{i=1}^N P(w_i | w_{i-1})}}^N$

 

수식을 보면 알 수 있지만 PPL은 낮을 수록 언어 모델의 성능이 좋음을 의미한다

 

 

분기 계수(Branching Factor)


분기계수란  선택할 수 있는 가능한 경우의 수를 의미하는데, 즉 PPL 값은 대상 언어모델이 어떤 시점에서 평균적으로 몇 개의 선택지를 가졌는지를 의미한다.

 

예로, 특정 테스트셋에서 PPL=10이라면, 해당 언어 모델이 다음 단어를 예측하는 모든 시점(time step)마다 평균 10개의 단어를 가지고 어떤 것을 output값으로 낼 지 고민했다고 볼 수 있다

 

 

평가 지표로 PPL 사용시 주의할 점


단, PPL이 낮다는 것이 사람이 직접 느끼기에 좋은 언어모델이라는 것을 반드시 의미하지 않는다는 점을 주의하자. 

 

또한 언어 모델의 PPL은 테스트셋에 의존하므로, 두 개 이상의 언어모델 비교 시 정량적으로 양이 많고 학습 데이터와 동일한 도메인의 테스트 셋으로 사용해야 신뢰도가 높다

반응형

'인공지능(AI) > 자연어처리(NLP)' 카테고리의 다른 글

End-to-End Memory Networks, 엔드-투-엔드 메모리 네트워크  (0) 2022.08.18
Prompt-Based Learning, 프롬프트 기반 학습  (0) 2022.08.08
[NLP] 워드투벡터(Word2Vec)  (2) 2021.10.13
[NLP] 단어 표현 방법(Word Representation)  (0) 2021.10.13
[NLP] 단어 표현 방법 : Bag-of-Word Model(Bow)  (0) 2021.10.13
    '인공지능(AI)/자연어처리(NLP)' 카테고리의 다른 글
    • End-to-End Memory Networks, 엔드-투-엔드 메모리 네트워크
    • Prompt-Based Learning, 프롬프트 기반 학습
    • [NLP] 워드투벡터(Word2Vec)
    • [NLP] 단어 표현 방법(Word Representation)
    계속지나가기
    계속지나가기
    NLP Engineer

    티스토리툴바