Transformers — Compute Attention By Hand
Quiz: Cross Entropy and Perplexity
한국어 원문으로 표시합니다.
소프트맥스로 확률을 먼저 구한 뒤 로그를 취하면 무엇이 무너지는가?
- 큰 로짓에서 exp 가 넘쳐 결과가 inf 가 된다
- 확률의 합이 1 에서 조금씩 벗어나 분포가 깨진다
- 아주 작은 확률이 0.0 이 되어 그 로그가 -inf 가 된다
- 정답 토큰의 순위가 바뀌어 다른 토큰이 뽑힌다
어휘 크기가 32000 인 모델이 아무것도 배우지 못했다면 퍼플렉시티는 얼마에 가까운가?
- 32000 — 균등 분포의 퍼플렉시티가 어휘 크기다
- 1 — 손실이 0 이라 지수도 1 이 된다
- 0 — 아무것도 못 맞히므로 바닥이다
- log 32000 — 퍼플렉시티는 로그 눈금이다
자리 t 의 로짓으로 자리 t 의 토큰을 맞히도록 손실을 쟀다. 어떤 일이 벌어지는가?
- 예외가 나서 학습이 첫 배치에서 멈춘다
- 손실이 정확히 두 배가 되어 곧바로 눈에 띈다
- 패딩 자리만 어긋나고 나머지는 그대로다
- 오류 없이 손실만 나빠져 며칠 동안 모른다
패딩 자리를 손실에서 뺄 때 흔히 빠뜨리는 것은?
- 패딩 토큰의 번호를 어휘에서 지우는 것
- 더하는 쪽만 빼고 나누는 분모를 그대로 두는 것
- 패딩 자리의 로짓을 0 으로 채우는 것
- 패딩이 있는 문장을 배치에서 제외하는 것
자연로그로 잰 손실이 1.5566 일 때 비트/토큰과 퍼플렉시티의 관계로 맞는 것은?
- 비트는 손실에 ln 2 를 곱한 값이고 퍼플렉시티와는 무관하다
- 비트는 손실을 2 로 나눈 값이고 퍼플렉시티는 그 두 배다
- 비트는 손실을 ln 2 로 나눈 값이고 2 를 그만큼 거듭제곱하면 퍼플렉시티다
- 비트와 퍼플렉시티는 밑이 달라 서로 옮길 수 없는 값이다
퍼플렉시티를 exp(평균 손실) 대신 자리마다 exp 를 취해 평균 낸 코드가 있다. 왜 잘 안 드러나는가?
- 균등 분포에서는 두 계산이 같은 값을 내기 때문이다
- 두 계산은 수학적으로 언제나 같은 값이기 때문이다
- 값이 달라도 소수점 아래에서만 갈리기 때문이다
- 손실이 작으면 exp 가 선형이라 차이가 사라지기 때문이다