brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Feb 25. 2020

TensorFlow 제약조건 최적화 라이브러리로 공정성

2020 년 2월 21일 (금) - 구글 AI 리서치 블로그

지도(supervised) 머신러닝을 사용하는 많은 기술은 질병의 조기 징후 파악에서 부적절한 콘텐츠 필터링에 이르기까지 사람들의 일상생활에 점점 긍정적인 영향을 미치고 있습니다. 그러나 일반적으로 단일 손실함수(loss function)를 최소화하기 위한 한정된 요구 사항을 충족시키는 학습 모델이 점점 더 많은 사회 문제를 해결해야 하는 공정성(Fairness, Responsible AI)과 같은 보다 광범위한 사회적 문제를 해결하는 데 어려움이 있을 수 있다는 우려가 커지고 있습니다. 이러한 요소를 고려하더라도 이러한 시스템은 여전히 복잡한 설계 요구 사항을 충족하지 못할 수 있습니다. 예를 들어, 거짓부정(false negative)이 거짓긍정(false positive)보다 "더 정도가 나쁜" 또는 훈련 중인 모델이 기존 모델과 "유사"해야 합니다.


TFCO(TensorFlow Constrained Optimization) 라이브러리를 사용하면 여러 가지 다른 메트릭(예: 특정 그룹 구성원의 정밀도(precision), 특정 국가 거주자에 대한 참 긍정률(true positive rate)또는 연령과 성별에 따른 암 진단의 재현율(recall rates))을 기반으로 머신러닝 문제를 쉽게 구성하고 훈련할 수 있습니다. 이러한 측정 항목은 개념적으로 단순하지만, 사용자에게 임의의 조합을 최소화하고 제한할 수 있는 기능을 제공함으로써 TFCO를 통해 특히 공정성 커뮤니티(예: 등화 확률(equalized odds) 및 예측 패리티(predictive parity) 및 머신러닝 커뮤니티에 대한 많은 관심 있는 문제를 쉽게 구성하고 해결할 수 있습니다. 


TFCO는 AI 원칙과 어떤 관련이 있습니까? 

TFCO의 출시는 AI 원칙을 실천에 옮기고 연구 및 실제에서 AI의 윤리적 개발 및 사용을 안내하는 데 도움을 줍니다. 우리는 TFCO를 개발자에게 제공함으로써 모델이 위험하고 해로운 위치를 식별하고 모델이 바람직한 결과를 얻을 수 있도록 제약 조건을 설정하는 데 더 나은 장비를 갖추는 것을 목표로 합니다. 


그 목표들은 무엇입니까? 

Hardt et al. 의 사례를 빌려, 대출을 상환할 수 있는 사람들(양수 라벨, +) 또는 그렇지 않은 사람들(음수 라벨, -)의 데이터셋 기반으로 사람이 대출을 받을지(양수 예측) 아닌지(음수)를 결정하는 classifier를 학습하는 작업을 고려하십시오. TFCO에서 이 문제를 설정하기 위해, 우리는 빚을 갚을 사람들에게 대출을 제공하는 모델에 보상하는 목적함수(Objective function)를 선택하고, 특정 보호 집단의 사람들에게 불공정하게 대출을 거부하는 것을 막는 공정성 제약 조건들(fairness constraints)을 부과할 것입니다. TFCO에서 최소화 목표와 부과하는 제약 조건은 간단한 기본 속도의 대수 표현(일반 Python 연산자 사용)으로 표시됩니다. 


TFCO에 선형 모델에 대해 학습된 분류기의 전체 오류율(error rate)을 최소화하도록 지시하면 (공정성 제약 조건 없음) 다음과 같은 결정 경계(점선, --)가 생성될 수 있습니다.

[그림 1]

[그림 1] 상세 설명 - 두 개의 보호 그룹들이 있는 이진 분류 데이터 집합의 그림: 파란색과 주황색. 가시성을 쉽게 하기 위해 각 개별 데이터 포인트를 플로팅 하지 않고 밀도를 타원으로 표시합니다. 양수 및 음수 부호는 라벨들을 나타냅니다. 결정 경계는 정확도를 최대화하기 위해 선택된 긍정적 예측(선 위의 영역)과 음수 선 아래의 영역) 라벨을 분리하는 검은색 점선으로 표시됩니다.


이것은 fine classifier이지만 특정 응용 프로그램에서는 불공평하다고 생각할 수 있습니다. 예를 들어, 양수로 표시된 파란색 예는 양수로 표시된 주황색 예보다 "균등한 기회(equal opportunity") 원칙을 위반하여 음수 예측을 받을 가능성이 훨씬 높습니다. 이를 수정하기 위해 동일한 기회 제한 조건을 제한 조건 목록에 추가할 수 있습니다. resulting classifier는 이제 다음과 같습니다.

[그림 2] 여기서 결정 경계는 동일한 기회 (또는 실제 양의 비율) 제약 조건에 따라 정확도를 최대화하기 위해 선택됩니다.

어떤 제약 조건들을 설정해야 하는지 어떻게 알 수 있습니까?

"올바른" 제약 조건들을 선택하는 것은 문제와 사용자의 정책 목표 또는 요구 사항에 따라 다릅니다. 이러한 이유로 Google은 사용자가 선별된 "baked-in" 문제 목록 중에서 선택하지 않도록 노력했습니다. 대신 간단한 기본 요율을 결합하고 조작하여 사용자가 매우 광범위한 가능한 문제를 정의할 수 있게 함으로써 유연성을 극대화하려고 노력했습니다.


이 유연성은 단점이 있을 수 있습니다. 주의하지 않으면 모순되는 제약 조건들(contradictory constraints)을 적용하려고 시도할 수 있으며, 좋은 솔루션으로 제한적인 문제가 발생할 수 있습니다. 상기 예와 관련하여, 실제 참 긍정률(TPR)에 더하여, 거짓 긍정률(FPR)(즉, "등화 확률")이 동일하도록 제한할 수 있습니다. 그러나 선형 모델에 대한 요구 사항과 함께 이 두 가지 제약 조건의 잠재적으로 모순되는 특성으로 인해 정확도가 매우 낮은 솔루션을 찾게 될 수 있습니다. 예를 들면 다음과 같습니다.


[그림 3]

[그림 3] 상세 설명 - 여기서 결정 경계는 정확도를 최대화하기 위해 선택되며, 참 긍정률과 거짓 긍정률 제한이 적용됩니다.


융통성이 충분하지 않은 모델을 사용하면 두 그룹의 FPR이 같지만 매우 크거나(위 그림의 경우와 같이) TPR이 같지만 매우 작습니다 (표시되지 않음).


실패할 수 있습니까?

속도 제약 조건으로 많은 공정성 목표를 표현할 수 있는 기능은 머신러닝의 책임 있는 개발을 진전시키는 데 도움이 될 수 있지만 개발자가 해결하려는 문제를 신중하게 고려해야 합니다. 예를 들어, 하나의 그룹이 4개의 그룹에 대해 동일한 정확도를 제공하도록 훈련을 제한하지만 해당 그룹 중 하나가 분류하기가 훨씬 어렵다고 가정하십시오. 이 경우 제약 조건을 충족하는 유일한 방법은 세 개의 쉬운 그룹의 정확도를 낮추어 네 번째 그룹의 낮은 정확도와 일치시키는 것입니다. 이것은 아마도 바람직한 결과가 아닙니다.


"safer" 대안은, 예를 들어 각 그룹이 적어도 75 % 의 정확도를 달성하도록 요구함으로써 각각의 그룹이 일부 절대 메트릭을 독립적으로 만족시키도록 제한하는 것입니다. 상대 제약조건(relative contraints)이 아닌 이러한 절대 제약조건(absolute contraints)을 사용하면 일반적으로 그룹이 서로를 끌어내지 못하게 됩니다. 물론 달성할 수 없는 최소 정확도를 요구할 수 있으므로 여전히 양심이 필요합니다.


작은 샘플 크기의 저주

제한적 최적화를 사용하는 데 따른 또 다른 일반적인 과제는 제약 조건이 적용되는 그룹이 데이터 집합에 잘 나타나지 않을 수 있다는 것입니다. 결과적으로 훈련 중에 계산하는 확률적 그라디언트(stochastic gradient)는 잡음이 심해 수렴이 느려집니다. 이러한 시나리오에서는 사용자가 각 그룹의 비율이 더 높은 별도의 재조정된 데이터셋에 제약 조건을 적용하고 오리지널 데이터셋을 사용하여 목표를 최소화하는 것이 좋습니다. 


예를 들어, 우리가 제공하는 Wiki toxicity example에서 Wiki talk 페이지에 게시된 토론 의견이 독성이 있는지(예: "무례, 무례하거나 부당한"내용이 포함되어 있는지) 예측하고 싶습니다. 의견의 1.3%만이 “성”과 관련된 용어를 언급하고 있으며, 이러한 의견의 대부분은 독성으로 분류되어 있습니다. 따라서, 이 데이터셋에 대한 제약 없이 CNN 모델을 훈련시키는 것은 “성”이 독성의 강력한 지표이며 이 그룹에 대해 고 거짓 긍정률(FPR)을 초래한다고 믿는 모델로 이어집니다. 우리는 TFCO를 사용하여 4 가지 민감한 주제(sexuality, gender identity, religion, race)가 2 % 이내가 되도록 거짓 긍정률(FPR)을 제한합니다. 소규모 그룹 규모를 보다 잘 처리하기 위해 “re-balnaced” 데이터셋을 사용하여 제약 조건을 적용하고 원래 데이터셋만 목표를 최소화합니다. 아래에 표시된 것처럼 구속된 모델은 네 개의 토픽 그룹에서 거짓 긍정률을 크게 낮추는 동시에 구속되지 않은 모델과 거의 동일한 정확도를 유지할 수 있습니다.

[그림 4] Wiki Talk 페이지에서 독성 의견을 분류하기 위한 제한되지 않고 구속된 CNN 모델 비교

교차 – 미세 입자 그룹들의 도전 과제

겹치는 제약 조건은 역사적으로 소외된 소수 그룹의 여러 범주에 대해 동등한 경험을 제공하는 데 도움이 될 수 있습니다. 위의 예를 넘어서, 우리는 또한 상호 배타적이지 않은 여러 보호 그룹에서 잘 수행하려는 이미지의 미소를 감지하기 위한 컴퓨터 비전 모델을 검사하는 CelebA 예도 제공합니다.


거짓 긍정률은 웃는 얼굴로 잘못 표시된 이미지의 비율을 측정하기 때문에 여기에서 적절한 측정 기준이 될 수 있습니다. 가용 연령 그룹(젊고 오래된) 또는 성별(남성과 여성) 범주를 기준으로 거짓긍정율를 비교함으로써 바람직하지 않은 모델 편향 (즉, 웃고 있는 노인 이미지가 그렇게 인식되지 않는지)을 확인할 수 있습니다.

[그림 5] Wiki Talk 페이지에서 독성 의견을 분류하기 위한 제한되지 않고 구속된 CNN 모델 비교

내부적으로

카운트(예: 정확도 비율은 올바른 예측 수를 예제 수로 나눈 값)와 관련하여 기록되는 속도 제한 조건을 올바르게 처리하는 것은 어려운 일입니다. 제약조건 함수들(constraint functions)은 구분할 수 없기 때문입니다. 알고리즘적으로 TFCO는 제한된 문제를 0이 아닌 2인 게임(ALT'19, JMLR'19)으로 변환합니다. 이 프레임워크는 등급 및 회귀 설정(AAAI'20), F-측정(NeurIPS'19a)과 같은 보다 복잡한 메트릭을 처리하거나 일반화 성능(ICML'19)을 개선하도록 확장될 수 있습니다.


TFCO 라이브러리는 실제 요구 사항을 충족시키는 데 필요한 사회적 및 문화적 요소를 고려한 ML 모델을 교육하는 데 유용할 것이라고 믿습니다. 우리가 제공 한 예(독성 분류(toxicity classification) 및 스마일 감지(smile detection)는 표면을 긁을 뿐입니다. TFCO의 유연성으로 문제의 고유한 요구 사항을 처리할 수 있기를 바랍니다.


감사의 말

이 작품은 Andrew Cotter, Maya R. Gupta, Heinrich Jiang, Harikrishna Narasimhan, Taman Narayan, Nathan Srebro, Karthik Sridharan, Serena Wang, Blake Woodworth 및 Seungil You를 포함한 TFCO의 저자 및 관련 연구 논문의 공동 노력이었습니다.


원본 제목: TensorFlow 제약 조건 최적화 라이브러리로 공정성 설정(Setting Fairness Goals with the TensorFlow Constrained Optimization Library)
원본 링크: https://ai.googleblog.com/2020/02/setting-fairness-goals-with-tensorflow.html
게시자 : Andrew Zaldivar, TFCO 팀을 대표하는 Google Research Responsible AI Adovacate
TensorFLow Contstrained Optimization Library 오픈 소스: https://github.com/google-research/tensorflow_constrained_optimization/blob/master/README.md
CelebA_fairness.ipynb 예제: https://github.com/google-research/tensorflow_constrained_optimization/blob/master/examples/colab/CelebA_fairness.ipynb
Wiki_toxicity_fairness.ipynb 예제: https://github.com/google-research/tensorflow_constrained_optimization/blob/master/examples/colab/Wiki_toxicity_fairness.ipynb
구글 머신 러닝 용어집(한글): https://developers.google.com/machine-learning/glossary
이  블로그는 2020년 2월 21일(금), Google AI Research Blog 기사를 영어에서 우리나라 말로 번역한   것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게   저작권이 있음을 알려 드립니다. (First Draft Version)


매거진의 이전글 TyDi QA: 다국어 질문 답변 벤치마크
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari