[CS300 #294] 알고리즘 편향 — 전체 정확도가 숨기는 집단별 차이
컴퓨터공학 300 주제 시리즈의 294번째 글이다. 전체 지도는 여기.
한 줄 요약
알고리즘 편향은 시스템이 특정 집단에게 체계적으로 불리한 결과를 내는 현상이다. 전체 정확도만 보면 보이지 않고, 집단별로 지표를 쪼개 봐야 드러난다. 그리고 “공정하다”의 수학적 정의는 여러 개이며 동시에 만족시킬 수 없는 경우가 많다.
왜 필요한가
Buolamwini 와 Gebru(2018)의 Gender Shades 연구는 상용 얼굴 기반 성별 분류 시스템들을 피부색과 성별로 나눠 평가했다. 논문 초록에 따르면 피부색이 어두운 여성 집단의 오류율은 최대 34.7% 였고, 피부색이 밝은 남성 집단의 최대 오류율은 0.8% 였다. 전체 정확도만 발표했다면 드러나지 않았을 차이다.
이런 시스템이 채용 서류 선별, 대출 심사, 콘텐츠 추천, 의료 위험 점수에 쓰인다. 차이는 곧 기회의 차이가 된다. 그리고 편향은 악의 없이도 생긴다. 데이터와 목표 설정과 평가 방식에서 조용히 들어온다.
핵심 개념
편향은 어디서 오나
NIST SP 1270 은 AI 편향을 세 범주로 나눈다.
| 범주 | 뜻 | 예 |
|---|---|---|
| 체계적(systemic) 편향 | 제도·사회 구조에서 오는 편향 | 과거 채용 기록 자체가 특정 집단에 불리 |
| 인간적(human) 편향 | 사람의 인지·판단에서 오는 편향 | 라벨러의 고정관념, 자동화 편향 |
| 통계적·계산적(statistical/computational) 편향 | 데이터 표본과 알고리즘에서 오는 편향 | 특정 집단 표본 부족, 대리 변수 |
머신러닝 파이프라인 단계로 보면 다음과 같다.
문제 정의 -> 데이터 수집 -> 라벨링 -> 특성 선택 -> 학습 -> 평가 -> 배포·피드백
| | | | | | |
대리 목표 표본 불균형 라벨 편향 대리 변수 다수 집단 전체 지표만 되먹임 고리
최적화 확인
- 대리 목표(proxy target): 실제로 원하는 것(건강 필요도) 대신 측정하기 쉬운 것(과거 의료비 지출)을 예측하면, 의료 접근성이 낮았던 집단의 필요도가 과소평가된다.
- 대리 변수(proxy feature): 민감 속성(성별, 인종)을 빼도 우편번호, 이름, 출신 학교가 그것을 대신 알려 준다. “민감 속성을 안 쓰면 공정하다”는 성립하지 않는다.
- 되먹임 고리: 순찰을 많이 한 지역에서 범죄 기록이 많이 나오고, 모델이 그 지역에 순찰을 더 보낸다.
공정성 지표
이진 분류(승인/거절)에서 자주 쓰는 정의다. 집단을 A, B 라 하자.
| 지표 | 같아야 하는 것 | 직관 |
|---|---|---|
| 인구통계적 동등성(demographic parity) | 선택률 P(ŷ=1) | 집단마다 같은 비율로 승인 |
| 기회 균등(equal opportunity) | 참양성률 TPR | 자격 있는 사람이 승인될 확률이 같음 |
| 균등화된 오즈(equalized odds) | TPR 과 FPR 모두 | 자격 유무와 상관없이 오류율이 같음 |
| 예측 동등성(predictive parity) | 정밀도 P(y=1 | ŷ=1) | 승인된 사람 중 실제 자격자 비율이 같음 |
동시에 만족할 수 없다
Chouldechova(2017)와 Kleinberg 외(2016)는 집단 간 기저율(실제 양성 비율)이 다르면, 완벽한 예측이 아닌 한 여러 공정성 조건을 동시에 만족시킬 수 없음을 보였다. 예를 들어 오류율 균형(equalized odds)과 예측 동등성(정밀도 같음)은 함께 성립하지 않는다.
그러니 “공정한 모델을 만들자”는 요구만으로는 부족하다. 이 맥락에서 어떤 공정성이 중요한지 이해관계자와 함께 정해야 한다. 거짓 양성(자격 없는 사람 승인)과 거짓 음성(자격 있는 사람 거절)의 피해가 누구에게 얼마나 가는지가 기준이 된다.
완화 방법
| 단계 | 방법 |
|---|---|
| 전처리 | 표본 재가중, 부족한 집단 데이터 추가 수집, 라벨 검토 |
| 학습 중 | 공정성 제약을 넣은 최적화 |
| 후처리 | 집단별 임계값 조정 |
| 운영 | 집단별 지표 모니터링, 이의 제기 경로, 사람 검토 |
기술적 완화만으로 해결되지 않는 경우가 많다. 목표 변수 자체가 잘못 정의됐다면, 모델을 바꿀 것이 아니라 문제를 다시 정의해야 한다.
직접 해 보기
기저율이 다른 두 집단에 대해 집단별 지표를 계산한다. 합성 데이터다.
def make(group, tp, fn, fp, tn):
return ([(group, 1, 1)] * tp + [(group, 1, 0)] * fn +
[(group, 0, 1)] * fp + [(group, 0, 0)] * tn)
# 각 행: (집단, 실제 자격 y, 모델 승인 yhat)
data = make("A", tp=40, fn=10, fp=10, tn=40) + make("B", tp=16, fn=4, fp=8, tn=72)
def metrics(rows):
tp = sum(1 for _, y, p in rows if y == 1 and p == 1)
fn = sum(1 for _, y, p in rows if y == 1 and p == 0)
fp = sum(1 for _, y, p in rows if y == 0 and p == 1)
tn = sum(1 for _, y, p in rows if y == 0 and p == 0)
n = len(rows)
return {
"기저율": (tp + fn) / n,
"선택률": (tp + fp) / n,
"TPR": tp / (tp + fn),
"FPR": fp / (fp + tn),
"정밀도": tp / (tp + fp),
"정확도": (tp + tn) / n,
}
for g in ("A", "B"):
m = metrics([r for r in data if r[0] == g])
print(g, " ".join(f"{k}={v:.2f}" for k, v in m.items()))
print("전체", " ".join(f"{k}={v:.2f}" for k, v in metrics(data).items()))
실행 결과다.
A 기저율=0.50 선택률=0.50 TPR=0.80 FPR=0.20 정밀도=0.80 정확도=0.80
B 기저율=0.20 선택률=0.24 TPR=0.80 FPR=0.10 정밀도=0.67 정확도=0.88
전체 기저율=0.35 선택률=0.37 TPR=0.80 FPR=0.14 정밀도=0.76 정확도=0.84
읽는 법은 이렇다.
- TPR 은 0.80 으로 같다. 기회 균등은 만족한다.
- FPR 은 0.20 과 0.10 으로 다르다. 균등화된 오즈는 만족하지 못한다.
- 선택률은 0.50 과 0.24 로 다르다. 인구통계적 동등성은 만족하지 못한다.
- 정밀도는 0.80 과 0.67 로 다르다. B 집단에서 승인된 사람 중 실제 자격자 비율이 낮다.
- 정확도는 오히려 B 가 높다. “B 에게 더 잘 맞는 모델”처럼 보이지만, B 의 기저율이 낮아 거절만 잘해도 정확도가 올라가기 때문이다.
전체 줄만 보면 이 차이들이 하나도 보이지 않는다. 그리고 어느 하나를 맞추려고 임계값을 조정하면 다른 지표가 벌어진다. 어떤 지표를 우선할지가 기술 밖의 결정이라는 뜻이다. 실무에서는 Fairlearn 같은 라이브러리의 MetricFrame 으로 같은 계산을 집단별로 한 번에 한다.
현업에서는
- 모델 평가 리포트에 집단별 표를 기본으로 넣는다. 어떤 속성으로 나눌지는 서비스와 법적 맥락에 따라 정한다. 민감 속성을 평가용으로 수집·보관하는 것 자체가 개인정보 문제이므로 근거와 보호 조치를 함께 설계한다.
- 표본이 작은 집단의 지표는 신뢰구간이 넓다. 숫자 하나로 결론 내리지 말고 표본 수를 함께 보고한다.
- 편향은 ML 모델에만 있지 않다. 규칙 기반 시스템(예: “주소가 특정 지역이면 추가 인증”)도 같은 효과를 낸다. 얼굴 인식 출입, 음성 인식 콜센터, 자동 자막처럼 사용자 인터페이스 자체가 특정 집단에 잘 동작하지 않는 것도 편향이다.
- 배포 후 되먹임 고리를 감시한다. 모델 결정이 다음 학습 데이터를 만드는 구조라면, 거절된 사람의 결과는 관찰되지 않아 데이터가 계속 한쪽으로 쏠린다.
확인 문제
- 민감 속성(성별)을 입력에서 빼면 성별에 따른 편향이 사라지는가?
- 기회 균등과 균등화된 오즈의 차이는?
- 예제에서 B 집단의 정확도가 더 높은데도 B 가 불리할 수 있는 이유는?
- 공정성 지표를 모두 동시에 만족시키기 어려운 이유를 한 문장으로 말하라.
- 의료비 지출을 건강 위험의 대리 목표로 쓰면 어떤 문제가 생길 수 있나?
풀이
- 아니다. 다른 특성(이름, 주소, 이력)이 대리 변수로 성별 정보를 담을 수 있다.
- 기회 균등은 TPR 만 같으면 되고, 균등화된 오즈는 TPR 과 FPR 이 모두 같아야 한다.
- 기저율이 낮아 거절 위주로도 정확도가 오르기 때문이다. 승인된 B 중 실제 자격자 비율(정밀도)이 낮고 선택률도 다르다.
- 집단 간 기저율이 다르면 완벽한 예측이 아닌 한 오류율 균형과 예측 동등성 같은 조건이 수학적으로 충돌한다.
- 의료 접근성이 낮아 지출이 적었던 집단의 실제 필요가 과소평가되어 지원 대상에서 빠질 수 있다.
더 읽을거리 (References)
- J. Buolamwini, T. Gebru, Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification, PMLR 81, 2018.
- NIST, Towards a Standard for Identifying and Managing Bias in Artificial Intelligence (SP 1270)
- A. Chouldechova, Fair prediction with disparate impact, 2017.
- Fairlearn, Assessment user guide