로그와 손실
0.0000745 같은 숫자 여섯 개를 어떻게 하나로 합칠까요?
곱하면
0이 너무 많아집니다
여섯 칸을 모두 맞힐 확률은 여섯 확률을 곱한 값입니다. 곱할수록 0에 붙어서 컴퓨터도 정확히 다루기 어려운 크기가 됩니다.
곱한 값은 직접 계산했습니다.
해법 · 로그
작은 수를 다루기 쉬운 크기로 바꿉니다
0.1, 0.01, 0.001처럼 0이 하나 늘 때마다 로그는 똑같이 2.3씩 내려갑니다. 0.0001처럼 작은 수도 −9.21이라는 다루기 쉬운 숫자가 됩니다.
여기서 쓰는 로그는 자연로그라는 종류입니다.
적용
확률 여섯 개에 로그를 씌웁니다
0이 줄줄이 붙던 숫자가 −9에서 −12 사이의 비슷한 크기가 됐습니다. 확률이 가장 낮은 chocolate이 로그도 가장 낮습니다.
확률을 곱하는 것과 로그를 더하는 것은 같은 정보를 담습니다. 그래서 곱하지 않고, 로그를 더해 평균을 냅니다.
합치기
평균을 내고 부호를 뒤집습니다
여섯 개의 평균은 −10.7940입니다. 음수는 읽기 불편해서 부호를 뒤집어 씁니다. 이 10.7940이 손실입니다.
손실(loss)은 모델이 틀린 정도를 나타내는 숫자입니다.
이름
이 계산이 교차 엔트로피입니다
이렇게 구한 손실을 교차 엔트로피 손실이라고 부릅니다.
크로스 엔트로피라고도 씁니다. 파이토치라는 도구에서는 cross_entropy 한 줄이 이 계산을 대신하고, 결과도 똑같이 10.7940입니다.
읽는 법
손실은 낮을수록 좋습니다
정답에 확률 1을 주면 손실은 0입니다. 훈련 전의 10.79는 5만 개 중에서 찍는 수준인 10.82와 거의 같습니다.
표의 손실은 직접 계산한 값입니다.
다음 편