KR102629553B1 - 기계 학습 모델을 사용하여 편향된 데이터 거절 - Google Patents

기계 학습 모델을 사용하여 편향된 데이터 거절 Download PDF

Info

Publication number
KR102629553B1
KR102629553B1 KR1020237023811A KR20237023811A KR102629553B1 KR 102629553 B1 KR102629553 B1 KR 102629553B1 KR 1020237023811 A KR1020237023811 A KR 1020237023811A KR 20237023811 A KR20237023811 A KR 20237023811A KR 102629553 B1 KR102629553 B1 KR 102629553B1
Authority
KR
South Korea
Prior art keywords
data set
bias
training data
training
score
Prior art date
Application number
KR1020237023811A
Other languages
English (en)
Other versions
KR20230110830A (ko
Inventor
크리스토퍼 파라
스티븐 로스
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020247002451A priority Critical patent/KR20240013898A/ko
Publication of KR20230110830A publication Critical patent/KR20230110830A/ko
Application granted granted Critical
Publication of KR102629553B1 publication Critical patent/KR102629553B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Complex Calculations (AREA)

Abstract

기계 학습 모델(300)을 사용하여 편향된 데이터를 거절하는 방법(500)은, 알려진 비편향 데이터 집단을 포함하는 클러스터 훈련 데이터 세트(130)를 수신하고, 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트를 클러스터들(212)로 분할하기 위해 클러스터링 모델(211)을 훈련시키는 단계를 포함한다. 클러스터 훈련 데이터 세트의 각 클러스터는 클러스터 가중치(214)를 포함한다. 방법은 또한 기계 학습 모델에 대한 훈련 데이터 세트(302)를 수신하고 클러스터링 모델에 기초하여 기계 학습 모델에 대한 훈련 데이터 세트에 대응하는 훈련 데이터 세트 가중치(218)를 생성하는 단계를 포함한다. 방법은 또한 각각의 클러스터 가중치와 매칭하도록 훈련 데이터 세트 가중치의 각 훈련 데이터 세트 가중치를 조정하고 조정된 훈련 데이터 세트를 비편향 훈련 데이터 세트로서 기계 학습 모델에 제공하는 단계(206)를 포함한다.

Description

기계 학습 모델을 사용하여 편향된 데이터 거절{REJECTING BIASED DATA USING A MACHINE LEARNING MODEL}
본 명세서는 기계 학습 모델을 사용하여 편향된(바이어스) 데이터를 거절하는 것에 관한 것이다.
일반적으로 편향(바이어스)은 통계가 파라미터를 과대 평가하거나 과소 평가하는 경향이다. 이와 관련하여 데이터 수집 및 데이터 분석에는 일반적으로 몇 가지 고유한 편견이 포함된다. 이러한 편향은 수집 및 분석 방법 또는 수집 및 분석을 수행하는 엔티티에서 발생할 수 있다. 예를 들어, 인간이 설계하고 수행한 데이터 연구는 특정 가설, 인간 설계 제약(예: 인간 능력), 샘플링 제약 등을 충족시킬 수 있다. 이러한 요소를 충족함으로써 연구 데이터 결과에는 연구 대상 집단을 대표하지 않는 샘플을 기반으로 한 다양한 샘플링 오류, 측정 오류 또는 오류가 더 광범위하게 포함될 수 있다. 컴퓨터 처리를 통해 기술이 사람의 활동과 비교할 수없는 속도로 데이터를 수집하고 분석할 수 있으므로 데이터 처리 기술은 편견 문제를 동등하게 극복해야한다. 그렇지 않으면 데이터 처리, 특히 대량 데이터의 경우 편향 문제가 증폭되고 인간 활동에 의해 생성된 편향과 비교할 수 없는 결과가 생성 될 수 있다.
본 발명의 한 양태는 기계 학습 모델을 사용하여 편향된 데이터를 거절하는 방법을 제공한다. 이 방법은 데이터 처리 하드웨어에서 클러스터 훈련 데이터 세트를 수신하는 단계를 포함하며, 클러스터 훈련 데이터 세트는 알려진 비편향 데이터 집단을 포함한다. 방법은 또한 데이터 처리 하드웨어에 의해, 클러스터링 모델을 훈련하여 수신된 클러스터 훈련 데이터 세트를 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 클러스터들로 분할하는 단계를 포함한다. 클러스터 훈련 데이터 세트의 각 클러스터는 클러스터 가중치를 포함한다. 방법은 데이터 처리 하드웨어에서, 기계 학습 모델에 대한 훈련 데이터 세트를 수신하는 단계; 데이터 처리 하드웨어에 의해, 클러스터링 모델에 기초하여 기계 학습 모델에 대한 훈련 데이터 세트에 대응하는 훈련 데이터 세트 가중치들을 생성하는 단계를 더 포함한다. 이 방법은 또한 데이터 처리 하드웨어에 의해, 각각의 클러스터 가중치와 매칭하고 조정된 훈련 데이터 세트를 형성하도록 훈련 데이터 세트 가중치들의 각 훈련 데이터 세트 가중치를 조정하는 단계; 그리고 데이터 처리 하드웨어에 의해, 조정된 훈련 데이터 세트를 비편향 훈련 데이터 세트로서 기계 학습 모델에 제공하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 조정된 훈련 데이터 세트를 비편향 훈련 데이터 세트로서 기계 학습 모델에 제공하는 단계는 비편향 훈련 데이터 세트로 기계 학습 모델을 훈련시키는 단계를 포함한다. 방법은 데이터 처리 하드웨어에 의해, 비편향 훈련 데이터 세트로 기계 학습 모델을 훈련시키는 단계를 포함할 수 있거나, 데이터 처리 하드웨어에서 적어도 하나의 개별 데이터 특성을 포함하는 샘플 데이터 세트를 수신하는 단계를 포함할 수 있다. 상기 방법은 데이터 처리 하드웨어에 의해, 훈련된 기계 학습 모델을 사용하여 수신된 샘플 데이터 세트에 기초하여 비편향 예측 값을 생성하는 단계를 더 포함할 수 있다.
일부 예들에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 단계는, 각 훈련 데이터 세트 가중치에 대해: 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 각각의 클러스터 가중치에 매칭시키는 단계; 그리고 훈련 데이터 세트 가중치가 각각의 클러스터 가중치와 매칭할 때까지 훈련 데이터 세트로부터 데이터를 제거하는 단계를 포함할 수 있다. 다른 예들에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 단계는, 각 훈련 데이터 세트 가중치에 대해: 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 각각의 클러스터 가중치에 매칭시키는 단계; 그리고 훈련 데이터 세트 가중치가 각각의 클러스터 가중치와 매칭할 때까지 훈련 데이터 세트로부터 데이터를 복제하는 단계를 포함할 수 있다.
일부 구성에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 단계는, 각 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 클러스터 가중치에 매칭시키는 단계를 포함할 수 있다. 훈련 데이터 세트 가중치가 각 클러스터 가중치보다 작을 때, 방법은, 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 증가를 나타내는 중요도 가중치를 연관시키는 단계를 포함할 수 있다. 추가적으로 또는 대안적으로, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 단계는, 각 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 클러스터 가중치에 매칭시키는 단계를 포함할 수 있다. 훈련 데이터 세트 가중치가 각각의 클러스터 가중치보다 클 때, 방법은 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 감소를 나타내는 중요도 가중치를 연관시키는 단계를 포함할 수 있다.
일부 구현에서, 각각의 클러스터 가중치와 매칭하도록 훈련 데이터 세트 가중치들의 각 훈련 데이터 세트 가중치를 조정하는 단계는, 각 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 해당 클러스터 가중치에 매칭시키는 단계를 포함할 수 있다. 훈련 데이터 세트 가중치가 해당 클러스터 가중치보다 작을 때, 방법은 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 증가를 나타내는 중요도 가중치를 연관시키는 단계를 포함할 수 있다. 훈련 데이터 세트 가중치가 해당 클러스터 가중치보다 클 때, 방법은 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 감소를 나타내는 중요도 가중치를 연관시키는 단계를 포함할 수 있다.
일부 예들에서, 상기 클러스터링 모델을 훈련시키는 단계는, 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트를 클러스터들로 분할하는 단계를 포함할 수 있다. 이 예에서, 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 클러스터들의 각 클러스터에 대해, 방법은 알려진 비편향 데이터 집단의 크기에 대한 각 클러스터의 크기의 비율에 기초하여 클러스터링 모델의 각 클러스터에 대한 클러스터 가중치를 결정하는 단계를 포함할 수 있다. 일부 구현에서, 비지도 기계 학습 알고리즘은 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트를 클러스터들로 분할할 수 있다.
본 개시의 다른 양태는 기계 학습 모델을 사용하여 편향된 데이터를 거절하기 위한 시스템을 제공한다. 시스템에는 데이터 처리 하드웨어와, 데이터 처리 하드웨어와 통신하는 메모리 하드웨어가 포함된다. 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하도록 하는 명령어를 저장한다. 동작들은 클러스터 훈련 데이터 세트를 수신하는 동작을 포함할 수 있으며, 클러스터 훈련 데이터 세트는 알려진 비편향 데이터 집단을 포함할 수 있다. 동작들은, 클러스터링 모델을 훈련하여 수신된 클러스터 훈련 데이터 세트를 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 클러스터들로 분할하는 동작을 포함하며, 클러스터 훈련 데이터 세트의 각 클러스터는 클러스터 가중치를 포함할 수 있다. 동작들은 기계 학습 모델에 대한 훈련 데이터 세트를 수신하는 동작; 클러스터링 모델에 기초하여 기계 학습 모델에 대한 훈련 데이터 세트에 대응하는 훈련 데이터 세트 가중치들을 생성하는 동작을 더 포함할 수 있다. 동작들은, 각각의 클러스터 가중치와 매칭하고 조정된 훈련 데이터 세트를 형성하도록 훈련 데이터 세트 가중치들의 각 훈련 데이터 세트 가중치를 조정하는 동작; 그리고 조정된 훈련 데이터 세트를 비편향 훈련 데이터 세트로서 기계 학습 모델에 제공하는 동작를 더 포함할 수 있다.
이 양태는 다음의 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구성에서, 조정된 훈련 데이터 세트를 비편향 훈련 데이터 세트로서 기계 학습 모델에 제공하는 동작은 비편향 훈련 데이터 세트로 기계 학습 모델을 훈련시키는 동작을 포함할 수 있다. 동작들은, 비편향 훈련 데이터 세트로 기계 학습 모델을 훈련시키는 동작; 적어도 하나의 개별 데이터 특성을 포함하는 샘플 데이터 세트를 수신하는 동작; 그리고 훈련된 기계 학습 모델을 사용하여 수신된 샘플 데이터 세트에 기초하여 비편향 예측 값을 생성하는 동작을 더 포함할 수 있다.
일부 구현에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 동작은, 각 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 각각의 클러스터 가중치에 매칭시키는 동작; 그리고 훈련 데이터 세트 가중치가 각각의 클러스터 가중치와 매칭할 때까지 훈련 데이터 세트로부터 데이터를 제거하는 동작을 포함할 수 있다. 다른 예들에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 동작은, 각 훈련 데이터 세트 가중치에 대해: 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 각각의 클러스터 가중치에 매칭시키는 동작; 그리고 훈련 데이터 세트 가중치가 각각의 클러스터 가중치와 매칭할 때까지 훈련 데이터 세트로부터 데이터를 복제하는 동작을 포함할 수 있다.
일부 예들에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 동작은, 각각의 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 클러스터 가중치에 매칭시키는 동작을 포함할 수 있다. 이 예에서, 훈련 데이터 세트 가중치가 각 클러스터 가중치보다 작을 때, 동작들은 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 증가를 나타내는 중요도 가중치를 연관시키는 동작을 포함할 수 있다. 다른 예들에서, 각각의 클러스터 가중치와 매칭하도록 각 훈련 데이터 세트 가중치를 조정하는 동작은, 각각의 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 클러스터 가중치에 매칭시키는 동작을 포함할 수 있다. 이 예에서, 훈련 데이터 세트 가중치가 각각의 클러스터 가중치보다 클 때, 동작들은, 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 감소를 나타내는 중요도 가중치를 연관시키는 동작을 포함할 수 있다.
추가적으로 또는 대안적으로, 각각의 클러스터 가중치와 매칭하도록 훈련 데이터 세트 가중치들의 각 훈련 데이터 세트 가중치를 조정하는 동작은, 각 훈련 데이터 세트 가중치에 대해, 공통 데이터 특성에 기초하여 훈련 데이터 세트 가중치를 해당 클러스터 가중치에 매칭시키는 동작을 포함할 수 있다. 훈련 데이터 세트 가중치가 해당 클러스터 가중치보다 작을 때, 동작들은, 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 증가를 나타내는 중요도 가중치를 연관시키는 동작을 포함할 수 있다. 훈련 데이터 세트 가중치가 해당 클러스터 가중치보다 클 때, 동작들은 훈련 데이터 세트 가중치에 대응하는 훈련 데이터에 대해 기계 학습 모델의 훈련 감소를 나타내는 중요도 가중치를 연관시키는 동작을 포함할 수 있다.
일부 구성에서, 상기 클러스터링 모델을 훈련시키는 동작은, 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트를 클러스터들로 분할하는 동작; 그리고 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 클러스터들의 각 클러스터에 대해, 알려진 비편향 데이터 집단의 크기에 대한 각 클러스터의 크기의 비율에 기초하여 클러스터링 모델의 각 클러스터에 대한 클러스터 가중치를 결정하는 동작을 더 포함할 수 있다. 일부 예들에서, 비지도 기계 학습 알고리즘은 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트를 클러스터들로 분할할 수 있다.
본 개시 내용의 하나 이상의 구현의 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 다른 양태, 특징 및 장점은 설명 및 도면, 그리고 청구 범위로부터 명백해질 것이다.
도 1은 예시적인 기계 학습 환경의 개략도이다.
도 2a는 편향(bias) 거절(제거) 모델에 대한 예시적인 처리 단계의 개략도이다.
도 2b는 도 2a의 훈련 단계 동안 예시적인 편향 거절 모델의 개략도이다.
도 2c는 도 2a의 비편향(unbiasing) 단계 동안의 예시적인 편향 거절 모델의 개략도이다.
도 2d 및 2e는 도 2a의 비편향 단계 동안 편향 거절 모델에 의해 이루어진 예시적인 조정의 개략도이다.
도 3은 편향 거절 모델로부터의 비편향 훈련 데이터를 통합하는 기계 학습 모델에 대한 예시적인 처리 단계의 개략도이다.
도 4는 데이터 세트에 대한 편향 점수를 생성하기 위한 예시적인 편향 점수 모델의 개략도이다.
도 5는 기계 학습 환경 내에서 기계 학습 모델을 비편향하기 위한 예시적인 방법의 흐름도이다.
도 6은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
다양한 도면에서 유사한 참조 기호는 유사한 요소를 나타낸다.
도 1은 기계 학습 환경(10)의 예이다. 기계 학습 환경(10)은 일반적으로 네트워크(120), 편향(바이어스) 거절 모델(200) 및 기계 학습 모델(300)을 통해 액세스 가능한 리소스(자원)(110)를 갖는 분산 시스템(100)(예를 들어, 클라우드 환경과 같은 원격 시스템)을 포함한다. 리소스(110)는 편향 거절 모델(200) 및/또는 기계 학습(ML) 모델(300)에 액세스할 수 있으며, 편향 거절 모델(200) 및/또는 기계 학습 모델(300)을 훈련하는 데 사용하고 여기에 개시된 기계 학습 기능을 수행하기 위해 사용할 수 있다. 분산 시스템(100)은 편향 거절 모델(200) 및/또는 기계 학습 모델(300)을 실행할 수 있는 컴퓨팅 리소스(예를 들어, 리소스(110))를 갖는 임의의 컴퓨터 처리 시스템일 수 있다. 일부 예들에서, 편향 거절 모델(200) 및/또는 기계 학습 모델(300)은 네트워크(120)를 통해 분산 시스템(100)에 액세스할 수 있거나 그렇지 않으면 그와 통신하는 장치에서 실행된다. 예를 들어, 장치는 분산 시스템(100)과 관련된 웹 기반 애플리케이션을 실행할 수 있다.
일반적으로, 분산 시스템(100)의 리소스(110)는 하드웨어 리소스(110h, 110h1-i) 및 소프트웨어 리소스(110s, 110s1-i)를 포함할 수 있다. 하드웨어 리소스(110h)는 데이터 처리 하드웨어(112) 및 메모리 하드웨어(114)를 포함한다. 소프트웨어 리소스(110s)는 소프트웨어 애플리케이션, 소프트웨어 서비스, 애플리케이션 프로그래밍 인터페이스(API) 등을 포함할 수 있다. 소프트웨어 리소스(110s)는 하드웨어 리소스(110h)(예를 들어, 메모리 하드웨어(114)에 저장 됨)에 상주할 수 있거나 데이터 처리 하드웨어(112)에서 실행되는 명령어를 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스(110s))은 컴퓨팅 장치가 작업(테스크)을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예제 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드 시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 국한되지는 않는다.
메모리 하드웨어(114)는 데이터 처리 하드웨어(112)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있는 비-일시적 메모리이다. 메모리 하드웨어(114)는 휘발성 및/또는 비-휘발성 어드레싱 반도체 메모리일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다. 휘발성 메모리의 예로는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 등이 있다.
도시된 예에서, 편향 거절 모델(200)은 기계 학습 모델(300)에 해로운 영향을 미치는 편향(바이어스) 문제를 해결하기 위해 리소스(110)와 함께 실행된다. 즉, 편향 거절 모델(200)은 기계 학습(ML) 데이터 세트(302)와 관련되지만 ML 모델을 훈련하는데 사용하기 위해 제거된 편향된 데이터와 관련된 비편향(unbiased) 훈련 데이터 세트(206)를 생성/출력함으로써 편향된(biased) 데이터를 포함하는 기계 학습(ML) 훈련 데이터 세트(302)에서 기계 학습 모델(300)을 훈련시키는 것을 방지하도록 구성된다. 기계 학습 모델(300)이 ML 훈련 데이터 세트(302) 내의 편향된 데이터에 대해 훈련하는 것을 방지함으로써, 기계 학습 모델(300)은 편향된 데이터의 영향을 받지 않으므로 추론 동안 비편향 예측 값(310)(도 3)을 생성할 수 있다. 따라서, 편향 거절 모델(200)은 ML 모델(300)을 훈련하는데 사용하기 위해 비편향 훈련 데이터 세트(206)를 출력/생성함으로써 ML 모델(300)을 훈련시키기 전에 ML 훈련 데이터 세트(302) 내의 편향된 데이터를 제거/조정하는 필터에 대응한다.
도 2a는 제1 훈련 단계(202) 및 제 1 훈련 단계(202)에 후속하는 제2 비편향 단계(204)의 실행 동안 편향 거절 모델(200)을 도시한다. 훈련 단계(202) 동안, 편향 거절 모델(200)은 클러스터 훈련 데이터 세트(130)를 수신하고 클러스터 가중치(214)를 출력한다. 편향화(편향) 단계(204) 동안, 편향 거절 모델(200)은 ML 훈련 데이터 세트(302)를 수신하고 훈련 단계(202)로부터 출력된 클러스터 가중치(214)를 사용하여 ML 훈련 데이터 세트(302)로부터 제거된 편향된 데이터를 갖는 비편향 훈련 데이터 세트(206)를 출력한다.
여기서 "가중치(들)"(예: 편향 클러스터 가중치(214, 214a-n) 및 훈련 데이터 세트 가중치(218, 218a-n)라는 용어는 클러스터링 프로세스에서 형성된 고유 클러스터에 매핑되는 비율과 같은 값을 나타낸다. 모집단(집단)의 경우, 각 클러스터는 집단의 일부에 속할 수 있으므로 일부의 값은 클러스터와 관련된 가중치(예: 집단의 서브세트)일 수 있다. 즉, 모집단(집단)을 서브세트로 클러스터링함으로써 각 서브세트는 본질적으로 모집단에 대한 특성(예: 가중치)을 갖는다. 보다 일반적으로, 편향 클러스터(212) 또는 훈련 클러스터(216)와 같은 클러스터는 사람들에 속하는 훈련 데이터를 그룹화하는 데 사용될 수 있는 사람들의 그룹을 지칭한다. 사람들의 그룹은 훈련 데이터에서 연속적인 범위의 변수 값을 공유하는 사람들을 포함할 수 있다(예: 25 ~ 27 세의 아시아 여성에 대한 클러스터는 25 세 아시아 여성과 26 세 아시아 여성과 이 값 세트를 공유하는 다른 훈련 예제를 포함할 수 있다.).
다른 구현에서 클러스터에는 학습 데이터가 클러스터링 알고리즘(예: 클러스터링 모델)에 의해 클러스터된 사람이 포함된다. 클러스터링 알고리즘은 사람들 사이의 거리(또는 사람들의 특성)가 짧아 알고리즘이 유사하다고 생각하는 그룹에 사람들을 배치한다. 더 짧은 거리로 그룹화하면 각 모집단에서 여러 변수 값이 증가함에 따라 클러스터 수가 기하 급수적으로 증가하는 것을 방지할 수 있다. 클러스터링은 관심 변수(예: 편향 변수) 및/또는 다른 변수에 따라 수행되어 훈련 데이터(예: 사람) 간의 거리를 결정할 수 있다. 예를 들어, 클러스터링은 다른 변수를 기반으로 수행되지만 데이터 클러스터링에 대한 최종 결정은 관심 변수(예: 편향 변수)를 기반으로 한다. 예를 들어, 클러스터링 프로세스는 정의된 메트릭(예: 사용된 언어, 관련 관심사, 소셜 네트워크에서 연결되는 빈도 또는 동일한 조직의 구성원)을 기반으로 유사성(예: 서로 짧은 거리)을 인식하기 때문에 18 세 및 19 세 남성 오스트리아인과 독일인을 단일 클러스터로 그룹화한다. 광범위한 잠재적인 클러스터링 접근법을 설명하기 위한 또 다른 예로서, 클러스터링 프로세스는 이러한 범주를 다루는 4 개의 개별 그룹을 갖는다((1) 18 세 오스트리아인; (2) 18 세 독일인; (3) 19 세 오스트리아인; 그리고 (4) 19 세 독일인). 도 2a를 더 참조하면, 훈련 단계(202) 동안, 편향 거절 모델(200)은 알려진 비편향 데이터 집단(모집단)에 대응하는 클러스터 훈련 데이터 세트(130)를 수신한다. 알려진 비편향 데이터 집단(population)은 편향에 민감한 변수의 정확한 확률 분포를 가진 대상 집단일 수 있다. 알려진 비편향(known unbiased) 데이터 집단으로, 편향 거절 모델(200)은 편향 민감 변수와 관련된 데이터의 불균형적인 양을 갖는 데이터로 훈련하는 것을 피한다. 편향 민감 변수는 대상 집단의 데이터 샘플에서 과도하게 표현되거나 과소 표현될 때 대상 집단의 샘플링에서 편향된 예측 가능성을 증가시키는 변수를 말한다. 즉, 편향에 민감한 변수의 정확한 표현에서 약간의 편차가 있으면 예측 분석이 왜곡될 수 있다. 결과적으로, 기계 학습 모델(300)과 같은 기계 학습 모델이 편향 민감 변수의 정확한 훈련 데이터 세트없이 구성(즉, 훈련)될 때, 기계 학습 모델은 본질적으로 편향된 예측 및 편향된 컴퓨팅 분석을 생성할 수 있다. 편향에 민감한 변수의 예로는 인종, 성별, 성별, 나이, 국적, 종교적 소속, 정치적 소속, 풍요(affluence) 등이 있다.
일부 예에서, 대상 모집단은 주어진 변수 또는 변수 세트에 대한 전체 데이터 세트이다. 여기서, 편향 거절 모델(200) 및/또는 기계 학습 모델(300)은 학습 될 수 있고 및/또는 대상(목표) 집단(예를 들어, 클러스터 훈련 데이터 세트(130)에 대응하는 집단)에 대응하는 예측을 할 수 있다. 기본적인 예로서, 기계 학습 모델(300)은 캘리포니아의 인구인 대상 인구에 대한 값을 예측하도록 구성될 수 있다. 캘리포니아 인구(집단)에 대해 정확하게 예측하기 위해 각 모델 200, 300은 캘리포니아 인구와 관련된 데이터를 학습(훈련)한다.
수신된 클러스터 훈련 데이터 세트(130)에 대해 편향 거절 모델(200)을 훈련(학습)시킨 후, 편향 거절 모델(200)은 편향화 단계(204) 동안 ML 모델(300)을 훈련하는데 사용하기 위한 ML 훈련 데이터 세트(302)를 조정하도록 구성된다. ML 모델(300)을 훈련하기 전에 ML 훈련 데이터 세트(302)를 조정함으로써, 편향 거절 모델(200)은 비편향 훈련 데이터 세트(206)를 생성하고 비편향 훈련 데이터 세트(206)를 ML 모델(300)에 제공한다. 즉, 비편향 단계(204) 동안, 편향 거절 모델(200)은 훈련 단계(202) 동안 클러스터 훈련 데이터 세트(130)에 대한 편향 거절 모델(200)의 훈련에 기초하여 기계 학습(ML) 훈련 데이터 세트(302)(예를 들어, 잠재적으로 편향된 데이터를 포함할 수 있음)를 비편향 훈련 데이터 세트(206)로 변환한다. 일부 예들에서, 편향 거절 모델(200)은 하나 이상의 클러스터 훈련 데이터 세트(130)로 훈련한다. 예를 들어, 편향 거절 모델(200)은 시간에 따른 클러스터 훈련 데이터 세트(130)에 대한 변화를 지속적으로 설명하기 위해 신규 또는 업데이트된 클러스터 훈련 데이터 세트(130)에 대해 동적으로 훈련한다. 훈련 단계(202) 및 비편향(비바이어스) 단계(204)는 연속적으로 또는 동시에, 또는 둘 모두의 일부 조합을 실행할 수 있다.
도 2b는 훈련 단계(202) 동안 편향 거절 모델(200)의 예를 예시한다. 여기서, 편향 거절 모델(200)은 알려진 비편향 데이터 집단을 포함하는 클러스터 훈련 데이터 세트(130)를 수신한다. 일부 구현에서, 편향 거절 모델(200)의 관리자 또는 편향 거절 모델(200)에 대한 액세스를 가진 사용자(예를 들어, 특정 세트의 편향 특징에 관심이 있는 사용자)와 같은 엔티티는 편향 민감 변수에 대응하는 편향 특징을 정의할 수 있다. 여기서, 편향 거절 모델(200)의 엔티티 또는 설계자는 편향 거절 모델(200)에 편향 특징 및/또는 편향 민감 변수를 제공하지 않는다. 오히려, 분할기(segmenter)(210)를 통한 편향 거절 모델(200)은 편향 또는 비편향 데이터를 인식하도록 하기 위해 클러스터 훈련 데이터 세트(130)를 모델링하도록 클러스터 모델(211)을 사용한다. 일부 구성에서, 클러스터 훈련 데이터 세트(130)는 전체 대상 집단 데이터 세트를 포함한다. 예를 들어, 편향 거절 모델(200)은 클러스터 훈련 데이터 세트(130)로서 미국에 대한 인구 통계 데이터의 완전한 데이터 세트를 수신할 수 있다.
편향(바이어스) 제거 모델(200)은 분할기(210) 및 조정기(220)를 포함한다. 분할기(210)는 클러스터 모델(211)("클러스터링 모델(211)"로 상호 교환적으로 지칭됨)을 사용하여 데이터 세트를 클러스터들(212, 212a-n)로 분할하도록 구성된다. 훈련 단계(202) 동안, 분할기(210)는 알려진 비편향 데이터 집단(인구)의 데이터 특성(도 2b에서 "DCa-n"으로 도시됨)에 기초하여 수신된 클러스터 훈련 데이터 세트(130)를 클러스터들(212, 212a-n)로 분할하도록 클러스터링 모델(211)을 훈련시킨다. 단순화를 위해, 이러한 데이터 특성은 클러스터 훈련 데이터 세트(130)와 관련된 대상 집단의 적어도 하나의 각각의 편향 민감 변수를 포함한다. 즉, 일부 클러스터(212)는 데이터 특성으로서 적어도 하나의 각각의 편향 민감 변수와 관련된 편향 클러스터일 수 있는 반면, 다른 클러스터(212)는 편향 민감 변수(들)와 관련되지 않은 데이터 특성을 식별한다. 일부 구현들에서, 클러스터 모델(211)은 클러스터 모델(211)이 훈련 단계(202) 동안 수신된 클러스터 훈련 데이터 세트(130)에 기초하여 비지도(unsupervised) 학습을 수행하도록 클러스터링 알고리즘을 포함한다. 비지도 학습은 데이터와 관련된 레이블을 포함하지 않는 데이터(예: 사전 레이블이 지정된 편향 민감 변수)를 사용하여 학습이 발생하는 프로세스를 의미한다. 수신된 클러스터 훈련 데이터 세트(130)에 기초하여 비지도 학습을 수행함으로써, 클러스터 모델(211)은 데이터 특성 측면에서(알려진 비편향 데이터 집단을 통해) 비편향 데이터 세트에 대한 확률 분포를 식별하도록 훈련된다. 예를 들어, 클러스터 모델(211)은 편향 민감 변수 및/또는 편향 민감 변수의 조합을 나타내는 데이터 특성(들)을 갖는 적어도 하나의 클러스터(212)를 생성하도록 훈련된다.
예를 들어, 클러스터 모델(211)은 알려진 비편향 집단(인구)의 데이터 특성으로 인종, 성별 및 연령의 각 편향에 민감한 변수를 클러스터링한다. 따라서, 각각의 클러스터(212)는 대응하는 편향 민감 변수 조합에 대응할 수 있다. 예를 들어, 인종, 성별 및 연령의 데이터 특성으로, 적어도 하나의 클러스터(212)는 한 유형의 인종(예: 흑인, 백인, 히스패닉 등), 한 유형의 성별(예: 남성, 여성, 트랜스젠더) 및 한 유형의 연령대(예: 19 ~ 30, 31 ~ 44, 45 ~ 59, 60+ 등)에 대응한다. 분할기(210)가 클러스터 모델(211)을 사용하여 클러스터 훈련 데이터 세트(130)를 클러스터들(212)로 분할할 때, 분할기(210)는 또한 클러스터(212, 212a-n)가 연관된 클러스터 가중치(214, 214a-n)를 갖도록 각각의 클러스터(212)에 대한 해당 클러스터 가중치(214)를 결정하도록 구성된다. 일부 예들에서, 클러스터 가중치(214)는 대상(타겟) 집단(예를 들어, 클러스터 훈련 데이터 세트(130)의 집단)에 대한 클러스터(212)에 대한 집단 비율을 나타낸다. 예를 들어, 클러스터 가중치(214)는 클러스터 훈련 데이터 세트(130)의 대상 집단의 크기에 대한 각각의 클러스터(212)의 크기의 비율을 나타낼 수 있다. 일부 예에서, 각 클러스터 가중치(214)를 결정하기 위해, 분할기(210)는 각 클러스터(212)의 집단 분율(population fractions)을 결정하고 각 집단 분율을 모든 클러스터(212)의 최대 집단 분율로 나눈다(예를 들어, 각 클러스터 가중치(214)는 1보다 작음). 다른 예에서, 각 클러스터 가중치(214)를 결정하기 위해, 분할기(210)는 각 클러스터(212)의 집단 분율을 결정하고 각 집단 분율을 모든 클러스터(212)의 최저 집단 분율로 나눈다(예를 들어, 각 클러스터 가중치(214)는 1보다 큼).
일부 구성에서, 분할기(210)는 훈련 단계(202) 동안 클러스터(212)에 대한 클러스터 가중치(214)를 조정기(220)에 전달한다. 예를 들어, 조정기(220)는 클러스터 가중치(214)의 데이터 저장소(222)를 포함한다. 다른 예들에서, 분할기(210)는 조정기(220)가 비편향 단계(204) 동안 액세스할 수 있도록 클러스터 가중치(214)를 (예를 들어, 분할기(210)의 데이터 저장소에) 저장한다.
도 2c는 비편향 단계(204) 동안 편향 제거 모델(200)의 예를 예시한다. 비편향 단계(204) 동안, 편향 거절 모델(200)은 ML 모델(300)을 훈련하는데 사용하기 위한 ML 훈련 데이터 세트(302)를 수신한다. 예를 들어, 훈련 데이터 세트(302)는 잠재적으로 편향될 수 있는(예를 들어, 편향된 데이터를 포함) 원시 훈련 데이터 세트를 포함할 수 있다. 일부 구현에서, 훈련 데이터 세트(302)는 대상 집단의 샘플이고, 따라서 대상 집단의 편향 민감 변수(132)를 부정확하게 반영할 수 있다. 예를 들어, 대상 집단은 25 % 백인의 인종 구성을 가질 수 있는 반면, 훈련 데이터 세트(302)는 45 % 백인의 샘플링 인종 구성을 나타낼 수 있다. 따라서, 대상 집단의 편향에 민감한 변수를 부정확하게 반영하는 ML 학습 데이터(302)에 대한 ML 모델(300) 학습을 방지하기 위해, 편향 거절 모델(200)은 비편향 단계(204) 동안 분할기(210) 및 조정기(220)로 이 편향(바이어스)(예를 들어, 20%p 차이)를 조정하려고한다.
분할기(210)가 도 2b의 훈련 단계(202) 동안 편향 훈련 데이터 세트(130)를 편향 클러스터(212)로 분할하는 방법과 유사하다. 분할기(210)는 수신된 ML 훈련 데이터 세트(302)를 비편향 단계(204) 동안 훈련 클러스터들(216)로 분할하도록 구성된다. 분할기(210)는 훈련 데이터 세트(302)를 훈련된 클러스터 모델(211)에 제공함으로써 훈련 데이터 세트(302)를 분할한다. 훈련 단계(202)로부터의 훈련에 기초하여, 클러스터 모델(211)은 훈련 데이터 세트(302)와 같은 데이터 세트를 클러스터들(예를 들어, 클러스터 212a-n 또는 훈련 클러스터 216a-n)로 분할하는 방법을 학습했다. 비편향 단계(unbiasing stage)(204) 동안, 클러스터 모델(211)은 기계 학습 모델(300)을 위해 의도된 수신된 훈련 데이터 세트(들)(302)에 기초하여 훈련 클러스터(216, 216a-n)를 생성한다. 여기서, 적어도 하나의 훈련 클러스터(216)는 대상 집단의 적어도 하나의 해당 편향 민감 변수와 관련된다. 분할기(210)는 또한 분할된 훈련 클러스터(216)가 관련된 훈련 데이터 세트 가중치(218)를 포함하도록 각각의 분할된 훈련 클러스터(216)에 대해 해당 훈련 데이터 세트 가중치(218, 218a-n)를 생성하도록 구성된다. 일부 예들에서, 각각의 훈련 데이터 세트 가중치(218)는 훈련 데이터 세트(302)와 관련된 샘플 집단에 대한 훈련 클러스터(216)에 대한 집단 비율(분율)을 나타낸다. 예를 들어, 훈련 데이터 세트 가중치(218)는 훈련 데이터 세트(302)의 샘플 집단의 크기에 대한 각각의 훈련 클러스터(216)의 크기의 비율을 나타낼 수 있다. 일부 예들에서, 각각의 훈련 데이터 세트 가중치(218)를 결정하기 위해, 분할기(210)는 각각의 훈련 클러스터(216)의 집단 부분(집단 비율)(population fractions)을 결정하고 각각의 집단 부분(집단 비율)을 훈련 클러스터(216)의 가장 큰 집단 부분으로 나눈다(예를 들어, 각각의 훈련 데이터 세트 가중치(218)는 1보다 작다). 다른 예들에서, 각각의 훈련 데이터 세트 가중치(218)를 결정하기 위해, 분할기(210)는 각 훈련 클러스터(216)의 집단 비율을 결정하고 훈련 클러스터(216a-n)의 최저 집단 비율로 각 집단 비율을 나눈다(예를 들어, 각 훈련 데이터 세트 가중치(218)는 1보다 큼).
조정기(220)는 대상(목표) 집단의 데이터 특성(즉, 편향 민감 변수)의 확률 분포를 매칭시키기 위해 훈련 데이터 세트 가중치(218)를 조정하도록 구성된다. 일부 구현에서, 조정기(220)는 훈련 데이터 세트 가중치(218)를 클러스터 가중치(214)와 비교함으로써 훈련 데이터 세트 가중치(218)를 조정하는 프로세스(226)를 실행한다. 예를 들면, 도 2c-2e는 클러스터 가중치 데이터 저장소(222)로부터의 클러스터 가중치(218)와 훈련 가중치 데이터 저장소(224)로부터의 훈련 데이터 세트 가중치(218)를 검색 및 비교하고, 그 비교에 기초하여 훈련 데이터 세트 가중치(218)를 조정하도록 하는 프로세스(226)를 실행하는 조정기(220)를 도시한다. 예를 들어, 각 훈련 데이터 세트 가중치(218)와 클러스터 가중치(214) 간의 비교 차이에 기초하여, 조정기(220)는 해당 클러스터 가중치(214)와 매칭하도록 각각의 훈련 데이터 세트 가중치(218)를 조정할 수 있다. 따라서, 훈련 데이터 세트 가중치(218)를 조정하기 위해 조정기(220)에 의해 실행되는 프로세스(226)는 ML 모델(300)을 훈련하기 위해 비편향 훈련 데이터 세트(206)를 형성하는 조정된 훈련 데이터 세트 가중치 또는 보다 일반적으로 조정된 훈련 데이터 세트(208)를 생성/출력한다.
일부 구현에서, 조정기(220)는 편향(바이어스) 민감 변수와 같은 매칭 데이터 특성에 기초하여 하나 이상의 훈련 데이터 세트 가중치(218a-n)를 하나 이상의 클러스터 가중치(214a-n)에 먼저 매칭함으로써 프로세스(226)를 실행한다. 예를 들어, 훈련 데이터 세트 가중치(218) 및 클러스터 가중치(214)가 각각 공통 데이터 특성(예: 편향 민감 변수) 또는 데이터 특성들의 조합을 공유할 때, 조정기(220)는 해당 조정된 훈련 데이터 세트 가중치 및/또는 조정된 훈련 데이터 세트(208)를 출력하기 위해 매칭하는(즉, 대응하는) 클러스터 가중치(214)로 훈련 데이터 세트 가중치(218)를 조정할 수 있다.
도 2d에서, 조정기(220)는 공통 데이터 특성(예를 들어, 편향 민감 변수) 또는 데이터 특성들의 조합을 공유하는 편향 클러스터 가중치(214) 및 훈련 데이터 세트 가중치(218)를 비교한다. ML 훈련 데이터 세트(302)가 과잉(over) 편향 민감 변수를 나타낼 때, 훈련 데이터 세트 가중치(218)는 편향 민감 변수에 해당하는 데이터 특성에 대한 클러스터 가중치(214)를 초과한다(예를 들어, 보다 크다)(예를 들어, 훈련 데이터 세트(302)는 백인 인종 구성이 20%p 더 크다는 것을 나타냄). 이 과잉 표현에 대한 응답으로, 조정기(220)에 의해 실행되는 프로세스(226)는 훈련 데이터 세트 가중치(218)가 클러스터 가중치(214)와 매칭할 때까지 훈련 데이터 세트(302)로부터 데이터를 제거함으로써 훈련 데이터 세트 가중치(218)를 조정하는 데이터 제거 조정 프로세스에 대응할 수 있다. 한편, 훈련 데이터 세트(302)가 과소(under) 편향 민감 변수(bias sensitive variable)를 나타낼 때, 훈련 데이터 세트 가중치(218)는 편향 민감 변수에 대응하는 데이터 특성에 대한 클러스터 가중치(214)보다 작다(예를 들어, 훈련 데이터 세트(302)는 20%p 더 적은 흑인 인종 구성을 나타냄). 이 과소에 대한 응답으로, 조정기(220)에서 실행되는 프로세스(226)는 훈련 데이터 세트 가중치(218)가 클러스터 가중치(214)와 매칭할 때까지 훈련 데이터 세트(302)로부터 데이터를 복제(duplicating)함으로써 훈련 데이터 세트 가중치(218)를 조정하는 데이터 복제 프로세스에 대응할 수 있다. 일부 구현에서, 조정기(220)는 훈련 데이터 세트(302)의 무결성을 유지하기 위해 훈련 데이터 세트(302)로부터 데이터를 무작위로 복제하거나 제거한다. 이는 무작위가 아닌 선택적 복제 또는 제거와 관련된 추가 편향을 피할 수 있다.
훈련 데이터 세트 가중치(218)가 편향 클러스터 가중치(214)와 매칭할 때까지 훈련 데이터 세트(302)로부터 데이터를 제거 또는 훈련 데이터 세트(302)에 데이터를 추가하는 도 2c의 프로세스(226)와 대조적으로, 도 2e는 각각의 훈련 데이터 세트 가중치(218)와 관련된 중요도 가중치(228)를 조정하는 조정기(220)에서 실행하는 프로세스(226)를 도시한다. 특히, 프로세스는 중요도 가중치(228)를 관련된 훈련 데이터 세트 가중치(218)에 대응하는 훈련 데이터 세트(302)의 데이터와 연관시킨다. 중요도 가중치(228)는 기계 학습 모델(300)을 훈련하는 동안 훈련 데이터 세트 가중치(218)에 대응하는 기본 데이터를 제공할 가중치를 이해하기 위해 기계 학습 모델(300)의 훈련 단계(304)(도 3)에 표시(indication)를 제공한다. 일부 예들에서, 훈련 데이터 세트 가중치(218)가 클러스터 가중치(214)보다 클 때, 조정기(220)는 각각의 훈련 데이터 세트 가중치(218)에 대응하는 훈련 데이터에 대해 기계 학습 모델(300)의 훈련을 감소시키는 것(훈련 감소)을 나타내는 중요도 가중치(228)를 연관시킨다. 다른 예들에서, 훈련 데이터 세트 가중치(218)가 클러스터 가중치(214)보다 작은 경우, 조정기(220)는 각각의 훈련 데이터 세트 가중치(218)에 대응하는 훈련 데이터에 대해 기계 학습 모델(300)의 훈련을 증가시키는 것을(훈련 증가) 나타내는 중요도 가중치(228)를 연관시킨다.
도 2a-2e에 도시된 바와 같이, 편향 거절 모델(200)은 기계 학습 모델(300)을 훈련하기 위한 비편향 훈련 데이터 세트(206)를 생성한다. 도 3은 비편향 훈련 데이터 세트(206)에 대한 기계 학습 모델(300) 훈련의 예이다. 기계 학습 모델(300)과 같은 기계 학습 모델은 일반적으로 데이터 세트 및 결과 세트를 기반으로 학습(또는 훈련)되어 데이터 세트와 유사한 입력 데이터를 기반으로 자체 출력을 예측한다. 일부 구현에서, 편향 거절 모델(200)과 매우 유사하게, 기계 학습 모델(300)은 먼저 훈련 단계(304) 동안 훈련을 겪은 다음 입력으로서 샘플 데이터 세트(308)를 수신하고 비편향 예측 값(310)을 출력하는 예측 단계(예를 들어, 추론)(306)를 겪는다. 예측 단계(306) 동안, 기계 학습 모델(300)은 적어도 하나의 편향 민감 변수를 포함하는 샘플 데이터 세트와 같은 샘플 데이터 세트(308)를 수신하고, 수신된 샘플 데이터 세트(308)에 기초하여 비편향 예측 값(310)을 생성하기 위해 비편향 훈련 데이터 세트(206)에 대해 훈련된 관련 기계 학습 기능을 이용한다.
일부 예에서, 기계 학습 모델(300)은 하나 이상의 비편향 훈련 데이터 세트(206)로 훈련한다. 예를 들어, 기계 학습 모델(300)은 동적으로 변화하는 데이터 세트를 지속적으로 설명하기 위해 작동 중에 동적으로 훈련한다. 다시 말해서, 훈련 단계(304) 및 예측 단계(306)는 연속적으로 또는 동시에, 또는 둘의 일부 조합으로 동작할 수 있다.
도 4는 바이어스 스코어링(편향 점수) 모델(400)의 예이다. 편향 점수 모델(400)은 편향 거절 모델(200)과 함께 또는 별도로 사용될 수 있다. 예를 들면, 편향 점수 모델(400)은 편향 거절 모델(200)에 훈련 데이터 세트(302)를 제공하기 전에 기계 학습 모델(300)을 훈련시키도록 의도된 훈련 데이터 세트(302)를 평가할 수 있다(즉, 이들 모델(200, 300)은 편향 점수 모델(400)과 협의한다). 이러한 예들에서, 편향 점수 모델(400)이 훈련 데이터 세트(302)를 거절할 때, 이는 훈련 데이터 세트(302)가 기계 학습 모델(300)을 훈련하기 위해 진행하기에 너무 편향되어 있음을 나타내며, 편향 점수 모델(400)은 거절된 훈련 데이터 세트(302)를 편향 거절 모델(200)에 전달하여, 2a-2e를 참조하여 전술한 바와 같이, 거절된 훈련 데이터 세트(426)를 비편향(unbias)하여 비편향 훈련 데이터 세트(206)를 형성할 수 있다.
편향 거절 모델(200), 클러스터 모델(211) 및/또는 기계 학습 모델(300)과 유사하게, 편향 점수(스코어링) 모델(400)은 데이터 세트를 스코어링(scoring)하도록 편향 점수 모델(400)을 훈련하기 위해 훈련 단계(402)를 겪고, 일단 훈련되면 훈련 단계(402)로부터의 훈련에 기초하여 스코어링 단계(404) 동안 데이터 세트를 스코어링한다. 훈련 단계(402) 동안, 편향 점수 모델(400)은 하나 이상의 편향 점수 훈련 데이터 세트(들)(410)를 수신한다. 각각의 편향 점수 훈련 데이터 세트(410)는 편향된 데이터(412) 및/또는 비편향 데이터(414) 및 편향 점수(416)와 같은 데이터를 포함한다. 예를 들어, 편향 점수(416)는 데이터 세트 내의 편향의 수치 표현이다. 일부 예들에서, 편향 점수(416) 및/또는 편향 점수 훈련 데이터 세트(410)는 스코어러(scorer)(140)로부터 유래한다. 스코어러(140)는 기계 학습 환경(10) 내의 관리자(예를 들어, 모델(200, 211, 300)의 관리자) 또는 기계 학습 모델(300)에서의 편향에 대해 우려하는 사용자일 수 있다. 일부 예에서, 스코어러(140)는 하나 이상의 엔티티/소스(즉, committee) 또는 데이터 세트를 컴파일 및/또는 스코어링하도록 훈련된 다른 기계 학습 모델이다. 훈련 단계(402) 동안, 편향 점수 모델(400)은 하나 이상의 편향 점수 훈련 데이터 세트(들)(410)를 수신하고 데이터 세트에 대한 편향 점수(416)를 생성하는 것을 학습(훈련)한다.
일단 훈련되거나 편향 점수 모델(400)이 점수(스코어링) 단계(404)와 병렬로 연속적으로 훈련하는 경우, 편향 점수 모델(400)은 기계 학습 모델(300)을 위해 의도된 훈련 데이터 세트(302)를 수신(예를 들어, 인터셉트)한다. 훈련에 기초하여, 편향 점수 모델(400)은 편향 점수 모델(400)이 훈련 데이터 세트(302)에 대한 편향 점수(416)를 생성하는 스코어링 프로세스(420)를 수행한다. 스코어링 프로세스(420)의 일부로서, 편향 점수 모델(400)은 훈련 데이터 세트(302)에 대한 편향 점수(416)가 점수 임계값(422)을 만족하는지 여부를 결정한다. 여기서, 점수 임계값(422)은 데이터 세트가 기계 학습 모델(300)에서의 예측을 위해 편향되지 않거나 무시할 정도로 편향되어 있다는 신뢰도를 나타낸다. 예를 들어, 점수 임계값(422)은 허용 가능한 편향 점수 값이다.
훈련 데이터 세트(302)의 편향 점수(416)가 점수 임계값(422)을 만족할 때(예를 들어, 허용 가능한 편향 점수 값을 초과함), 편향 점수 모델(400)은 승인된 훈련 데이터 세트(424)로 설정된 훈련 데이터(302)를 승인한다. 일부 예에서, 승인된 훈련 데이터 세트(424)는 기계 학습 모델이 비편향 예측 값(310)(예를 들어, 도 3에 도시됨)을 생성하도록 진행하도록 기계 학습 모델(300)에 의해 인식 가능한 승인 표시자(approval indicator)를 포함한다. 훈련 데이터 세트(302)의 편향 점수(416)가 점수 임계값(422)을 만족하지 못할 때(예를 들어, 허용 가능한 편향 점수 값보다 작음), 편향 점수 모델(400)은 훈련 데이터 세트(302)를 거절한다. 거절된 훈련 데이터 세트(426)는 거절된 훈련 데이터 세트(302)로 훈련하지 않도록 기계 학습 모델(300)에 알리기 위한 거절 표시자를 포함할 수 있다. 점선 박스와 화살표로 도 4에 표시된 바와 같이, 편향 점수 모델(400)은 도 2a-2e를 참조하여 설명된 바와 같이, 편향 거절 모델(200)이 거절된 훈련 데이터 세트(302)를 비편향된 훈련 데이터 세트(206)로 변환할 수 있도록 거절된 훈련 데이터 세트(302)를 편향 거절 모델(200)에 전달(즉, 제공)할 수 있다.
편향 거절 모델(200), 기계 학습 모델(300) 및/또는 편향 점수 모델(400)은 임의의 유형의 기계 학습 모델(예를 들어, 지도(supervised), 비지도, 강화, 앙상블/결정 트리, 딥 러닝, 신경망, 재귀, 선형 등)은 여기에 설명된 임의의 모델(200, 300, 400)의 기능을 실행하기 위해 적어도 하나의 기계 학습 알고리즘을 사용한다. 광범위하게 말하는 기계 학습 알고리즘은 지도 학습, 비지도 학습, 능동 학습 또는 이러한 유형의 학습 알고리즘의 혼합 조합과 관련될 수 있다. 이러한 광범위한 알고리즘의 일부 특정 예에는 선형 회귀 알고리즘, 로지스틱 회귀 알고리즘, 의사 결정 트리 기반 알고리즘, 지원 벡터 머신 알고리즘, 나이브 베이즈(Naive Bayes) 분류기, k-최근접 이웃 알고리즘, 차원 감소 알고리즘, 경사 부스팅 알고리즘 등과 같은 기계 학습 알고리즘이 포함된다.
도 5는 기계 학습 환경(10) 내에서 기계 학습 모델(300)을 비편향하도록 하는 동작을 갖는 예시적인 방법(500)이다. 동작(502)에서, 방법(500)은 클러스터 훈련 데이터 세트(130)를 수신한다. 클러스터 훈련 데이터 세트(130)는 알려진 비편향 데이터 집단을 포함한다. 동작(504)에서, 방법(500)은 알려진 비편향 데이터 집단의 데이터 특성에 기초하여 수신된 클러스터 훈련 데이터 세트(130)를 클러스터들(212)로 분할하도록 클러스터링 모델(211)을 훈련시킨다. 클러스터(212a-n)의 각 클러스터(212)는 클러스터 가중치(214)를 포함한다. 동작(506)에서, 방법(500)은 기계 학습 모델(300)에 대한 훈련 데이터 세트(302)를 수신한다. 동작(508)에서, 방법(500)은 클러스터링 모델(211)에 기초하여 기계 학습 모델(300)에 대한 훈련 데이터 세트(302)에 대응하는 훈련 데이터 세트 가중치(218a-n)를 생성한다. 동작(510)에서, 방법(500)은 각각의 클러스터 가중치(214)와 매칭하도록 훈련 데이터 세트 가중치(218a-n)의 각 훈련 데이터 세트 가중치(218)를 조정한다. 동작 512에서, 방법(500)은 조정된 훈련 데이터 세트(208)를 비편향 훈련 데이터 세트(206)로서 기계 학습 모델(300)에 제공한다.
도 6은 본 명세서에 설명된 시스템 및 방법(예: 편향 거절 모델(200) 및/또는 기계 학습 모델(300))을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(600)의 개략도이다. 컴퓨팅 장치(600)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예시 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(600)는 프로세서(610), 메모리(620), 저장 장치(630), 메모리(620) 및 고속 확장 포트(650)에 연결되는 고속 인터페이스/제어기(컨트롤러)(640) 및 저속 버스(670) 및 저장 장치(630)에 연결되는 저속 인터페이스/제어기(660)를 포함한다. 각각의 컴포넌트(610, 620, 630, 640, 650, 660)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착 될 수 있다. 프로세서(610)는 고속 인터페이스(640)에 연결된 디스플레이(670)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(620) 또는 저장 장치(630)에 저장된 명령어를 포함하는, 컴퓨팅 장치(600) 내에서 실행하기 위한 명령어를 처리(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(600)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(620)는 컴퓨팅 장치(600) 내에 비-일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(620)는 컴퓨팅 장치(600)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예시적인 비-휘발성 메모리는 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨) 등을 포함하지만, 이에 국한되지 않는다. 예시적인 휘발성 메모리는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(630)는 컴퓨팅 장치(600)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(630)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(630)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(620), 저장 장치(620) 또는 프로세서(610)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(640)는 컴퓨팅 장치(600)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(660)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예시 일뿐이다. 일부 구현에서, 고속 제어기(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(650)에 결합된다. 일부 구현에서, 저속 제어기(660)는 저장 장치(630) 및 저속 확장 포트(690)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(600)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(600a)로서 또는 그러한 서버(600a)의 그룹에서 랩톱 컴퓨터(600b)로서 또는 랙 서버 시스템(600c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현 될 수 있다. 이러한 다양한 구현은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 이는 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 데이터 및 명령어를 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서에 대한 기계 명령어를 포함하며, 하이-레벨 절차 및/또는 객체-지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기에서 사용된 용어 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는 기계 판독 가능 신호로서 기계 명령어를 수신하는 기계 판독 가능 매체를 포함하는, 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 프로그래밍 가능 프로세서에 기계 명령어 및/또는 데이터를 제공하는 데 사용되는 장치 및/또는 디바이스(예: 자기 디스크, 광학 디스크, 메모리, PLD(Programmable Logic Devices))를 나타낸다. 용어 "기계 판독 가능 신호"는 기계 명령어 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 설명된 프로세스 및 로직 흐름은 데이터 프로세싱 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 로직 흐름은 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직(논리) 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서 내용의 하나 이상의 양태는 디스플레이 장치, 예를 들어 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 사용자에게 정보를 표시하기 위한 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 키보드 및 포인팅 장치(예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백 일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치로 문서를 전송하고 장치에서 문서를 수신함으로써, 예를 들어 웹 브라우저에서 수신한 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 명세서의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음 청구항의 범위 내에 있다.

Claims (20)

  1. 데이터 처리 하드웨어에 의해 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 컴퓨터로 구현되는 방법으로서, 상기 동작들은,
    기계 학습 모델을 훈련하기 위한 훈련 데이터 세트를 수신하는 동작 -상기 훈련 데이터 세트는 하나 이상의 편향 민감 변수들을 포함함-;
    상기 훈련 데이터 세트를 스코어링(scoring)하도록 편향 점수 모델을 훈련시킴으로써 상기 훈련 데이터 세트 내의 편향의 수치 표현인 편향 점수를 생성하는 동작;
    상기 편향 점수가 임계값 점수를 만족하는지 여부를 결정하는 동작;
    상기 편향 점수가 상기 임계값 점수를 만족할 때, 상기 훈련 데이터 세트에 승인 표시자(approval indicator)를 레이블링(labeling)하는 동작; 그리고
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 상기 훈련 데이터 세트에 거절 표시자(rejection indicator)를 레이블링하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 편향 점수 모델은 상기 편향 점수에 기초한 피드백을 사용하여 훈련되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 임계값 점수는 사용자가 구성할 수 있는(user-configurable) 허용 가능한 편향 점수를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족할 때, 상기 훈련 데이터 세트를 사용하여 상기 기계 학습 모델을 훈련시키는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 편향 거부 모델을 사용하여 상기 훈련 데이터 세트로부터 비편향 훈련 데이터 세트를 생성하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 상기 비편향 훈련 데이터 세트를 사용하여 상기 기계 학습 모델을 훈련시키는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제7항에 있어서, 상기 비편향 훈련 데이터 세트를 생성하는 동작은,
    상기 훈련 데이터 세트를 복수의 클러스터들로 분할하는 동작 -상기 복수의 클러스터들 중 적어도 하나의 클러스터는 하나 이상의 편향 민감 변수들 중 하나의 편향 민감 변수에 대응함-;
    상기 복수의 클러스터들의 각 클러스터에 대한 가중치를 생성하는 동작; 그리고
    상기 가중치를 갖는 복수의 클러스터에 기초하여 상기 비편향 훈련 데이터 세트를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제9항에 있어서, 상기 각 클러스터에 대한 가중치는 대상 집단의 데이터 특성의 확률 분포에 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 시스템으로서,
    데이터 처리 하드웨어; 그리고
    상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함하며, 상기 메모리 하드웨어는 상기 데이터 처리 하드웨어에서 실행될 때 상기 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장하며, 상기 동작들은,
    기계 학습 모델을 훈련하기 위한 훈련 데이터 세트를 수신하는 동작 -상기 훈련 데이터 세트는 하나 이상의 편향 민감 변수들을 포함함-;
    상기 훈련 데이터 세트를 스코어링(scoring)하도록 편향 점수 모델을 훈련시킴으로써 상기 훈련 데이터 세트 내의 편향의 수치 표현인 편향 점수를 생성하는 동작;
    상기 편향 점수가 임계값 점수를 만족하는지 여부를 결정하는 동작;
    상기 편향 점수가 상기 임계값 점수를 만족할 때, 상기 훈련 데이터 세트에 승인 표시자(approval indicator)를 레이블링(labeling)하는 동작; 그리고
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 상기 훈련 데이터 세트에 거절 표시자(rejection indicator)를 레이블링하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 삭제
  13. 제11항에 있어서, 상기 편향 점수 모델은 상기 편향 점수에 기초한 피드백을 사용하여 훈련되는 것을 특징으로 하는 시스템.
  14. 삭제
  15. 제11항에 있어서, 상기 임계값 점수는 사용자가 구성할 수 있는(user-configurable) 허용 가능한 편향 점수를 포함하는 것을 특징으로 하는 시스템.
  16. 제11항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족할 때, 상기 훈련 데이터 세트를 사용하여 상기 기계 학습 모델을 훈련시키는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  17. 제11항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 편향 거부 모델을 사용하여 상기 훈련 데이터 세트로부터 비편향 훈련 데이터 세트를 생성하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 동작들은,
    상기 편향 점수가 상기 임계값 점수를 만족하지 못할 때, 상기 비편향 훈련 데이터 세트를 사용하여 상기 기계 학습 모델을 훈련시키는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  19. 제17항에 있어서, 상기 비편향 훈련 데이터 세트를 생성하는 동작은,
    상기 훈련 데이터 세트를 복수의 클러스터들로 분할하는 동작 -상기 복수의 클러스터들 중 적어도 하나의 클러스터는 하나 이상의 편향 민감 변수들 중 하나의 편향 민감 변수에 대응함-;
    상기 복수의 클러스터들의 각 클러스터에 대한 가중치를 생성하는 동작; 그리고
    상기 가중치를 갖는 복수의 클러스터에 기초하여 상기 비편향 훈련 데이터 세트를 생성하는 동작을 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서, 상기 각 클러스터에 대한 가중치는 대상 집단의 데이터 특성의 확률 분포에 기초하는 것을 특징으로 하는 시스템.
KR1020237023811A 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절 KR102629553B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247002451A KR20240013898A (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/126,860 2018-09-10
US16/126,860 US11250346B2 (en) 2018-09-10 2018-09-10 Rejecting biased data using a machine learning model
PCT/US2019/048121 WO2020055581A1 (en) 2018-09-10 2019-08-26 Rejecting biased data using a machine learning model
KR1020217003605A KR102556896B1 (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217003605A Division KR102556896B1 (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247002451A Division KR20240013898A (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Publications (2)

Publication Number Publication Date
KR20230110830A KR20230110830A (ko) 2023-07-25
KR102629553B1 true KR102629553B1 (ko) 2024-01-25

Family

ID=67876099

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020217003605A KR102556896B1 (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절
KR1020247002451A KR20240013898A (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절
KR1020237023811A KR102629553B1 (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020217003605A KR102556896B1 (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절
KR1020247002451A KR20240013898A (ko) 2018-09-10 2019-08-26 기계 학습 모델을 사용하여 편향된 데이터 거절

Country Status (6)

Country Link
US (3) US11250346B2 (ko)
EP (1) EP3834140A1 (ko)
JP (3) JP7127211B2 (ko)
KR (3) KR102556896B1 (ko)
CN (1) CN112639842A (ko)
WO (1) WO2020055581A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783535B2 (en) * 2016-05-16 2020-09-22 Cerebri AI Inc. Business artificial intelligence management engine
US11537876B2 (en) * 2018-11-28 2022-12-27 Bank Of America Corporation Targeted variation of machine learning input data
US11343144B2 (en) * 2019-03-12 2022-05-24 Cisco Technology, Inc. Downlink performance optimizations in wireless networks
US11775863B2 (en) * 2019-05-22 2023-10-03 Oracle International Corporation Enforcing fairness on unlabeled data to improve modeling performance
US20200372290A1 (en) 2019-05-22 2020-11-26 Oracle International Corporation Bayesian Test of Demographic Parity for Learning to Rank
US11062234B1 (en) * 2019-12-31 2021-07-13 Capital One Services, Llc System and method for managing classification outcomes of data inputs classified into bias categories
KR102542451B1 (ko) * 2020-11-04 2023-06-12 서울대학교산학협력단 공정 분포 추정을 통한 공정 군집화 방법 및 그의 장치
JP7322918B2 (ja) * 2021-03-29 2023-08-08 横河電機株式会社 プログラム、情報処理装置、及び学習モデルの生成方法
CN113077057B (zh) * 2021-04-20 2022-09-06 中国科学技术大学 无偏机器学习方法
KR20230034762A (ko) * 2021-09-03 2023-03-10 주식회사 뷰노 기계학습 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009135076A1 (en) 2008-05-02 2009-11-05 The Regents Of The University Of California Estimation based on case-control designs
US20170330058A1 (en) 2016-05-16 2017-11-16 Cerebri AI Inc. Detecting and reducing bias (including discrimination) in an automated decision making process
US20180165697A1 (en) 2016-12-08 2018-06-14 App Annie Inc. Determining usage data of mobile applications for a population

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437334B2 (en) 2004-12-03 2008-10-14 Hewlett-Packard Development Company, L.P. Preparing data for machine learning
JP5008201B2 (ja) 2008-05-21 2012-08-22 三智商事株式会社 無線icタグ
JP5243888B2 (ja) 2008-08-18 2013-07-24 日本放送協会 データ分類装置及びデータ分類プログラム
JP2010204966A (ja) 2009-03-03 2010-09-16 Nippon Telegr & Teleph Corp <Ntt> サンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置およびクラス判別システム。
US20110289025A1 (en) 2010-05-19 2011-11-24 Microsoft Corporation Learning user intent from rule-based training data
WO2015001544A2 (en) 2013-07-01 2015-01-08 Agent Video Intelligence Ltd. System and method for abnormality detection
CN107980162A (zh) 2015-03-03 2018-05-01 南托米克斯有限责任公司 基于组合的研究建议系统和方法
JP2017076289A (ja) 2015-10-15 2017-04-20 キヤノン株式会社 パラメータ決定装置、パラメータ決定方法及びプログラム
JP2018109906A (ja) 2017-01-05 2018-07-12 住友電気工業株式会社 画像データ作成プログラム、画像データ作成装置および画像データ作成方法
US10565523B2 (en) * 2017-01-06 2020-02-18 Accenture Global Solutions Limited Security classification by machine learning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009135076A1 (en) 2008-05-02 2009-11-05 The Regents Of The University Of California Estimation based on case-control designs
US20170330058A1 (en) 2016-05-16 2017-11-16 Cerebri AI Inc. Detecting and reducing bias (including discrimination) in an automated decision making process
US20180165697A1 (en) 2016-12-08 2018-06-14 App Annie Inc. Determining usage data of mobile applications for a population

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Corinna Cortes et al. Sample Selection Bias Correction Theory. Google Research. 2008.
Felix Last et al. Oversampling for Imbalanced Learning Based on K-Means and SMOTE. arXiv:1711.00837v2 [cs.LG]. 2017.12.12.
Guo et al. Embedding Undersampling Rotation Forest for Imbalanced Problem. Computational Intelligence and Neuroscience, Volume 2018, Article ID 6798042, 2018, pp. 1-15.
Mateusz Lango et al. ImWeights: Classifying Imbalanced Data Using Local and Neighborhood Information. Proceedings of the Second International Workshop on Learning with Imbalanced Domains: Theory and A
Naman Deep Singh et al. Clustering and Learning from Imbalanced Data. arXiv:1811.00972v2 [cs.LG] 12 Nov 2018.
Wei-Chao Lin et al. Clustering-based undersampling in class-imbalanced data. ELSEVIER Information Sciences 409-410 (2017) p. 17-26. 2017.

Also Published As

Publication number Publication date
JP2022169657A (ja) 2022-11-09
JP2024028987A (ja) 2024-03-05
JP7405919B2 (ja) 2023-12-26
JP7127211B2 (ja) 2022-08-29
US11250346B2 (en) 2022-02-15
EP3834140A1 (en) 2021-06-16
WO2020055581A1 (en) 2020-03-19
JP2021536067A (ja) 2021-12-23
KR20230110830A (ko) 2023-07-25
US20200082300A1 (en) 2020-03-12
US20220156646A1 (en) 2022-05-19
KR20240013898A (ko) 2024-01-30
CN112639842A (zh) 2021-04-09
KR20210025108A (ko) 2021-03-08
KR102556896B1 (ko) 2023-07-18
US20240144095A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
KR102629553B1 (ko) 기계 학습 모델을 사용하여 편향된 데이터 거절
US11392852B2 (en) Rejecting biased data using a machine learning model
Birnbaum et al. Model-assisted cohort selection with bias analysis for generating large-scale cohorts from the EHR for oncology research
US11475161B2 (en) Differentially private dataset generation and modeling for knowledge graphs
CN106599065A (zh) 一种基于Storm分布式框架的食品安全网络舆情预警系统
Huang et al. Mbct: Tree-based feature-aware binning for individual uncertainty calibration
US11928017B2 (en) Point anomaly detection
Anwarudin et al. The Prediction on the students’ graduation timeliness using naive bayes classification and k-nearest neighbor
Mints Classification of tasks of data mining and data processing in the economy
Trinks A classification of real time analytics methods. an outlook for the use within the smart factory
US10867253B1 (en) Distributable clustering model training system
Jain et al. Analysis of different machine learning classifiers on MP election commission and breast cancer big dataset
Uddin et al. A study of deterioration in classification models in real-time big data environment
Sree Divya et al. XGBoost Classifier to Extract Asset Mapping Features
Jabin Predicting lung cancer survivability: A machine learning regression model
Das et al. Estimation of resemblance and risk level of a breast cancer patient by prognostic variables using microarray gene expression data
US20230094479A1 (en) Machine Learning Regression Analysis
de Oliveira Barreto et al. Artificial intelligence applied to analyzes during the pandemic: COVID-19 beds occupancy in the state of Rio Grande do Norte, Brazil
Raj ANALYSIS OF CLUSTERING ALGORITHMS FOR TEXT CLASSIFICATION
Tarasova Micro level data aggregation based on profiling and Jaro-Winkler distance maximization
Costa et al. Comparison of the Intelligent Techniques for Data Mining in Spam Detection to Computer Networks
Huang A Picture Is Worth a Thousand Words: Rethinking Graph Neural Networks for Text Classification
Hirano et al. Representation of granularity for non-Euclidian relational data by Jaccard coefficients and binary classifications

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant