온도 스케일링
모델의 '온도'를 올리면 글이 왜 달라질까요?
어디에 들어가나
점수를 온도로 나눈 뒤 확률로 바꿉니다
온도는 0보다 큰 수 하나입니다. 온도가 1이면 나눠도 그대로라서 앞 편과 똑같습니다.
소프트맥스는 점수를 합이 100%인 확률로 바꾸는 계산입니다. 이렇게 점수를 나누는 방법을 온도 스케일링이라고 부릅니다.
나누면
점수 사이의 간격이 달라집니다
1보다 작은 수로 나누면 간격이 벌어지고, 1보다 큰 수로 나누면 좁아집니다. 소프트맥스는 간격이 클수록 큰 쪽에 몫을 훨씬 많이 주므로, 벌어지면 1등에게 확률이 몰립니다.
소프트맥스는 점수를 확률로 바꾸는 계산입니다. 4강 8편에서도 점수 차이가 커지자 한쪽으로 쏠렸습니다.
온도를 낮추면
확률이 1등에게 몰립니다
온도 0.1에서는 forward가 99.1%입니다. 확률대로 뽑아도 거의 늘 forward가 나와서, 가장 높은 것만 고를 때와 비슷해집니다.
온도를 높이면
확률이 고르게 퍼집니다
온도 5에서는 forward가 24.2%로 줄고, 0.0%이던 pizza가 4.3%가 됩니다. 하위 후보들이 살아납니다.
1,000번씩 뽑으면
온도에 따라 뽑히는 토큰이 달라집니다
온도 0.1에서는 두 가지만 나오고, 온도 5에서는 아홉 가지가 모두 나옵니다. pizza는 온도 5에서만 32번 뽑혔습니다.
온도마다 1,000번씩 뽑은 실습 결과입니다.
얻는 것과 잃는 것
다양해지는 만큼 엉뚱해집니다
온도 5에서는 'every effort moves you pizza'가 4.3% 확률로 나옵니다. 다양함을 얻는 만큼 말이 안 되는 글도 늘어납니다.
다음 편