기업이 AI 모델에 의존함에 따라 점점 더 실제 금전적 손실이 걸려 있는 상황이 되고 있습니다. 2021년 2월, Zillow의 경영진은 주택 가치를 예측하는 머신러닝 모델을 기반으로 큰 결정을 내렸습니다. Zillow는 이러한 추정값을 제공했을 뿐만 아니라 Zillow Offers라는 관련 사업을 통해 모델이 산정한 가격으로 직접 주택을 매입하기도 했습니다.
그러나 불과 8개월 후 Zillow는 Zillow Offers 사업을 종료하고 3억 400만 달러 규모의 재고 손실을 기록했습니다. 회사 측은 자사가 예상한 판매가보다 높은 가격으로 많은 주택을 매입한 것이 원인이라고 밝혔습니다. 이로 인해 회사 주가는 급락했고 Zillow는 약 25%의 직원을 해고했습니다.
원인은 무엇이었을까요? AI 모델이 향후 시장 변동을 견딜 만큼 충분히 정확하지 않았습니다. 예측과 전망이 실제 주택 가치와 일치하지 않았습니다.1
머신러닝 모델이 의료, 채용, 형사 사법 분야로 확산됨에 따라 잘못된 평가의 대가는 실제 사람들에게 실질적인 피해를 초래할 수 있습니다. 데이터 과학과 산업 전반에서 모델 평가 지표를 정확히 설정하는 것은 책임 있는 AI 도입의 중요한 요소가 되었습니다.
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
모델마다 수행하도록 설계된 역할이 다릅니다.
분류 모델은 입력 데이터를 몇 가지 범주 중 하나로 분류합니다. (환자가 패혈증인지 여부를 판별하는 모델은 분류 모델입니다.)
회귀 모델 은 대신 연속적인 값으로 숫자를 출력합니다. (Zillow의 주택 가격 모델은 회귀 모델이었습니다.)
모델 유형에 따라 필요한 테스트 방식도 달라집니다. 단일 지표만으로는 한계가 있기 때문에 여러 지표를 통해 성능을 종합적으로 평가하는 것이 바람직합니다.
일부 모델은 세상을 여러 범주로 나누는 "분류 문제"를 다룹니다. 분류 지표 역시 단순한 경향이 있습니다. 모델 정확도는 비교적 직관적입니다. 정확한 예측의 수를 전체 예측 수로 나누어 계산합니다. (머신러닝에서 "예측"이라는 용어는 모델이 내리는 추정값을 의미하며, 이는 미래가 아니라 현재에 대한 판단일 수도 있습니다.)
모델 정확도의 문제는 높은 수치가 이해관계자에게 잘못된 안정감을 줄 수 있다는 점입니다. 드물지만 치명적인 사건(예: 특정 암)을 탐지하도록 설계된 모델이 모든 검사를 자동으로 음성으로 분류할 수도 있습니다. 이 경우 99.99%의 음성 판정이 정확하기 때문에 높은 정확도를 기록하게 됩니다. 하지만 드물게 발생한 오진(위음성)을 받은 환자에게 이 높은 정확도는 아무런 위로가 되지 않습니다. 기술적으로는 정확했지만 실제로는 역할을 제대로 수행하지 못한 것입니다.
따라서 분류 모델의 성능을 예측 유형별로 나누어 분석하는 것이 유용해집니다. 암 진단과 같은 이진 분류 작업에서는 네 가지 결과가 발생할 수 있습니다(이 결과들을 2×2 형태로 정리한 것을 “혼동 행렬(confusion matrix)”이라고 합니다).
이러한 범주로 나누는 것이 왜 가치 있는지 알 수 있습니다. 거짓 양성 진단은 추가 검사로 오진임이 밝혀지기 전까지 큰 심리적 충격을 줄 수 있습니다. 하지만 거짓 음성 판정은 치명적인 결과를 초래할 수 있습니다.
데이터 과학자들은 분류기의 성능을 분석하고 혼동 행렬 각 영역 간의 관계를 평가하기 위해 다양한 세부 지표를 개발했습니다.
정밀도는 분류기가 양성으로 예측한 것 중 실제로 맞은 비율이 얼마인지 묻는 지표입니다.
차량에 장착된 이미지 인식 알고리즘이 시험 코스에서 10개의 교차로를 통과하며, 그중 6개에는 정지 표지판이 있습니다. 그러나 모델이 "정지 표지판 6개를 모두 감지했다"고 말하는 것은 정밀도의 중요한 차이를 간과하는 것입니다. 6개를 모두 정확하게 감지하고 거짓 양성이 없다면 정밀도는 6/6, 즉 100%입니다. 하지만 6개를 감지하면서 존재하지 않는 정지 표지판 4개를 추가로 잘못 감지했다면 정밀도는 6/10, 즉 60%에 불과합니다.
재현율(또는 "참 양성률")이라고 불리는 지표는 이와는 조금 다른 것을 측정합니다. 재현율은 실제로 존재하는 모든 정지 표지판 중에서 모델이 얼마나 많이 감지했는지를 묻습니다.
정지 표지판이 있는 교차로가 50개 포함된 총 100개의 교차로로 이루어진 또 다른 시험 코스를 생각해보겠습니다. 이 중 30개를 감지하면 재현율은 60%, 40개를 감지하면 80%가 됩니다. (재현율은 오탐에 신경 쓰지 않기 때문에 이론적으로는 모델이 어디서나 정지 표지판을 감지하도록 만들어 100% 재현율을 달성할 수도 있습니다.)
정밀도와 재현율이라는 두 지표는 서로 긴장 관계에 있습니다. 재현율을 높이려는 엔지니어는 과도하게 조정하여 거짓 양성이 자주 발생하는 모델을 만들 수 있습니다. 모델을 튜닝하는 과정은 보통 더 높은 재현율(탐지하려는 현상을 빠짐없이 잡는 것)과 더 낮은 정밀도(과도하게 감지하여 거짓 양성까지 포함하는 것) 사이의 균형을 맞추는 작업입니다.
이러한 트레이드오프를 관리하기 위해 머신러닝 실무자들은 정밀도와 재현율의 "조화 평균"인 F1 점수라는 지표를 자주 사용합니다. (조화 평균은 일반적인 평균과 달리 낮은 값에 더 큰 영향을 받습니다. 따라서 정밀도나 재현율 중 하나라도 낮으면 F1 점수는 빠르게 감소합니다.)
완벽한 F1 점수는 1.0이지만, 충분히 높은 F1 점수가 무엇인지에 대한 보편적인 기준은 없으며 컨텍스트에 따라 크게 달라집니다.2 분명한 것은 F1 점수가 높을수록 더 좋다는 점입니다. 1.0에 가까울수록 모델은 거짓 양성과 거짓 음성을 최소화하면서 탐지해야 할 대상을 더 효과적으로 감지할 수 있습니다.3
분류 지표 중에는 신뢰도와 임계값과 관련된 두 가지 개념이 있습니다.
모델은 단순히 "정지 표지판" 또는 "정지 표지판 아님"이라고만 출력하지 않습니다. 대신 "이것이 정지 표지판일 확률은 98%입니다"와 같이 신뢰도가 높은 예측을 제공합니다. 또는 "정지 표지판일 확률이 51%입니다"와 같이 신뢰도가 낮은 예측을 할 수도 있습니다.
로그 손실(log loss)이라는 지표는 모델의 신뢰도를 평가하기 위해 설계되었습니다. 높은 신뢰도를 가진 오답은 큰 페널티를 받습니다. 정답이지만 신뢰도가 낮은 경우에도 더 적은 수준으로 페널티가 부여됩니다. 완벽한 모델은 로그 손실 값이 0이지만 이는 거의 달성되지 않습니다. "좋은" 점수의 기준 역시 모델과 작업 유형에 따라 달라집니다.
모델의 신뢰도 점수와 관계없이 머신러닝 모델을 사용하는 사람은 최종적으로 모델의 추정을 예/아니오 판단으로 전환할 임계값을 결정해야 합니다. 예를 들어 "신뢰도가 75% 이상이면 '정지 표지판'으로 판단"이라는 규칙을 설정할 수 있습니다. 하지만 사용자는 51% 또는 98%와 같은 다른 임계값을 선택할 수도 있습니다. 선택한 임계값에 따라 모델의 출력 결과는 크게 달라질 수 있습니다.
ROC 곡선("수신자 조작 특성"의 약자)과 관련 지표인 ROC AUC("곡선 아래 면적")는 다양한 임계값에서 모델의 성능을 평가합니다. 기술적으로 ROC 곡선은 임계값이 변할 때 참 양성률(TPR)과 거짓 양성률(FPR)을 그래프로 나타낸 것입니다. 개념적으로 ROC AUC는 특정 임계값에서의 판단을 넘어, "임계값이 어디에 설정되든 실제로 정지 표지판이 있을 때 더 높은 신뢰도 점수를 일관되게 출력하는가?"라는 기준으로 모델의 전반적인 분류 능력을 평가합니다. ROC AUC는 양성과 음성을 구분하는 전반적인 능력을 요약하는 지표입니다.
앞선 내용은 정지 표지판이나 암처럼 어떤 현상이 존재하는지 여부를 판단하는 "분류" 문제를 다뤘습니다. 하지만 주택 가격이나 환자의 혈당 수치처럼 많은 현상은 연속적인 값으로 나타나기 때문에 다른 모델과 성능 평가 지표가 필요합니다. 이러한 현상을 다루는 모델은 범주가 아니라 숫자를 출력합니다. 이들은 회귀 모델이라고 하며, 다양한 방식으로 "그 숫자가 얼마나 빗나갔는가?"를 묻는 회귀 지표로 평가됩니다.
평균 절대 오차(MAE)는 "평균적으로 얼마나 벗어났는가?"를 묻습니다. 예를 들어 모델이 이번 주에는 주택 가격을 50만 달러로 예측했지만 실제로는 52만 5천 달러에 팔리고, 다음 주에는 40만 달러로 예측했지만 실제로는 39만 달러에 팔렸다면 MAE는 17,500달러입니다(25,000 + 10,000을 2로 나눈 값). MAE는 모델이 지속적으로 과대 또는 과소 예측하는지는 고려하지 않습니다. 단순히 실제 값과의 평균 거리만을 봅니다.
평균 제곱근 오차(RMSE)는 유사하지만 크게 빗나간 값에 더 큰 페널티를 부여합니다. 이는 오차를 제곱하여 큰 오차를 더 크게 만든 뒤 평균을 구하고 마지막에 제곱근을 취하는 방식으로 계산됩니다. 앞선 예시에서 RMSE는 19,039달러입니다. (관련 지표인 평균 제곱 오차(MSE)는 제곱근을 취하지 않는 방식으로 계산되며 해석은 어렵지만 수학적으로 유용한 경우가 있습니다.) RMSE는 큰 오차가 특히 비용이 클 때 유용합니다.
직관성이 낮은 지표로 R-squared가 있습니다. R-squared는 모델의 예측이 얼마나 빗나갔는지가 아니라, 목표 변수의 전체 변동성 중 모델이 얼마나 설명했는지를 측정합니다.
R-squared를 이해하기 위해 모든 주택에 동일한 값, 즉 지역 평균 가격만을 출력하는 단순한 모델을 생각해볼 수 있습니다. R-squared는 "우리 모델이 단순 평균 예측보다 얼마나 더 나은가?"를 묻습니다. 실제 가격의 변동성을 더 잘 설명할수록 R-squared 값은 높아집니다. (R-squared가 0.85라면 결과 변동성의 약 85%를 설명한다는 의미이며, 0이라면 평균만 출력하는 모델과 다를 바 없다는 뜻입니다.)
다른 모든 지표와 마찬가지로 R-squared도 완벽하지 않습니다. 특히 이상치가 포함된 데이터에서는 취약합니다.
시험에 합격한 모든 학생이 실제로 내용을 이해한 것은 아닙니다. 학생이 개념을 이해하지 못한 채 암기만 했을 수도 있습니다. 학생이 시험을 미리 보고 부정행위를 했을 수도 있고, 단순히 운이 좋았을 수도 있습니다. 머신러닝 모델도 마찬가지입니다.
머신러닝 모델 평가에서 흔히 발생하는 기본적인 실수는 학습에 사용한 데이터를 그대로 테스트에 사용하는 것입니다. 이 경우 모델은 매우 잘 작동하는 것처럼 보이지만 실제로는 데이터를 암기했을 뿐입니다. 이 모델은 탐지해야 할 현상에 대한 일반화된 학습에 실패했으며 실제 환경에서 새로운 데이터를 만나면 실패할 가능성이 높습니다. 이러한 암기와 유사한 현상을 과적합이라고 합니다.
일반적인 방지 방법은 학습-테스트 분할로, 사용 가능한 데이터를 모델이 학습할 수 있는 학습 데이터와 시험 시점까지 볼 수 없는 또 다른 데이터(테스트 세트)로 나누는 것입니다. 하지만 이 방법도 완벽하지 않으며, 데이터 분할 방식에 따라 테스트 결과가 왜곡될 수 있습니다. 또한 데이터가 제한적일 경우 학습에 사용할지 테스트를 위해 남겨둘지에 대한 어려운 선택이 필요합니다.
머신러닝 실무자들은 이러한 문제를 교차 검증으로 해결합니다. 교차 검증에서는 데이터를 여러 개의 폴드로 나눕니다. 대부분의 폴드는 학습에 사용되고 하나는 테스트용으로 사용됩니다. 이후 모델을 새로 만들어 폴드를 바꿔가며 반복 수행하여 다른 폴드를 테스트 데이터로 사용합니다. 이러한 여러 번의 실행 결과를 평균하여 최종 성능을 평가합니다. 이 방법은 새로운 데이터에 대한 모델 성능을 더 안정적으로 추정할 수 있게 해주며, 각 데이터 포인트를 학습과 테스트에 번갈아 사용할 수 있어 제한된 데이터도 효율적으로 활용할 수 있습니다.
결국 후보 모델 중 어느 것도 충분히 좋은 성능을 보이지 않는다면, 실무자들은 모델 깊이나 학습률과 같은 내부 설정을 조정하는 하이퍼파라미터 튜닝을 통해 성능 개선 여부를 확인할 수 있습니다.
Python에서는 scikit-learn과 같은 라이브러리를 통해 교차 검증을 쉽게 구현할 수 있으며, 이것이 표준 관행으로 자리 잡은 이유 중 하나입니다.
때로는 이른바 "정답 값"이 명확한 경우도 있습니다. 환자가 암이 있거나 없거나, 주택이 특정 가격에 판매된 경우처럼 말입니다. 하지만 대규모 언어 모델(LLM)의 등장으로 모델 성능은 종종 명확하지 않거나 측정하기 어려워졌습니다.
LLM 기반 챗봇은 사실을 맞췄는지 틀렸는지와 같은 이진적인 작업을 수행할 수도 있습니다. 하지만 사용자는 친절함이나 유용성과 같이 정의하기 어려운 다양한 기준으로도 평가할 수 있습니다. 이러한 경우에는 단일한 정답이나 비교 기준이 되는 "정답 값"이 존재하지 않습니다. 사람에 의한 주석 작업은 LLM 출력 평가의 기준으로 여겨지지만 확장성이 떨어지는 방법입니다.
결국 이러한 경우에는 모델을 실제 환경에 배포하고 사용자가 실제로 가치를 얻는지 여부를 통해 최종 평가가 이루어질 수 있습니다.
안전한 의도 인식 개발을 지원하는 AI 파트너인 Bob으로 소프트웨어 제공을 가속화하세요.
IBM watsonx Orchestrate를 사용하여 확장 가능한 AI 어시스턴트 및 에이전트를 쉽게 설계하고, 반복적인 작업을 자동화하며, 복잡한 프로세스를 간소화합니다.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
1. “Zillow iBuying Home Zestimates” CNN, 2021.
2. “좋은 F1 점수란 무엇인가요?” OneModel
3. "F1 점수 계산," Telnyx.com