인구통계적 동등성·기회 균등·균등화된 오즈·보정·개별 공정성을 COMPAS 원자료로 직접 계산해 비교하고, 불가능성 정리와 완화 기법, 4/5 규칙·자동화된 결정 거부권 등 규범, 기준 선택 절차를 정리
🎯 학습 목표
이 강을 마치면 '이 AI는 공정한가?'라는 질문을 측정 가능한 질문으로 바꿀 수 있습니다. 집단 공정성(인구통계적 동등성, 기회 균등, 균등화된 오즈, 보정)과 개별 공정성의 정의를 구분하고, 실제 공개 데이터로 각 지표를 계산했을 때 무엇이 보이는지 확인합니다. 또 '모든 공정성 기준을 동시에 만족하는 것은 일반적으로 불가능하다'는 불가능성 정리를 숫자로 직접 체험하고, 편향을 줄이는 기법의 세 갈래와 한계를 이해한 뒤, 상충하는 기준 가운데 무엇을 고를지 결정하는 실무 절차를 갖추게 됩니다.
⚖️ 공정성을 숫자로 정의해야 하는 이유
이 섹션에서는 공정성을 왜 굳이 수식과 지표로 정의해야 하는지 살펴보겠습니다. 2강에서 본 사례들은 모두 '불공정하다'는 비판을 받았지만, 비판하는 쪽과 방어하는 쪽이 서로 다른 잣대를 쓰는 경우가 많았습니다. 대표적인 예가 COMPAS 논쟁입니다. 프로퍼블리카는 재범하지 않은 흑인이 고위험으로 잘못 분류되는 비율이 백인의 두 배라며 불공정하다고 했고, 개발사는 같은 점수를 받은 사람의 실제 재범률이 인종과 관계없이 비슷하므로 공정하다고 반박했습니다. 둘 다 사실을 말하고 있었습니다. 다른 것은 '공정'의 정의였습니다.
공정성을 지표로 정의하면 세 가지가 가능해집니다. 첫째, 무엇을 놓고 다투는지 분명해집니다. 막연한 '공정하다/아니다' 대신 '어떤 오류율을 어느 집단 사이에서 맞출 것인가'로 논의할 수 있습니다. 둘째, 점검하고 감시할 수 있습니다. 출시 전 검사와 운영 중 모니터링에 같은 지표를 쓰면 시간에 따른 변화를 추적할 수 있습니다. 셋째, 설명하고 책임질 수 있습니다. 규제 기관이나 이용자에게 '우리는 이 기준을 택했고, 이유는 이것이며, 현재 수치는 이렇다'고 말할 수 있습니다.
규제도 이 방향으로 움직이고 있습니다. 미국 연방 고용 지침은 오래전부터 숫자 기준을 써 왔습니다. 1978년 제정된 「종업원 선발 절차에 관한 통일 지침」은 어떤 집단의 선발률이 가장 높은 집단의 4/5(80%)에 못 미치면 일반적으로 불리한 영향(adverse impact)의 증거로 본다고 정합니다. 흔히 4/5 규칙이라 부르는 이 기준은 지금도 채용 AI 감사에서 출발점으로 쓰입니다. 한국에서는 2024년 3월 15일 시행된 개인정보보호법 제37조의2가 완전히 자동화된 시스템의 결정이 권리·의무에 영향을 주면 정보주체가 설명을 요구하고, 중대한 영향이 있으면 결정을 거부할 수 있게 했습니다. 설명하려면 무엇을 기준으로 판단했는지 말할 수 있어야 합니다.
📐 주요 공정성 정의 한눈에 보기
이 섹션에서는 대표적인 공정성 정의를 하나씩 살펴보겠습니다. 설명을 위해 '고위험'이나 '불합격' 같은 판정을 내리는 이진 분류기를 생각하고, 몇 가지 용어를 먼저 정리합니다. 보호 속성은 성별·인종·연령처럼 차별이 금지된 기준이 되는 특성입니다. 거짓 양성(FP)은 실제로는 해당 없는데 해당한다고 판정한 경우(재범하지 않을 사람을 고위험으로), 거짓 음성(FN)은 실제로 해당하는데 놓친 경우입니다. FPR(거짓 양성률)은 실제 음성인 사람 중 잘못 양성으로 판정된 비율, FNR(거짓 음성률)은 실제 양성인 사람 중 놓친 비율, PPV(양성 예측도)는 양성으로 판정된 사람 중 실제 양성인 비율입니다.
| 정의 | 집단 간에 같게 맞추는 것 | 직관 | 잘 맞는 상황 |
|---|---|---|---|
| 인구통계적 동등성(Demographic Parity) | 양성 판정률 | 결과의 몫이 집단마다 같아야 한다 | 과거 데이터 자체가 불평등해 정답 라벨을 믿기 어려울 때(광고 노출, 기회 배분) |
| 기회 균등(Equal Opportunity) | 실제 양성 중 양성 판정률(=1−FNR) | 자격 있는 사람이 기회를 얻을 확률이 같아야 한다 | 합격·승인처럼 '놓치는 것'이 주된 피해일 때 |
| 균등화된 오즈(Equalized Odds) | FPR과 FNR 모두 | 두 종류의 오류 모두 집단마다 같아야 한다 | 잘못된 고발과 놓침 모두 큰 피해일 때 |
| 예측 동등성·보정(Calibration) | 같은 점수에서의 실제 발생률(PPV) | 점수가 집단과 관계없이 같은 의미여야 한다 | 점수를 확률처럼 해석해 쓰는 위험 평가 |
| 개별 공정성(Individual Fairness) | 비슷한 개인에 대한 비슷한 결과 | 닮은 사람은 닮게 대우해야 한다 | 사례별 판단, 다만 '닮음'의 정의가 어려움 |
인구통계적 동등성은 가장 이해하기 쉬운 기준입니다. 남성 지원자의 30%가 서류를 통과했다면 여성 지원자도 30% 안팎이 통과해야 한다는 것입니다. 4/5 규칙도 이 계열의 기준입니다. 다만 실제 자격 분포가 집단마다 다른 경우에도 결과를 맞추도록 요구하므로, 정확도를 희생하거나 자격이 부족한 사람을 선발하게 될 수 있다는 비판을 받습니다. 반대로 '실제 자격'이라는 라벨 자체가 과거 차별의 산물이라면(2강의 역사적 편향), 이 기준이 오히려 가장 정직한 선택일 수 있습니다.
기회 균등과 균등화된 오즈는 2016년 하르트(Hardt), 프라이스(Price), 스레브로(Srebro)가 정식화했습니다. 실제 결과를 기준으로 오류율을 맞춘다는 점에서, 정답 라벨을 어느 정도 믿을 수 있을 때 설득력이 큽니다. 기회 균등은 자격 있는 사람이 놓치는 비율만 맞추고, 균등화된 오즈는 잘못 지목되는 비율까지 함께 맞춥니다. 프로퍼블리카가 문제 삼은 것은 FPR의 차이였으므로, 균등화된 오즈 관점의 비판이었습니다.
보정은 개발사가 내세운 기준입니다. 위험 점수 7점을 받은 사람들의 실제 재범률이 인종과 관계없이 같아야 한다는 것입니다. 판사가 점수를 보고 판단한다면 점수의 의미가 집단마다 달라서는 안 된다는 점에서 중요한 성질입니다.
개별 공정성은 2012년 드워크(Dwork) 등이 「인식을 통한 공정성(Fairness Through Awareness)」에서 제안한 관점으로, 집단 평균이 아니라 개인 단위로 '비슷한 사람은 비슷하게' 대우하라고 요구합니다. 집단 기준이 놓치는 개인의 억울함을 다룰 수 있다는 장점이 있지만, 누구와 누가 '비슷한지'를 정하는 거리 기준 자체에 가치 판단이 들어갑니다. 경력 공백 2년을 경력 단절로 볼지 육아 휴직으로 볼지에 따라 비슷한 사람의 범위가 달라집니다.
💻 실전: COMPAS 원자료로 지표 계산하기
이 섹션에서는 프로퍼블리카가 공개한 COMPAS 원자료로 위의 지표를 직접 계산해 보겠습니다. 데이터는 플로리다주 브로워드 카운티 피고인의 위험 점수(1~10점)와 2년 내 실제 재범 여부입니다. 프로퍼블리카 분석과 같은 정제 조건을 적용해 6,172명을 남기고, 그중 흑인 3,175명과 백인 2,103명을 비교했습니다. 프로퍼블리카처럼 점수 5점 이상을 '중·고위험' 판정으로 보았습니다. 계산에는 마이크로소프트가 시작한 오픈소스 공정성 도구 fairlearn(0.14.0)을 썼습니다.
import pandas as pd
from fairlearn.metrics import MetricFrame, selection_rate, false_positive_rate, false_negative_rate
from sklearn.metrics import precision_score
df = pd.read_csv("compas.csv")
df = df[(df.days_b_screening_arrest.between(-30, 30)) & (df.is_recid != -1)
& (df.c_charge_degree != "O") & (df.score_text != "N/A")] # ProPublica와 같은 정제 조건
print("정제 후 전체:", len(df))
df = df[df.race.isin(["African-American", "Caucasian"])].copy()
df["group"] = df.race.map({"African-American": "흑인", "Caucasian": "백인"})
y, pred = df.two_year_recid, (df.decile_score >= 5).astype(int) # 점수 5~10 = 중·고위험
mf = MetricFrame(
metrics={"인원": lambda yt, yp: len(yt), "실제 재범률": lambda yt, yp: yt.mean(),
"고위험 판정률": selection_rate, "FPR": false_positive_rate,
"FNR": false_negative_rate, "PPV": precision_score},
y_true=y, y_pred=pred, sensitive_features=df.group)
print(mf.by_group.round(3).to_string())
sr = mf.by_group["고위험 판정률"]
print("판정률 비율(낮은/높은):", round(sr.min() / sr.max(), 3))
print("\n점수 구간별 실제 재범률(보정 확인)")
df["band"] = pd.cut(df.decile_score, [0, 2, 4, 6, 8, 10], labels=["1-2", "3-4", "5-6", "7-8", "9-10"])
print(df.pivot_table(index="band", columns="group", values="two_year_recid", aggfunc="mean", observed=True).round(3).to_string())
print("\n흑인 기준선을 올려 FPR을 백인과 맞추면?")
for t in range(5, 9):
b = df[df.group == "흑인"]; neg = b[b.two_year_recid == 0]; pos = b[b.decile_score >= t]
print(f" 흑인 기준선 {t}: FPR {(neg.decile_score >= t).mean():.3f}, PPV {pos.two_year_recid.mean():.3f}, FNR {((b.two_year_recid == 1) & (b.decile_score < t)).sum() / (b.two_year_recid == 1).sum():.3f}")
정제 후 전체: 6172
인원 실제 재범률 고위험 판정률 FPR FNR PPV
group
백인 2103.0 0.391 0.331 0.220 0.496 0.595
흑인 3175.0 0.523 0.576 0.423 0.285 0.650
판정률 비율(낮은/높은): 0.575
점수 구간별 실제 재범률(보정 확인)
group 백인 흑인
band
1-2 0.246 0.267
3-4 0.374 0.446
5-6 0.511 0.538
7-8 0.670 0.658
9-10 0.709 0.770
흑인 기준선을 올려 FPR을 백인과 맞추면?
흑인 기준선 5: FPR 0.423, PPV 0.650, FNR 0.285
흑인 기준선 6: FPR 0.314, PPV 0.684, FNR 0.380
흑인 기준선 7: FPR 0.228, PPV 0.710, FNR 0.492
흑인 기준선 8: FPR 0.139, PPV 0.750, FNR 0.618
첫 번째 표부터 읽어 보겠습니다. 흑인 피고인의 FPR은 0.423, 백인은 0.220으로 약 두 배입니다. 재범하지 않은 흑인의 42.3%가 중·고위험으로 분류되었다는 뜻입니다. 반대로 FNR은 백인이 0.496으로 흑인 0.285보다 높아, 실제 재범한 백인의 절반 가까이가 저위험으로 분류되었습니다. 프로퍼블리카 기사의 44.9%·23.5%와 소수점이 다른 것은 기사가 쓴 분석 방식과 기준의 차이 때문이며, 'FPR이 약 두 배'라는 결론은 같습니다. 중·고위험 판정률의 비율은 0.575로, 4/5 규칙을 적용하면 기준선 0.8에 크게 못 미칩니다. 이 규칙은 고용 지침이라 형사사법에 그대로 적용되지는 않지만, 지표의 의미를 감각적으로 이해하는 데 도움이 됩니다.
그런데 PPV, 곧 중·고위험 판정을 받은 사람 중 실제 재범한 비율은 흑인 0.650, 백인 0.595로 크게 다르지 않고, 두 번째 표의 점수 구간별 실제 재범률도 두 집단이 대체로 비슷하게 움직입니다. 7~8점 구간은 0.670과 0.658로 거의 같습니다. 개발사가 '점수의 의미는 집단과 관계없이 같다'고 주장한 근거가 이것입니다. 같은 데이터가 균등화된 오즈 기준으로는 불공정하고, 보정 기준으로는 대체로 공정하게 보이는 것입니다.
세 번째 표는 해결을 시도한 결과입니다. 흑인 피고인에게만 판정 기준선을 7점으로 올리자 FPR이 0.228, FNR이 0.492가 되어 백인(0.220, 0.496)과 거의 같아졌습니다. 균등화된 오즈를 달성한 것입니다. 그 대가로 PPV는 0.710이 되어 백인 0.595와의 차이가 오히려 커졌습니다. 보정이 깨진 것입니다. 게다가 인종에 따라 다른 기준선을 적용하는 것은 그 자체로 인종을 이유로 사람을 다르게 대우하는 일이어서, 많은 법체계에서 직접 차별로 문제가 될 수 있습니다. 한쪽 기준을 맞추면 다른 기준이 깨지는 이 현상이 다음 섹션의 주제입니다.
🧩 불가능성 정리: 왜 모두를 만족시킬 수 없는가
이 섹션에서는 위 실험에서 본 충돌이 우연이 아니라 수학적 필연이라는 점을 살펴보겠습니다. 2016~2017년 두 연구가 거의 동시에 이를 증명했습니다. 클라인버그(Kleinberg), 멀레이너선(Mullainathan), 라가반(Raghavan)은 위험 점수가 ① 집단별로 보정되어 있고, ② 실제 양성인 사람들의 평균 점수가 집단 간 같으며, ③ 실제 음성인 사람들의 평균 점수도 같다는 세 조건을, 예측이 완벽하거나 두 집단의 실제 발생률(기저율)이 같은 특수한 경우가 아니면 동시에 만족할 수 없음을 보였습니다. 알렉산드라 홀데호바(Alexandra Chouldechova)는 COMPAS를 직접 분석하며, 기저율이 다르면 PPV가 같은 판정 도구는 FPR과 FNR을 동시에 같게 만들 수 없다는 것을 보였습니다.
직관적으로 이해해 보겠습니다. 위 데이터에서 실제 2년 내 재범률은 흑인 0.523, 백인 0.391로 다릅니다. 이 차이 자체에 단속 관행 같은 역사적 요인이 들어 있다는 점은 2강에서 보았지만, 일단 주어진 데이터로는 기저율이 다릅니다. 기저율이 높은 집단에서는 같은 점수 기준으로 판정해도 양성 판정이 많아지고, 그만큼 실제 음성인 사람이 양성 판정에 섞여 들어갈 기회도 많아져 FPR이 올라갑니다. FPR을 맞추려고 그 집단의 기준선을 올리면, 이번에는 양성 판정을 받은 사람들이 더 '확실한' 사람들로 좁혀져 PPV가 올라갑니다. 세 숫자는 기저율이라는 공통 분모로 묶여 있어서, 하나를 움직이면 다른 것이 따라 움직입니다.
이 정리가 주는 메시지는 '공정성은 불가능하다'가 아닙니다. '공정성의 정의를 고르는 것은 기술 문제가 아니라 가치 선택'이라는 것입니다. 어떤 오류가 누구에게 더 큰 피해를 주는지, 어떤 기준이 그 사회의 법과 가치에 맞는지를 판단해야 하고, 그 판단에는 피해를 입을 수 있는 사람들과 법률가, 현업 담당자가 함께해야 합니다. 개발자가 라이브러리의 기본값으로 정할 문제가 아닙니다.
🛠️ 편향 완화 기법과 의사결정 절차
이 섹션에서는 공정성 기준을 정한 뒤 실제로 편향을 줄이는 방법과, 기준을 고르는 실무 절차를 정리하겠습니다. 완화 기법은 개입 시점에 따라 세 갈래로 나뉩니다.
| 갈래 | 개입 시점 | 대표 기법 | 장점 | 한계 |
|---|---|---|---|---|
| 전처리(pre-processing) | 학습 전 데이터 | 표본 재가중, 재표집, 보호 속성과의 상관 제거(fairlearn의 CorrelationRemover) | 모델 종류와 무관하게 적용 | 측정 편향(잘못된 라벨)은 못 고침 |
| 처리 중(in-processing) | 학습 과정 | 공정성 제약을 둔 학습(fairlearn의 ExponentiatedGradient, GridSearch) | 정확도와 공정성의 균형을 직접 최적화 | 모델을 다시 학습해야 함 |
| 후처리(post-processing) | 예측 결과 | 집단별 기준선 조정(fairlearn의 ThresholdOptimizer) | 이미 만든 모델에도 적용 | 보호 속성을 판정 시점에 써야 해 법적 문제 소지 |
어떤 기법이든 공짜는 없습니다. 공정성 지표를 개선하면 전체 정확도가 조금 떨어지는 경우가 많고, 앞에서 본 것처럼 다른 공정성 지표가 나빠질 수 있습니다. 그래서 '완화했다'로 끝내지 말고, 완화 전후의 정확도와 여러 공정성 지표를 한 표에 놓고 비교해 결정해야 합니다. 그리고 2강에서 본 측정 편향처럼 문제의 뿌리가 '무엇을 예측하는가'에 있다면, 어떤 기법보다 예측 대상을 바꾸는 것이 가장 효과적인 처방입니다.
민감 정보를 다루는 문제도 있습니다. 집단별 지표를 계산하려면 성별·인종 같은 정보가 필요한데, 이는 개인정보 보호법에서 특히 보호하는 정보입니다. EU AI Act는 2026년 개정으로 제4a조를 두어, 고위험 AI 제공자 등이 편향 탐지와 교정을 위해 꼭 필요한 범위에서 민감 정보를 처리할 수 있게 하되, 합성·익명 데이터로는 안 될 때에 한하고, 가명 처리와 접근 통제를 하며, 제3자에게 넘기지 않고, 목적을 이루면 삭제하고, 그 이유를 기록하도록 했습니다. 공정성 검증과 개인정보 보호를 함께 지키는 방향을 보여 주는 예입니다.
공정성 기준을 정하는 실무 절차는 다음 다섯 단계로 정리할 수 있습니다. 첫째, 결정과 피해를 적습니다. 이 시스템이 내리는 결정은 무엇이고, 거짓 양성과 거짓 음성은 각각 누구에게 어떤 피해를 주는지 적습니다. 대출 거절의 거짓 양성은 신용 있는 사람의 기회 박탈이고, 암 검진의 거짓 음성은 치료 시기 상실입니다. 둘째, 보호 집단을 정합니다. 법이 보호하는 속성과, 이 서비스에서 특히 불리해질 수 있는 집단을 함께 정합니다. 셋째, 기준을 고르고 이유를 기록합니다. 피해가 큰 오류를 기준으로 지표를 고르고, 보조 지표도 함께 감시합니다. 넷째, 허용 범위를 정합니다. 집단 간 차이를 어느 정도까지 허용할지, 4/5 규칙처럼 숫자로 정합니다. 다섯째, 운영 중 감시합니다. 이용자 구성과 데이터가 바뀌므로 정기적으로 다시 계산하고, 기준을 벗어나면 대응합니다. 이 결정 기록은 17강의 영향 평가 문서의 핵심 내용이 됩니다.
📝 핵심 요약과 다음 강 예고
| 핵심 개념 | 정리 |
|---|---|
| 정의의 충돌 | 인구통계적 동등성·기회 균등·균등화된 오즈·보정·개별 공정성은 서로 다른 것을 같게 맞춤 |
| COMPAS 실측 | FPR 흑인 0.423 vs 백인 0.220(오즈 기준 불공정), PPV 0.650 vs 0.595·구간별 재범률 유사(보정 기준 대체로 공정) |
| 기준선 조정 | 흑인 기준선 7점 → FPR 0.228·FNR 0.492로 맞췄지만 PPV 0.710으로 보정이 깨짐, 집단별 기준선은 법적 문제 소지 |
| 불가능성 정리 | 기저율이 다르면 보정과 오류율 동등을 동시에 만족할 수 없음 → 기준 선택은 가치 판단 |
| 규칙과 법 | 4/5 규칙(미국 고용 지침), 개인정보보호법 제37조의2(자동화된 결정 거부·설명 요구), EU AI Act 제4a조(편향 탐지용 민감 정보 처리) |
| 완화와 절차 | 전처리·처리 중·후처리, 결정과 피해 기록 → 집단 → 기준 → 허용 범위 → 운영 감시 |
공정성을 점검하려면 결국 '모델이 왜 그런 판정을 내렸는가'를 알아야 하는 순간이 옵니다. 개인정보보호법이 정보주체에게 설명을 요구할 권리를 준 것도 같은 맥락입니다. 다음 4강 「설명가능성과 투명성: 블랙박스를 열 수 있는가」에서는 모델의 판단 근거를 들여다보는 기법들이 실제로 무엇을 알려 주고 무엇을 알려 주지 못하는지, 그리고 법이 요구하는 '설명'은 어느 수준인지 살펴보겠습니다.
📚 참고 자료
- propublica/compas-analysis — 데이터와 분석 코드(GitHub)
- How We Analyzed the COMPAS Recidivism Algorithm — ProPublica
- Kleinberg, Mullainathan, Raghavan, Inherent Trade-Offs in the Fair Determination of Risk Scores — arXiv(2016)
- Chouldechova, Fair prediction with disparate impact — arXiv(2016)
- Hardt, Price, Srebro, Equality of Opportunity in Supervised Learning — arXiv(2016)
- Dwork et al., Fairness Through Awareness — arXiv(2011)
- Fairlearn 공식 문서
- 29 CFR § 1607.4 — Uniform Guidelines on Employee Selection Procedures(4/5 규칙)
- 개인정보 보호법상 자동화된 결정에 대한 정보주체의 대응권 — 법무법인 린
- EU AI Act Article 4a — artificialintelligenceact.eu
관련 주제
- 공정성 지표
- 인구통계적 동등성
- 균등화된 오즈
- 보정
- 불가능성 정리
- 4/5 규칙
- fairlearn
- COMPAS
- 편향 완화
- AI 기술
- AI 기술 강의
- AI 윤리·안전·글로벌 규제
- 무료강의
- 무료 온라인 강의
- NUGUNA
- 누구나
📚 시리즈 전체 공유
AI 윤리·안전·글로벌 규제
이 강의가 속한 시리즈는 총 3강, 모두 무료입니다. 처음부터 배우려는 동료에게 시리즈 전체를 알려 주세요.
댓글
불러오는 중...
