손실 함수(Loss Function) - AI는 자신이 얼마나 틀렸는지 어떻게 알까?
손실 함수(Loss Function)란? AI는 자신이 얼마나 틀렸는지 어떻게 알까?
지난 글에서는 AI가 예측의 오류를 거꾸로 전달하면서 가중치를 수정하는 역전파(Backpropagation)에 대해 알아보았습니다.
그런데 AI가 자신의 실수를 고치려면 먼저 알아야 하는 것이 있습니다.
바로
“내가 얼마나 틀렸는가?”
입니다.
예측이 정답과 조금 다른 것인지, 완전히 다른 것인지 알아야 가중치를 얼마나 수정할지도 결정할 수 있습니다.
AI는 손실 함수(Loss Function)를 이용해 예측과 정답의 차이를 하나의 숫자로 계산합니다.
이번 글에서는 손실 함수가 무엇이며, AI의 학습에서 어떤 역할을 하는지 쉽게 알아보겠습니다.
사람은 점수로 결과를 확인합니다
시험을 본다고 생각해 보겠습니다.
시험이 끝난 뒤에는 채점을 통해 자신의 결과를 확인합니다.
100점이라면 거의 모든 문제를 맞힌 것입니다.
80점이라면 일부 문제를 틀린 것입니다.
30점이라면 많은 부분을 다시 공부해야 합니다.
시험 점수를 보면 현재 실력이 어느 정도인지 알 수 있습니다.
AI도 마찬가지입니다.
AI 역시 자신의 예측이 정답과 얼마나 다른지 확인할 수 있는 채점 기준이 필요합니다.
그 역할을 하는 것이 손실 함수입니다.
손실 함수란?
손실 함수는 AI의 예측과 실제 정답의 차이를 계산하여 하나의 숫자로 보여주는 계산 방법입니다.
쉽게 말하면 AI에게 보여주는 오답 점수입니다.
AI의 예측
↓
실제 정답과 비교
↓
손실 함수로 차이 계산
↓
손실 값 출력
손실 값이 크다면 예측이 정답과 많이 다르다는 뜻입니다.
반대로 손실 값이 작다면 정답에 가까운 예측을 했다는 뜻입니다.
손실 값은 작을수록 좋습니다
일반적인 시험에서는 점수가 높을수록 좋습니다.
하지만 손실 값은 반대입니다.
손실은 AI가 얼마나 틀렸는지를 나타내기 때문에 작을수록 좋습니다.
| 손실 값 | 의미 |
|---|---|
| 큼 | 정답과 차이가 큼 |
| 작음 | 정답과 차이가 작음 |
| 0에 가까움 | 예측이 정답에 매우 가까움 |
예를 들어 고양이 사진을 보여주었을 때 AI가 다음과 같이 판단했다고 생각해 보겠습니다.
실제 정답: 고양이
AI의 예측: 고양이일 가능성 95%
이 경우에는 정답에 가까우므로 손실 값이 작게 나옵니다.
반대로 AI가
실제 정답: 고양이
AI의 예측: 고양이일 가능성 10%
이라고 판단했다면 정답과 큰 차이가 있으므로 손실 값도 커집니다.
손실 함수는 체중계와 비슷합니다
체중을 줄이기 위해 운동한다고 생각해 보겠습니다.
목표 체중이 70kg인데 현재 체중이 80kg이라면 목표까지 10kg의 차이가 있습니다.
운동을 계속해 75kg이 되었다면 차이는 5kg으로 줄어듭니다.
목표 체중 70kg
현재 80kg → 차이 10kg
현재 75kg → 차이 5kg
현재 71kg → 차이 1kg
체중계가 목표까지 얼마나 남았는지 알려주는 것처럼, 손실 함수는 AI의 예측이 정답에서 얼마나 떨어져 있는지 알려줍니다.
AI는 이 차이를 줄이는 방향으로 학습합니다.
양궁의 과녁으로도 이해할 수 있습니다
앞선 역전파 글에서 양궁 선수가 화살의 방향을 수정하는 모습을 살펴보았습니다.
손실 함수는 화살이 과녁 중심에서 얼마나 떨어졌는지를 재는 것과 비슷합니다.
정중앙에 맞음 → 손실이 거의 없음
중심 근처에 맞음 → 손실이 작음
과녁에서 크게 벗어남 → 손실이 큼
과녁에서 벗어난 거리를 알아야 다음 화살의 방향을 얼마나 수정할지 결정할 수 있습니다.
AI 역시 손실 값을 확인한 뒤 가중치를 얼마나 조정해야 할지 판단합니다.
손실 함수와 역전파는 어떤 관계일까?
손실 함수와 역전파는 함께 작동하지만 역할은 서로 다릅니다.
손실 함수는
“얼마나 틀렸는가?”
를 계산합니다.
역전파는
“어디를 수정해야 하는가?”
를 찾아냅니다.
AI가 예측
↓
손실 함수
얼마나 틀렸는지 계산
↓
역전파
틀린 원인을 뒤로 전달
↓
가중치 수정
↓
다시 예측
즉, 손실 함수가 AI에게 오답 점수를 알려주면 역전파가 그 점수를 바탕으로 잘못된 부분을 찾아가는 것입니다.
가중치는 손실을 줄이는 방향으로 바뀝니다
AI의 학습 목표는 단순합니다.
바로 손실 값을 최대한 줄이는 것입니다.
처음에는 가중치가 제대로 설정되어 있지 않기 때문에 손실이 클 수 있습니다.
하지만 학습을 반복하면 가중치가 조금씩 바뀌면서 손실도 줄어듭니다.
첫 번째 학습: 손실 0.9
↓
두 번째 학습: 손실 0.7
↓
세 번째 학습: 손실 0.4
↓
반복 학습: 손실 0.1
이처럼 손실이 점점 줄어든다는 것은 AI의 예측이 정답에 가까워지고 있다는 뜻입니다.
문제에 따라 사용하는 손실 함수가 다릅니다
AI가 해결하는 문제는 모두 같지 않습니다.
어떤 AI는 집값을 예측하고, 어떤 AI는 사진 속 동물을 구분합니다.
따라서 문제의 종류에 따라 사용하는 손실 함수도 달라집니다.
① 숫자를 예측할 때
AI가 집값, 온도, 판매량처럼 연속적인 숫자를 예측하는 경우가 있습니다.
예를 들어 실제 집값이 3억 원인데 AI가 2억 8천만 원이라고 예측했다면 두 값의 차이를 계산해야 합니다.
이런 문제에서는 예측값과 정답의 차이를 이용하는 손실 함수를 사용합니다.
대표적으로 평균제곱오차(MSE)가 있습니다.
이름은 어려워 보이지만 핵심은 간단합니다.
정답에서 멀리 벗어날수록 더 큰 벌점을 주는 방식
이라고 이해하면 됩니다.
② 종류를 구분할 때
고양이와 강아지를 구분하거나 이메일이 스팸인지 판단하는 문제도 있습니다.
이런 문제에서는 AI가 정답에 얼마나 높은 확률을 주었는지 확인합니다.
예를 들어 실제 정답이 고양이인데
고양이 90%
강아지 10%
라고 예측했다면 비교적 잘 맞힌 것입니다.
하지만
고양이 10%
강아지 90%
라고 예측했다면 큰 벌점을 받습니다.
이런 분류 문제에서는 대표적으로 교차 엔트로피(Cross Entropy)라는 손실 함수를 사용합니다.
어려운 이름이지만 쉽게 말하면
정답을 확신하지 못하거나 틀린 답을 자신 있게 선택할수록 더 큰 벌점을 주는 방식
입니다.
틀린 답을 자신 있게 말하면 손실이 더 커집니다
두 AI가 고양이 사진을 보고 틀린 답을 했다고 생각해 보겠습니다.
AI A
고양이 45%
강아지 55%
AI A는 틀렸지만 두 답 사이에서 고민한 흔적이 있습니다.
AI B
고양이 1%
강아지 99%
AI B는 완전히 틀린 답을 매우 자신 있게 선택했습니다.
이 경우 AI B가 더 큰 손실을 받습니다.
왜냐하면 단순히 틀린 것뿐만 아니라, 틀린 답을 거의 확신했기 때문입니다.
학교에서 모르는 문제를 조심스럽게 틀린 것과, 틀린 답이 확실히 맞다고 주장한 것의 차이와 비슷합니다.
손실 값이 낮으면 무조건 좋은 AI일까?
학습 데이터에서 손실 값이 낮다고 해서 언제나 실제 성능까지 좋은 것은 아닙니다.
AI가 학습 문제의 답을 지나치게 외워버릴 수도 있기 때문입니다.
예를 들어 학생이 문제의 원리를 이해하지 않고 연습문제의 정답만 외웠다면 같은 문제는 잘 풀 수 있습니다.
하지만 처음 보는 문제에서는 틀릴 가능성이 큽니다.
AI에서도 이런 현상을 과적합(Overfitting)이라고 합니다.
따라서 AI를 평가할 때는 학습에 사용한 데이터뿐 아니라 처음 보는 새로운 데이터에서도 손실이 낮은지 확인해야 합니다.
손실 함수는 AI의 방향을 알려주는 나침반입니다
손실 함수는 직접 가중치를 수정하지는 않습니다.
대신 AI가 현재 얼마나 잘못된 방향으로 가고 있는지 알려줍니다.
그래서 손실 함수는 AI 학습의 나침반이나 점수판과 같습니다.
손실이 커짐 → 잘못된 방향으로 이동
손실이 작아짐 → 정답에 가까워지는 중
손실이 거의 없음 → 목표에 매우 가까움
AI는 손실 값이 줄어드는 방향을 찾아 계속 이동합니다.
그렇다면 AI는 수많은 방향 중에서 손실이 가장 빠르게 줄어드는 방향을 어떻게 찾을까요?
그 방법이 바로 경사하강법(Gradient Descent)입니다.
한눈에 정리하기
| 개념 | 쉽게 말하면 |
|---|---|
| 예측값 | AI가 내놓은 답 |
| 정답 | AI가 맞혀야 하는 실제 답 |
| 손실 함수 | 예측과 정답의 차이를 계산하는 방법 |
| 손실 값 | AI가 얼마나 틀렸는지를 나타내는 숫자 |
| 학습 목표 | 손실 값을 최대한 작게 만들기 |
그리고 이전에 배운 개념과 연결하면 다음과 같습니다.
손실 함수
얼마나 틀렸는지 계산
↓
역전파
어디가 영향을 주었는지 추적
↓
가중치 수정
다음에는 더 잘 맞도록 조정
마무리
손실 함수는 AI의 예측과 실제 정답의 차이를 숫자로 나타내는 방법입니다.
손실 값이 크면 예측이 정답과 많이 다르다는 뜻이고, 손실 값이 작으면 정답에 가까워졌다는 뜻입니다.
AI는 손실 값을 확인하고, 역전파를 통해 잘못된 연결을 찾아 가중치를 수정합니다.
그리고 이 과정을 반복하면서 손실을 조금씩 줄여 나갑니다.
즉, AI의 학습은 다음과 같이 정리할 수 있습니다.
예측
↓
정답과 비교
↓
손실 계산
↓
역전파
↓
가중치 수정
↓
더 나은 예측
하지만 아직 중요한 질문이 하나 남아 있습니다.
AI는 손실을 줄이기 위해 가중치를 어느 방향으로 움직여야 할까요?
그 답은 경사하강법(Gradient Descent)에 있습니다.
💡 오늘의 핵심
손실 함수는 AI의 예측이 정답과 얼마나 다른지를 숫자로 알려주는 채점표입니다.






댓글
댓글 쓰기