ToxiGen: A Large-Scale Machine-Generated Dataset for Adversarial and Implicit Hate Speech Detection

jihyelee·2023년 1월 17일
0

ToxiGen: A Large-Scale Machine-Generated Dataset for Adversarial and Implicit Hate Speech Detection
ACL 2022

분야 및 배경지식

  • Hate Speech (Toxic Speech) Detection
  • AI Fairness

문제점

  • 해로운 발언(toxic language; 예를 들어 혐오 발언)을 감지하는 시스템은 종종 소수 집단(minority group)이 언급되면 이를 혐오 발언으로 잘못 분류하곤 함
  • "소수집단 - 혐오발언"이라는 겉으로만 그럴싸한 연관관계(spurious correlation)에 대한 지나친 의존은 모델의 성능을 떨어뜨림
    • 이는 모델이 문장의 깊은 문맥적 의미를 이해하지 못함을 나타냄
  • 특히 implicit toxicity(예: 내재된 혐오)는 특정 단어의 사용(예: 욕)으로 구분할 수 없으며 긍정의 감정을 나타내는 경우도 때로 존재하고, 대규모로 수집하기도 쉽지 않음

해결책

TOXIGEN

  • keyword: 대규모(large scale), 내재된 독성(implicit toxicity), 데이터셋의 균형(balance between toxic and benign)
  • 13개의 소수집단에 대해 총 27만 4천 개의 해로운(toxic) & 무해한(benign) 문장을 담고 있는 거대한 규모의 기계 생성 데이터셋
  • demonstration 기반의 프롬프팅 프레임워크와 adversarial classifier-in-the-loop 디코딩 방식을 활용
    • 참고로 머신러닝에서 adversary(적대성)이란 머신러닝 알고리즘에 대한 공격을 연구하고 이를 방어하기 위한 방안을 고안해내는 연구분야
    • 예를 들어 데이터에 아주 약간의 노이즈만 더했는데도 분류 결과 값이 달라지거나, 사람의 눈에는 무의미한 노이즈로 보이는 이미지가 곰으로 분류되는 등의 경우가 있는데, 이러한 약점을 파악하고 이를 보완하기 위함임
    • adversarial examples에 대해 더 알고 싶다면 -> 링크

1) demonstration 기반의 prompt engineering

  • 프롬프트란, 언어 모델의 특정한 행동을 촉발시키기 위해 모델에 전달되는 텍스트의 조각
  • demonstration(증거, 예시) 기반이란 언어모델에게 예시 문장들을 전달하여 언어모델이 이와 유사하지만 별개의 문장을 생성하도록 장려하는 방식
  • 작은 수의 예시들을 수집한 후 이를 언어모델에 전달, 언어모델의 응답 중 좋은 예시들을 다시 demonstration에 추가하는 방식으로 데이터 증가(data augmentation) 수행

2) ALICE (Adversarial Language Imitation with Constrained Exemplers)

  • adversarial classifier-in-the-loop decoding method
    • 일종의 제한된 beam search 디코딩 방식으로 사전학습된 toxicity 분류기에 adversarial(적대적인) 문장들을 생성하고자 함
    • 참고로 beam search decoding이란 언어모델이 문장을 생성할 때 몇 개의 토큰으로 구성된 sequence의 후보군 중 가장 확률이 높은 sequence를 선택하는 방식
  • beam search 동안 주어진 toxicity 분류기로부터 나오는 확률에 약한 제약(soft constraint)를 가하고자 함
    • false negative: 언어모델에게는 toxic prompt를 제공해 toxic output을 낼 확률을 높인 다음, beam search 동안 분류기의 benign class에 대한 확률을 최대화함
    • false positive: 위와는 반대로 bening prompt를 사용하고 beam search 동안에는 toxic class에 대한 확률을 최대화
  • HateBERT를 OffensEval에 파인튜닝한 모델을 분류기로 사용

평가

  • 사람이 직접 데이터셋 품질 평가 진행
    • 평가 기준: 문장의 작성자가 사람인가 AI인가, 문장의 의도가 해로운가(Harmful), 긍정적인 고정관념을 보임에도 해로운가, 문장이 외설적이거나 선정적인가, 사실인가 의견인가 등
  • 평가 결과
    • 평균 90%가 모델이 만든 예시임에도 불구하고 사람이 평가했을 때 사람이 작성한 문장으로 판단되는 경우가 많음
    • 대부분의 toxic 예시들은 혐오 발언(hate speech; 약 94.56%)이었음
    • 의견의 경우 toxic, non-toxic이 모두 존재하였으나 대부분의 사실관계 관련 문장은 non-toxic
  • Toxicity Classifier에 TOXIGEN 파인튜닝 진행
    • ALICE와 top-k를 결합하여 생성한 TOXIGEN을 HateBERT, ToxDectRoBERTa에 파인튜닝 하였을 때 모든 데이터셋에 대해 감지 성능이 향상
    • 데이터셋: SBF-TEST, IHC, DYNAHATE, TOXIGEN-VAL

의의

  • 겉으로만 그럴싸한(spurious) "정체성(identity)-독성(toxicity)"의 연관성을 최대한 줄임
  • 숨겨져 있는(implicit) 독성/혐오를 더욱 잘 표현하는 데이터셋을 생성하여 toxicity 분류 성능 향상
  • 사람의 평가를 포함해 데이터셋의 신빙성을 높임

한계

  • TOXIGEN에 대한 human validation (annotated) 데이터셋에 대한 설명이 충분치 않음
    • 공개된 데이터셋에서 label 컬럼이 무엇을 의미하는가
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher and Engineer at LG CNS AI Lab

0개의 댓글