인공지능/논문 리뷰 or 진행

Gender Bias in Neural Natural Language Processing - 논문 리뷰

이게될까 2024. 11. 14. 20:55
728x90
728x90

https://arxiv.org/abs/1807.11714

 

Gender Bias in Neural Natural Language Processing

We examine whether neural natural language processing (NLP) systems reflect historical biases in training data. We define a general benchmark to quantify gender bias in a variety of neural NLP tasks. Our empirical evaluation with state-of-the-art neural co

arxiv.org

 

여기선 단어를 교체하면서 임베딩 공간, attention score를 보고 편향을 확인했습니다.

그리 확인한 Bias는 PCA를 통해 임베딩 공간에서 편향 관한 축을 추출하고, 이 것을 성별 데이터로 파악, 직업과 같은 곳에는 이 축을 제거해줍니다. 이 방식이 WED로 학습 없이 편향을 줄인 방법입니다.

또 학습 데이터에서 남자와 여자를 모두 추가해주는 방식으로 편향을 줄이기도 하였습니다.

그러나 학습을 한번 더 해야 하고, 데이터가 이상하게 혹은 과하게 늘어나는 경우가 있어서 완벽하진 않습니다.

그래도 이러한 여러 방법으로 편향을 줄인 논문입니다!

제 SAE 방식으로 줄인 편향이 이 정도 좋은 방법인지 고민하게 됩니다...

 

 

 

 

 

 

 

 

논문 요약: Gender Bias in Neural Natural Language Processing

1. 해결하려는 문제

  • 문제 정의: 이 논문은 자연어 처리(NLP) 시스템에서 나타나는 성별 편향(Gender Bias)을 측정하고 줄이는 방법을 탐구합니다. 특히, 모델이 훈련 데이터의 역사적 편향을 학습해 직업과 성별 간의 연관성을 부정확하게 반영하는 문제를 다룹니다.
  • 편향 측정:
    • Coreference Resolution: 직업과 성별 대명사 간의 연결 강도를 측정.
    • Language Modeling: 성별 대명사가 포함된 문맥에서 특정 직업 단어의 확률적 예측 편향 분석.

2. 사용된 방법

  • Bias 측정 방법:
    • "Causal Testing" 기법을 도입해, 성별 관련 단어만 바꾼 문장 쌍 간의 모델 반응 차이를 분석.
  • 편향 완화 방법:
    • Word Embedding Debiasing (WED): 단어 임베딩에서 성별 편향 요소를 제거.
    • Counterfactual Data Augmentation (CDA):
      • 원본 데이터에 성별 관련 단어를 교환한 새로운 문장을 추가하여 훈련.
      • 데이터에 성별 중립적 관점을 강제함으로써 모델의 편향 학습 방지.

3. 결과

  • Bias 감소 효과:
    • CDA는 Coreference Resolution과 Language Modeling에서 성별 편향을 효과적으로 감소시킴.
    • WED보다 CDA의 성능이 우수하며, WED와 결합 시 추가적인 개선 가능.
  • 성능 유지:
    • 편향 감소 후에도 모델 성능(정확도, Perplexity)에는 큰 영향을 미치지 않음.
  • 학습 과정에서의 Bias 증가:
    • 원본 데이터로만 훈련 시, 모델의 편향이 점진적으로 증가.
    • CDA는 이 증가를 억제.

4. 한계점

  • Overcorrection: CDA와 WED를 함께 사용할 경우 편향의 반대 방향으로 과교정이 발생할 수 있음.
  • 데이터 종속성: 생성된 반사실적(counterfactual) 데이터의 품질이 모델 성능과 편향 감소에 직접적으로 영향을 미침.
  • 모델 일반화 한계: Language Modeling에서 작은 데이터셋으로 인해 결과의 불확실성이 존재.

논문의 타당성과 아쉬운 점

1. 타당성

  • 문제의 중요성: 성별 편향은 NLP 시스템이 공정성과 신뢰성을 유지하는 데 중요한 이슈이며, 이를 정량적으로 평가한 것은 의의가 큼.
  • 방법론적 독창성: CDA는 데이터를 조작하여 모델이 편향적 연관성을 학습하지 않도록 유도하는 혁신적인 접근법.
  • 실험적 검증: 다양한 NLP 모델과 작업(Coreference Resolution, Language Modeling)에서 편향 감소 효과를 검증하여 신뢰성을 높임.

2. 아쉬운 점

  • 실험 데이터 제한: Wikitext-2와 같은 작은 데이터셋은 언어 모델링 실험 결과의 일반화 가능성을 제한.
  • 모델 아키텍처 다양성 부족: 실험은 주로 RNN과 특정 Coreference Resolution 모델에 한정됨. Transformer 기반 모델에서의 편향은 추가적으로 검증이 필요.
  • 장기적 편향 완화 검증 부족: CDA로 훈련된 모델이 새로운 데이터에서도 지속적으로 편향 감소 효과를 유지할 수 있는지에 대한 분석이 미흡.

연구 활용 아이디어

  • Sparse Autoencoder(SAE)와 결합: SAE를 활용해 모델 내부의 편향적 특징을 탐지하고 CDA 방식으로 데이터를 생성하여 편향을 줄이는 방법 연구.
  • LLM 편향 해석: 편향을 감지하는 과정을 시각화하고, SAE로 편향적 특징을 제로화한 결과를 LLM 평가 지표(MMLU 등)와 비교.
  • 다중 편향 분석: 성별 외에도 인종, 나이 등의 다양한 편향을 검출하고 완화하는 보편적 CDA 방법론을 개발.

 

그럼 여기서 어떤 방식을 통해 편향을 확인했고, 편향을 없앤 방법이 뭐야??

1. 편향 확인 방법

  • Causal Testing 기법:
    • 편향을 측정하기 위해 Matched Sentence Pairs를 생성. 동일한 문장에서 성별 관련 단어만 바꾸고, 모델이 해당 문장 쌍에 대해 다른 출력을 생성하는지 확인.
    • 예:
      • 문장 A: "The doctor ran because he is late."
      • 문장 B: "The doctor ran because she is late."
      • 모델이 "doctor"와 "he/she" 사이의 관계를 다르게 처리한다면 성별 편향이 있다고 판단.
  • 측정 대상:
    • Coreference Resolution:
      • 직업 단어(예: doctor)와 대명사(he/she) 간의 관계 강도를 모델이 얼마나 다르게 학습했는지 측정.
      • 성별 대명사와 직업 간 연결 강도를 수치화하여 편향을 확인.
    • Language Modeling:
      • 문장 맥락에서 직업 단어의 확률 예측이 성별 대명사에 따라 달라지는지 측정.
      • 예: "He is a [occupation]"과 "She is a [occupation]"에서 특정 직업의 확률값 비교.

2. 편향을 없앤 방법

(1) Word Embedding Debiasing (WED):

  • 방법:
    • 단어 임베딩(word embedding)의 공간에서 성별 편향을 나타내는 특정 방향(성별 축)을 제거.
    • 성별 중립적 단어(예: doctor, nurse)에서 성별 정보가 담긴 요소를 삭제하여 단어 간의 의미적 관계를 유지하며 편향을 제거.
  • 한계:
    • 단어 임베딩만 수정하므로 모델 훈련 중 다른 편향이 다시 학습될 수 있음.
    • Coreference Resolution 등 다운스트림 작업에서 편향 제거 효과가 제한적.

(2) Counterfactual Data Augmentation (CDA):

  • 방법:
    • 데이터셋에서 성별 관련 단어를 교환하여 새로운 반사실적(counterfactual) 데이터를 생성.
    • 원래 문장과 교환된 문장을 모두 포함해 모델을 훈련시킴으로써 성별 정보에 의존하지 않도록 학습 유도.
    • 예:
      • 원본 문장: "The doctor ran because he is late."
      • 생성 문장: "The doctor ran because she is late."
      • 두 문장이 모두 동일한 의미를 가진다는 것을 학습.
  • 효과:
    • 모델이 직업과 성별 간의 관계를 학습하지 않도록 유도하여 성별 편향을 크게 감소.
    • Coreference Resolution과 Language Modeling 작업 모두에서 편향 감소 효과 확인.
  • 한계:
    • 과도한 데이터 증강은 학습 효율을 저하시킬 수 있으며, 일부 경우에는 과교정(overcorrection)이 발생해 새로운 편향을 초래할 위험.

3. 편향 감소 방법 간 비교

  • WED:
    • 장점: 단어 임베딩만 수정하므로 간단하고 계산 비용이 적음.
    • 단점: 모델 훈련 중 다른 편향이 다시 나타날 수 있음.
  • CDA:
    • 장점: 모델 훈련 데이터 자체를 보강하므로 편향 감소 효과가 더 큼.
    • 단점: 데이터 증강 과정이 복잡하며, 데이터의 품질과 다양성이 중요.

4. 결론

  • 논문에서는 CDAWED보다 효과적이며, 두 방법을 조합해 사용하면 더욱 강력한 편향 감소 효과를 얻을 수 있음을 보여줌.
  • 특히, CDA는 원본 데이터에서 발생하는 성별 편향의 증가를 억제하며, Coreference Resolution과 Language Modeling에서 성능 손실 없이 편향을 줄이는 데 성공함.
 

 

그럼 단어를 계속 바꿔가면서 임베딩, attention score의 변화를 지켜보면서 편향을 관측한 것이구나?
그 편향을 발견했다면 특정 방향을 제거해서 편향 제거를 한 것이고
그런데 WED에선 특정 방향을 어떻게 선별하는거야?

네, 맞습니다! 편향 측정 과정에서 단어를 바꿔가며 모델의 출력(임베딩, attention score 등)의 변화를 관찰하고 이를 통해 성별 편향이 존재하는지를 파악했습니다. 이후, 편향을 줄이기 위해 특정 방향(성별 축)을 제거하는 방식을 사용했죠.

이제 Word Embedding Debiasing (WED)에서 "특정 방향(성별 축)"을 어떻게 선별했는지 단계별로 설명하겠습니다.


1. 특정 방향(성별 축) 선별 방법

(1) 성별-관련 단어 쌍을 수집

  • 정의된 성별 쌍 사용:
    • 논문에서는 he-she, king-queen, father-mother 같은 명확한 성별 대조 단어 쌍을 정의합니다.
    • 이 쌍을 통해 단어 임베딩 공간에서 성별 편향을 나타내는 축(벡터 방향)을 계산합니다.

(2) Principal Component Analysis (PCA)를 활용

  • 성별 단어 쌍의 임베딩 벡터를 사용해 성별 정보를 나타내는 주된 방향(성별 축)을 계산합니다.
  • 구체적으로:
    1. 성별 쌍의 차이 벡터를 계산:
      예) he−she, king−queen
    2. PCA를 적용해 이 벡터들이 가장 많이 분산되는 방향을 찾음.
    3. 이 주성분(Principal Component)이 성별 축으로 간주됨.

(3) 성별 축과 단어 간 내적 계산

  • 성별 편향 점수 측정:
    • 각 단어의 임베딩 벡터를 성별 축에 투영하여, 그 단어가 성별 축과 얼마나 관련 있는지 점수화.
    • 점수가 클수록 그 단어는 성별 관련 편향을 더 많이 가짐.

2. 편향 제거 과정

(1) 성별 축 제거

  • 각 단어 벡터에서 성별 축을 제거함으로써, 성별 정보가 벡터에 포함되지 않도록 수정: word_embedding′=word_embedding−(word_embedding⋅gender_direction)⋅gender_direction
  • 위 수식에서:
    • word_embedding-: 원본 단어 임베딩.
    • gender_direction-: PCA로 추출된 성별 축.
    • (word_embedding⋅gender_direction): 단어 벡터가 성별 축에 투영된 값.

(2) 중립적 단어 유지

  • 성별 중립적 단어(예: doctor, teacher)는 의미를 유지하도록, 성별 축만 제거.
  • 성별과 명확히 연관된 단어(예: he, she, king, queen)는 성별 정보를 유지함.

(3) 단어 의미 보존 확인

  • 편향 제거 후에도 단어 간의 기존 의미적 관계(예: "doctor"와 "nurse" 간의 유사도)는 유지.

3. 한계점

(1) 성별 축 추출의 한계

  • PCA로 추출한 "성별 축"이 모든 단어에 대해 성별 관련성을 완벽히 나타내지 않을 수 있음.
  • 일부 단어는 성별 쌍에서 추출한 방향에 명확히 부합하지 않을 수 있음.

(2) 다른 편향 요소 학습 가능성

  • 성별 축 제거 후에도 모델이 훈련 데이터의 다른 편향적 특징을 학습할 가능성이 있음.

(3) 다운스트림 작업과의 연결

  • 임베딩에서 성별 축을 제거하더라도 Coreference Resolution, Language Modeling 등 다운스트림 작업에서 완전한 편향 제거가 이루어지지 않을 수 있음.

4. 결론

  • 특정 방향(성별 축) 선별은 성별 대조 단어 쌍을 사용한 PCA 기반의 방향 추출을 통해 이루어졌습니다.
  • 그러나 이 방식은 "성별 축"의 정확성과 다운스트림 작업에서의 적용 가능성에 한계가 있습니다. 이를 보완하기 위해 Counterfactual Data Augmentation (CDA) 같은 데이터 기반 접근법이 필요했던 것이죠.

 

PCA도 결국 정보 손실이 일어나니까 완벽하지 않은 거구나
그래도 Bias를 줄이는 데에 큰 의미가 있는 거고?

네, 정확합니다! PCA는 성별 편향을 줄이기 위해 강력한 도구지만, 정보 손실과 한계로 인해 완벽하지는 않습니다. 하지만 그럼에도 불구하고 Bias를 줄이는 데 중요한 의미를 가지며, 특히 초기 단계에서 임베딩 편향을 완화하는 데 기여합니다. 이를 좀 더 구체적으로 살펴보겠습니다.


1. PCA 기반 접근법의 한계

(1) 정보 손실

  • PCA는 단어 임베딩에서 특정 방향(성별 축)을 제거함으로써, 해당 방향에 포함된 정보는 손실됩니다.
  • 예를 들어, 성별 축 제거 과정에서 단어의 성별과 관련된 미묘한 맥락 정보도 함께 제거될 수 있습니다.
  • 이는 성별 중립적 단어가 가진 복합적 의미를 왜곡하거나 유사도 계산에서 예상치 못한 결과를 초래할 수 있습니다.

(2) 성별 축 정의의 제한

  • PCA로 추출한 성별 축이 훈련 데이터의 특정 편향을 반영하는데, 이는 데이터의 다양성과 품질에 크게 의존합니다.
  • 성별 축이 특정 문화적 편향(예: 영어 데이터에서의 성별 역할)에 국한될 수 있으며, 다국어 모델이나 비서구적 맥락에서는 한계가 나타날 수 있습니다.

(3) 다른 편향 요인에 대한 무시

  • PCA는 성별에만 초점을 맞추기 때문에, 인종, 나이, 지역적 편향 등 다른 잠재적 편향 요소를 감지하거나 줄이는 데 기여하지 못합니다.

2. Bias를 줄이는 데의 의미와 기여

(1) 성별 편향 감지 및 정량화

  • PCA 기반 접근법은 성별 편향을 정량적으로 측정하고, 이를 모델 내에서 제거할 수 있는 첫 단계로 의미가 큽니다.
  • 예: "man - programmer", "woman - homemaker"와 같은 전통적 편향을 수치적으로 확인 가능.

(2) 다운스트림 작업 성능 유지

  • 성별 축을 제거하는 방식은 단어 간의 의미적 관계를 최대한 유지하면서도 편향을 줄이는 데 효과적입니다.
  • 예: "doctor"와 "teacher" 간의 관계는 유지하면서도 성별 편향 요소를 완화.

(3) 다른 편향 제거 방법과의 결합 가능

  • PCA로 특정 방향을 제거한 뒤, Counterfactual Data Augmentation (CDA) 같은 방법을 추가적으로 적용하면 더 강력한 편향 제거 효과를 얻을 수 있습니다.
  • 예: CDA는 모델이 새로운 데이터에서도 성별 정보에 의존하지 않도록 보장.

(4) 성능 저하 최소화

  • PCA 기반 편향 제거는 모델의 성능(정확도, 언어 생성 능력)에 상대적으로 영향을 덜 미치므로, 다른 편향 제거 방법(WED, CDA) 대비 계산 비용과 성능 손실 측면에서 효율적입니다.

3. Bias 제거에서의 한계 보완

  • PCA가 가진 정보 손실 문제와 한계를 보완하기 위해, 다중 편향 축을 고려한 방식이나 CDA 같은 데이터 기반 접근법을 병행하는 것이 필요합니다.
  • 최근 연구에서는 Transformer 기반 모델의 Attention Mechanism에서의 성별 편향을 탐지하고, 이를 약화시키는 방식도 탐구되고 있습니다.

4. 결론

  • PCA 기반 편향 제거는 완벽하지 않지만, 초기 단계에서 편향을 줄이는 데 큰 기여를 합니다.
  • 정보 손실과 편향 축 정의의 한계가 있지만, 이를 통해 모델이 기존의 명확한 성별 편향을 학습하지 않도록 도움을 줄 수 있습니다.
  • 중요한 점은, Bias를 줄이는 여러 방법 중 하나로서 효과적이며, 다른 방법과 조합하여 더 강력한 결과를 낼 수 있다는 점입니다.

PCA는 "완벽하지 않은 도구"이지만, 공정성과 신뢰성 확보를 위한 AI 연구에서 중요한 발걸음이라고 볼 수 있습니다.

 

작성하신 내용에서 일부 문장의 표현과 정확성을 다듬어 조금 더 명확하게 정리해 보겠습니다. 수정한 내용을 아래에 제시합니다:


수정된 내용:

여기서는 단어를 교체하면서 임베딩 공간과 attention score를 관찰하여 편향을 확인했습니다.

확인된 편향(Bias)은 PCA를 사용해 임베딩 공간에서 특정 축(편향 축)을 추출한 후, 이를 성별과 관련된 방향으로 정의하여 분석했습니다. Word Embedding Debiasing(WED) 방식에서는 이 편향 축을 제거함으로써 성별 편향을 줄였습니다. 이 방법은 모델을 재학습하지 않고도 임베딩 수준에서 편향을 완화하는 효과를 보였습니다.

또한, 학습 데이터에 Counterfactual Data Augmentation(CDA) 기법을 적용해, 남성과 여성 모두에 대한 데이터를 추가로 생성하여 학습에 활용함으로써 편향을 줄이는 방법도 사용했습니다. 이는 데이터를 증강해 모델이 성별에 의존하지 않도록 학습을 유도합니다.

하지만, CDA 방식은 추가적인 학습 과정을 필요로 하고, 데이터 크기가 비약적으로 증가할 수 있어 실용적인 한계가 있습니다.

그럼에도 불구하고, 이 논문은 다양한 접근법을 통해 NLP 모델의 성별 편향을 효과적으로 줄이는 방법론을 제시했습니다.

제가 Sparse Autoencoder(SAE)를 활용해 편향을 줄이는 방식이 이러한 방법들과 비교했을 때 얼마나 효과적일지 고민하게 됩니다...


주요 수정 및 보완 내용:

  1. "PCA를 통해 편향 관련 축을 추출하고, 이 것을 성별 데이터로 파악" → "PCA를 사용해 임베딩 공간에서 특정 축(편향 축)을 추출한 후, 이를 성별과 관련된 방향으로 정의하여 분석"으로 수정:
    • PCA의 역할과 성별 편향 축의 정의를 좀 더 명확하게 기술.
  2. "직업과 같은 곳에는 이 축을 제거해줍니다" → "편향 축을 제거함으로써 성별 편향을 줄였습니다":
    • "직업"이라는 한정된 맥락 대신, 전반적인 "성별 편향 축 제거"를 포괄적으로 표현.
  3. "남자와 여자를 모두 추가해주는 방식" → "Counterfactual Data Augmentation(CDA) 기법을 적용해, 남성과 여성 모두에 대한 데이터를 추가로 생성":
    • "추가해주는" 표현을 "데이터 증강"이라는 기법적 용어로 대체.
  4. "학습을 한번 더 해야 하고, 데이터가 이상하게 늘어나는 경우" → "추가적인 학습 과정을 필요로 하고, 데이터 크기가 비약적으로 증가할 수 있어 실용적인 한계":
    • 표현을 좀 더 전문적이고 명확하게 보완.

수정된 내용은 원래 의도와 의미를 유지하면서도 좀 더 체계적이고 전문적으로 보이도록 다듬었습니다. 😊

728x90