Open Ssunbell opened 1 year ago
오, 몰랐던 사실이네요. 덕분에 Temperature 용어의 어원에 대해 배워갑니다 !!
좋은 제안이지만 원문에서 "Boltzmann"을 언급하지 않는다면, 그냥 "온도"로 번역하는 게 낫다고 생각합니다. 최근 AI 논문들도 "Temperature" 용어를 사용할 때 앞에 "Boltzmann"을 붙이지 않는 것으로 알고 있습니다.
대신 문서에 짤막한 Note 형태로 해당 용어의 어원에 대해 언급하거나, https://discuss.pytorch.kr/ 커뮤니티에 공유해주시면 더 많은 사람들이 알 수 있을 것 같아요 !!
이슈 내용
softmax layer에서 사용하는 Temperature 파라미터는 생성 모델 등에서도 쓰이는 hyper parmeter입니다. 그러나 딥러닝을 공부할 때 단순히 받아들여지는 느낌은 "온도? 뭥미?"라는 느낌이 강합니다. 따라서 이 Temperature가 나온 쓰임과 유래를 근거로
볼츠만 온도
라는 명칭을 제안합니다.일반적인 softmax layer와 softmax layer with temperature 구현은 다음과 같습니다.
첫번째 plot은 temperature = 1인 일반적으로 사용하는 softmax 입니다. 두번째와 세번째는 temperature을 각각
> 1
,< 1
값을 적용한 결과입니다. 즉, 지수함수의 성질에 따라 큰 값은 더 높은 확률이라고 예측하는 softmax의 성질을 완화해주는 역할을 해줍니다. 이러한 쓰임은 저희가 일반적으로 알고 있는온도
와는 거리가 멉니다.이 Temperature의 원래 쓰임은 Boltzmann distribution(Gibbs distribution)에서 유래했습니다. 열역학에서 에너지 상태의 시스템 내의 입자 수를 설명하기 위해 대기 상태에서의 온도를 표현하기 위한 단어로 여기서의 온도를 실제로 저희가 아는 온도를 의미합니다.
하지만, cross entropy가 정보 이론에 도입이 되고 이러한 열역학적인 내용이 딥러닝에서도 도입이 되면서 이러한 hyper parameter도 용어를 그대로 가져오는 경우가 대부분입니다. 따라서, 일반적인
온도
와 딥러닝에서의온도
를 구별하기 위해 이것이 확률 분포에서 나온온도
라는 것을 표기하고자볼츠만 분포의 온도
줄여서볼츠만 온도
로 제안합니다.추가 정보(Ref)
출처1 출처2 출처3 출처4