위키득계정 ↗
기술

로그섬엑스프

로그섬엑스프기술
영문명
Log-sum-exp
약칭
LSE
정의
L(z) = ln(Σexp(zᵢ))
수치적 계산
최댓값을 분리해 지수 크기 조절
로그섬엑스프는 여러 값의 지수를 더한 뒤 자연로그를 취하는 함수다. L(z)=ln(Σexp(zᵢ))로 정의하며 큰 지수를 직접 만들지 않는 계산에 사용한다. 각 입력에 로그를 취한 값을 단순히 더하는 연산과 다르다.

연산 순서를 구분하기

입력이 0과 ln 4이면 지수값은 1과 4이므로 로그섬엑스프는 ln 5다. 입력의 합 ln 4와는 다르다. 지수의 합을 구하는 위치가 중요하다.

최댓값을 밖으로 빼기

m=max zᵢ라 두면 L(z)=m+ln(Σexp(zᵢ-m))다. 모든 지수의 입력이 0 이하가 되어 큰 양의 지수를 직접 계산하는 일을 피할 수 있다. 예를 들어 입력 (1002,1001)에서는 1002+ln(1+exp(-1))로 계산하며 결과는 약 1002.31326이다.

최댓값과의 관계

입력이 n개이고 m이 최댓값이면 이동된 지수 합은 1 이상 n 이하다. 따라서 m ≤ L(z) ≤ m+ln n이다. 모든 입력이 m으로 같으면 상한에 도달한다. 입력이 두 개이고 둘 다 7이면 값은 7+ln 2이지 7이 아니다.

확률의 로그를 계산하기

pⱼ=exp(zⱼ)/Σexp(zᵢ)인 소프트맥스의 로그는 zⱼ-L(z)다. 입력 (0,ln 4)에서는 로그 확률이 각각 -ln 5와 ln 4-ln 5가 된다. 먼저 매우 작은 확률을 만든 뒤 로그를 취하는 대신 점수와 로그 정규화 항을 직접 다룰 수 있다.

관련 문서

소프트맥스 / 지수함수 / 자연로그 / 로그 손실 / 로지스틱 회귀 / 부동소수점 / 확률