Data Science/Data Analysis
LogSumExp trick
최근 수업 중 custom loss를 구현하는 과제에서 알게 된 trick인데 softmax 연산을 수행할 때 내부적으로 overflow나 underflow를 방지하기 위한 방법으로 이 방식을 사용한다고 한다. 이름에 나오듯 Log와 Summation 그리고 Exponential을 이용한 트릭이다. exp를 기존 방식대로 계산해보면 아래와 같이 overflow가 발생하게 된다. import numpy as npx = np.array([1000, 1000, 1000])print(np.exp(x))# [inf inf inf] x와 같은 logit(입력값)을 구해 softmax 연산을 위해 적용하였을 때 overflow가 발생하게 되고 이는 결국 loss가 발산하거나 backpropagation이 실패하는 결..