맨위로가기

퍼플렉시티

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

퍼플렉시티(perplexity)는 정보 이론, 기계 학습, 통계 모델링에서 사용되는 개념으로, 확률 분포 또는 확률 모델이 얼마나 잘 데이터를 예측하는지를 평가하는 척도이다. 확률 분포의 퍼플렉시티는 엔트로피의 지수화로 정의되며, 가능한 결과의 불확실성을 나타낸다. 확률 모델의 퍼플렉시티는 테스트 샘플에 대한 모델의 우도를 기반으로 계산되며, 낮을수록 모델의 성능이 좋다. 자연어 처리 분야에서는 토큰당 퍼플렉시티를 사용하여 언어 모델의 성능을 평가하며, 최근 딥 러닝 기술의 발전으로 트랜스포머 모델과 같은 대규모 언어 모델의 퍼플렉시티가 크게 개선되었다.

더 읽어볼만한 페이지

  • 언어 모델 - 환각 (인공지능)
    인공지능 환각은 인공지능이 사실이 아닌 정보를 사실처럼 생성하는 현상으로, 대규모 언어 모델의 부정확한 정보 생성 문제를 설명하기 위해 사용되며, 데이터 불일치, 모델 오류, 훈련 데이터 부족 등이 원인으로 발생하여 다양한 완화 기술이 연구되고 있다.
  • 언어 모델 - N-그램
    N-그램은 텍스트나 음성 데이터에서 나타나는 n개의 항목 시퀀스로, 언어 모델링, 텍스트 분석, DNA 서열 분석 등에서 데이터의 특성을 파악하고 예측하는 데 활용된다.
  • 정보 엔트로피 - 최대 엔트로피 원리
    최대 엔트로피 원리는 주어진 제약 조건에서 정보 엔트로피를 최대화하는 확률 분포를 선택하는 원리로, 불완전한 정보나 불확실성 하에서 시스템의 확률 분포를 추정하거나 최적의 결정을 내리는 데 활용되며 다양한 분야에 응용된다.
  • 정보 엔트로피 - 교차 엔트로피
    교차 엔트로피는 동일한 이벤트 공간에서 정의된 두 확률 분포 간의 차이를 측정하는 척도로, 한 확률 분포 p에 대해 다른 확률 분포 q를 사용하여 특정 사건을 식별하는 데 필요한 평균 비트 수를 나타내며, 기계 학습에서 손실 함수를 정의하고 분류 문제에서 모델 성능 평가 및 개선에 활용된다.
퍼플렉시티

2. 확률 분포의 퍼플렉시티

이산 확률 분포 ''p''의 퍼플렉시티(Perplexity, PP)는 정보 이론, 기계 학습, 통계적 모델링에서 사용되는 척도이다.[1][2] 퍼플렉시티는 다음과 같이 정의된다.[1][2]

:\mathit{PP}(p) := 2^{H(p)}=2^{-\sum_x p(x)\log_2 p(x)}=\prod_x p(x)^{-p(x)}

여기서 ''H''(''p'')는 분포의 엔트로피(비트 단위)이며, ''x''는 사건의 범위를 나타낸다.[1][2] 로그의 밑은 꼭 2일 필요는 없다.[1][2] 엔트로피 계산과 지수 계산에 동일한 밑을 사용한다면, 퍼플렉시티 값은 밑의 종류와 관계없이 일정하다.[1][2] 어떤 분야에서는 이 척도를 '차수 1의 진정한 다양성'이라고 부르기도 한다.[1][2]

확률 변수 ''X''의 퍼플렉시티는 그 변수가 가질 수 있는 값 ''x''들의 분포에 대한 퍼플렉시티로 정의할 수 있다.[2][3] 이는 결과에 대한 불확실성 또는 "놀람"의 정도를 나타내는 척도로 생각할 수 있다.[2]

예를 들어, 공정한 ''k''면 주사위처럼 정확히 ''k''개의 결과가 각각 ''1/k''의 확률을 가지고 다른 모든 결과의 확률이 0인 확률 분포 ''p''가 있다고 가정해 보자.[2][3] 이 분포의 퍼플렉시티는 정확히 ''k''이다.[2][3] 이는 분포가 ''k''개의 각 결과가 동일하게 나올 가능성이 있는 공정한 ''k''면 주사위를 모델링하기 때문이다.[2] 이 경우 퍼플렉시티 ''k''는 공정한 ''k''면 주사위를 굴릴 때와 동일한 수준의 불확실성이 있음을 의미한다.[2] 확률 변수가 ''k''개보다 많은 결과를 가질 수 있더라도, 분포가 ''k''개의 결과에 걸쳐 균일하고 나머지는 확률이 0이라면 퍼플렉시티는 여전히 ''k''가 된다.[2] 따라서 퍼플렉시티가 ''k''인 확률 변수는 "k-ways perplexed|k점 퍼플렉스영어"라고 표현할 수 있으며, 이는 공정한 ''k''면 주사위와 같은 수준의 불확실성을 가진다는 뜻이다.[2][3]

퍼플렉시티는 예측 문제의 어려움을 측정하는 데 사용되기도 한다.[2][3] 하지만 이것이 항상 예측의 성공 확률을 직접적으로 나타내는 것은 아니다.[2][3] 예를 들어, 두 가지 선택지 중 하나의 확률이 0.9라고 가정해 보자.[2][3] 최적의 전략을 사용하면 정답을 맞힐 확률은 90%이다.[2][3] 그러나 이 경우 퍼플렉시티는 2^{-0.9 \log_2{0.9} -{0.1} \log_2{0.1}} \approx 1.38이다.[2][3] 퍼플렉시티의 역수(1/1.38 ≈ 0.72)는 정답 확률 0.9와 일치하지 않는다.[2][3]

퍼플렉시티는 엔트로피를 지수화한 값이다.[2][3] 엔트로피는 확률 변수의 결과를 최적의 가변 길이 부호를 사용하여 부호화할 때 필요한 평균 비트 수를 나타내는 더 직접적인 척도이다.[2][3] 또한, 확률 변수의 결과를 알게 됨으로써 얻는 평균적인 정보 이득으로도 해석될 수 있으며, 이는 해당 확률 분포의 불확실성과 복잡성을 보여준다.[2][3]

3. 확률 모델의 퍼플렉시티

알 수 없는 확률 분포 ''p''를 모델링하기 위해, ''p''에서 추출된 훈련 샘플을 기반으로 확률 모델 ''q''를 제안할 수 있다. 이 모델 ''q''의 성능은, ''p''에서 추출된 별도의 테스트 샘플 ''x''1, ''x''2, ..., ''xN''을 얼마나 잘 예측하는지로 평가한다. 모델 ''q''의 퍼플렉시티(Perplexity)는 다음과 같이 정의된다.

:b^{- \frac{1}{N} \sum_{i=1}^N \log_b q(x_i)} = \left(\prod_i q(x_i) \right)^{-1/N}

여기서 b는 보통 2를 사용한다. 더 좋은 모델 ''q''는 테스트 샘플의 각 이벤트 ''xi''에 더 높은 확률 ''q''(''xi'')를 할당하는 경향이 있다. 따라서 좋은 모델일수록 테스트 샘플에 대해 덜 "놀라게" 되며, 결과적으로 퍼플렉시티 값이 낮아진다. 이는 더 나은 모델이 테스트 데이터에 대해 더 높은 우도를 갖는다는 의미와 같다.

퍼플렉시티 정의 식의 지수 부분 - \tfrac{1}{N} \sum_{i=1}^N \log_b q(x_i)는 여러 방식으로 해석될 수 있다.

첫째, 이는 모델 ''q''에 기반한 최적의 압축 코드를 사용할 경우, 테스트 샘플의 이벤트 ''xi'' 하나를 표현하는 데 필요한 평균 비트 수로 볼 수 있다. 퍼플렉시티가 낮은 모델은 테스트 샘플을 더 효과적으로 압축할 수 있는데, 이는 ''q''(''xi'')가 높을수록 평균적으로 각 테스트 요소를 인코딩하는 데 더 적은 비트가 필요하기 때문이다.

둘째, 이 지수는 교차 엔트로피로도 해석될 수 있다.

:H(\tilde{p},q) = -\sum_x \tilde{p}(x) \log_b q(x)

여기서 \tilde{p}는 테스트 샘플의 경험적 분포를 나타낸다. 즉, 크기가 ''N''인 테스트 샘플에서 특정 값 ''x''가 ''n''번 나타났다면 \tilde{p}(x) = n/N이다.

쿨백-라이블러 발산의 정의에 따르면, 교차 엔트로피 H(\tilde{p},q)H(\tilde p) + D_{KL}(\tilde p \| q)와 같다. 여기서 H(\tilde p)는 경험적 분포의 엔트로피이고 D_{KL}(\tilde p \| q)\tilde pq 사이의 KL 발산이다. KL 발산은 항상 0 이상이므로(D_{KL}(\tilde p \| q) \ge 0), 교차 엔트로피는 H(\tilde p)보다 크거나 같다(H(\tilde{p},q) \ge H(\tilde p)). 따라서 퍼플렉시티는 모델 ''q''가 테스트 샘플의 경험적 분포 \tilde p와 같을 때, 즉 q = \tilde p일 때 최소값을 갖는다.

4. 토큰당 퍼플렉시티

자연어 처리(NLP) 분야에서 '''코퍼스'''는 텍스트나 문서의 구조화된 모음을 의미하며, '''언어 모델'''은 텍스트 전체 또는 문서에 대한 확률 분포이다. 이 분야에서는 모델의 성능을 평가하기 위해 텍스트의 길이로 정규화한 '''토큰당 퍼플렉시티'''(perplexity per token)라는 척도를 더 일반적으로 사용한다. 여기서 토큰은 단어 또는 더 자주 사용되는 하위 단어(subword)를 의미할 수 있다.

토큰당 퍼플렉시티는 코퍼스 s_1, ..., s_nn개의 문서와 총 N개의 토큰이 있을 때, 언어 모델 q에 대해 다음과 같이 정의된다:

\left(\prod_{i=1}^n q(s_i) \right)^{-1/N}

이 척도는 텍스트의 길이(N)로 전체 퍼플렉시티를 정규화하기 때문에, 길이가 다른 텍스트나 서로 다른 모델 간의 성능을 비교하는 데 유용하다.

예를 들어, 어떤 언어 모델이 특정 코퍼스의 평균적인 텍스트 ''xi''에 대해 2^{-190}의 확률을 부여한다고 가정해 보자. 이는 모델의 퍼플렉시티가 텍스트당 2190임을 의미한다. 그러나 NLP에서는 일반적으로 텍스트의 길이로 정규화한다. 만약 테스트 샘플의 길이가 1,000개의 토큰이고, 이를 토큰당 평균 7.95 비트로 부호화할 수 있다면, 모델의 토큰당 퍼플렉시티는 27.95 ≈ 247로 계산된다. 이는 모델이 테스트 데이터의 각 토큰을 예측할 때 평균적으로 247개의 가능한 선택지 중에서 하나를 고르는 것과 같은 수준의 불확실성을 가진다는 의미이다.

언어 모델의 성능을 평가하는 또 다른 표준 지표로는 단어 오류율(Word Error Rate, WER)이 있다. WER은 주로 음성 인식 작업에서 사용되며, 잘못 인식된 단어(삭제, 삽입, 대체)의 비율을 측정한다. 반면, 토큰당 퍼플렉시티는 제안된 모델 ''m''이 실제 데이터의 분포 ''p''와 얼마나 유사한지를 평가하는 정보 이론적 척도이다. 이는 테스트 세트 ''T''에 대한 모델의 (기하) 평균 확률의 역수로 계산할 수 있으며, 수식은 다음과 같다.

PPL(T) = \sqrt[N]{\frac{1}{m(T)}} = 2^{-\frac{1}{N} \log_2\big(m(T)\big)}

여기서 ''N''은 테스트 세트 ''T''의 총 토큰 수이다. 이 식은 교차 엔트로피 H(p;m) = -\frac{1}{N} \log_2\big(m(T)\big)를 지수화한 값으로 볼 수 있다.

4. 1. 브라운 코퍼스

1992년 기준으로, 다양한 주제와 장르의 미국 영어 100만 단어로 구성된 브라운 코퍼스에 대해 발표된 가장 낮은 퍼플렉시티는 단어/토큰당 약 247이었다.[5][8] 이는 트라이그램 모델과 같은 n-그램 모델을 사용하여 얻은 결과로, 교차 엔트로피로는 log2247 ≈ 7.95 비트/단어 또는 1.75 비트/문자에 해당한다.[5][8] 당시 이 수치는 최고 수준(SOTA)으로 평가받았으나, 이후 딥 러닝과 같은 기술의 발전으로 퍼플렉시티는 크게 개선되었다.[6]

브라운 코퍼스의 다음 단어를 단순히 "the"라고 추측하는 유니그램 통계 기반의 예측은 7%의 정확도를 보인다.[7] 이는 퍼플렉시티 247을 기반으로 단순 계산한 예측 확률 1/247 ≈ 0.4%와는 상당한 차이가 있는데,[7] 이러한 차이는 퍼플렉시티 계산에 사용된 통계 모델(트라이그램)과 단순 추측에 사용된 모델(유니그램)의 정교함 차이에서 비롯된다. 즉, 더 정교한 트라이그램 모델을 활용하면 예측 정확도가 더 높아짐을 의미한다.[7]

4. 2. 최근 언어 모델의 발전

2007년 이후, 특히 딥 러닝 기술의 등장과 함께 언어 모델링 분야는 눈에 띄게 발전했다. 언어 모델의 예측 능력을 수치로 나타내는 지표인 토큰당 퍼플렉시티는 구글의 BERT나 OpenAI의 GPT-4와 같은 주요 트랜스포머 모델 및 다른 대규모 언어 모델(LLM)들을 평가하는 데 핵심적인 역할을 해왔다.

이 지표는 동일한 데이터 세트에서 여러 모델의 성능을 비교하고 하이퍼파라미터를 최적화하는 데 유용하게 사용되었지만, 언어적 특징이나 문장의 길이에 따라 민감하게 변동하는 특성이 있다는 점이 밝혀졌다.[2]

퍼플렉시티는 언어 모델 개발에 중요한 역할을 하지만, 음성 인식 성능을 예측하거나 과적합 및 일반화 오류를 제대로 예측하지 못하는 등 몇 가지 한계를 보여주었다.[3][4] 이로 인해 단순히 퍼플렉시티 값만을 낮추는 것을 목표로 하는 최적화 방식의 실효성에 대한 의문이 제기되고 있다.

참조

[1] 논문 Perplexity—a measure of the difficulty of speech recognition tasks 1977
[2] 간행물 What Makes My Model Perplexed? A Linguistic Investigation on Neural Language Models Perplexity https://aclanthology[...] 2023-08-24
[3] 논문 Testing the correlation of word error rate and perplexity https://doi.org/10.1[...] 2002
[4] 논문 Evaluation Metrics For Language Models https://doi.org/10.1[...] 2018
[5] 논문 An Estimate of an Upper Bound for the Entropy of English https://www.cs.cmu.e[...] 2007-02-07
[6] 문서 Exploring the limits of language modeling https://arxiv.org/ab[...] 2016
[7] 문서 On the predictive power of neural language models for human real-time comprehension behavior https://arxiv.org/ab[...] 2020
[8] 논문 An Estimate of an Upper Bound for the Entropy of English https://www.cs.cmu.e[...] 2007-02-07
[9] 논문 Perplexity—a measure of the difficulty of speech recognition tasks https://doi.org/10.1[...] 1977



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com