DALL·E 2 사전 학습 완화 조치

OpenAI는 유해 콘텐츠를 줄이고, 인구통계적 편향의 증폭을 방지하며, 학습 이미지의 그대로 복제 를 없애기 위해 DALL·E 2 사전 학습 중 적용된 기술적 완화 조치를 상세히 설명했습니다.

능동 학습을 통한 유해 콘텐츠 감소

OpenAI는 훈련 데이터셋에서 폭력 및 성적 콘텐츠를 필터링하도록 설계된 분류기를 개선하기 위해 반복적인 능동 학습 과정을 사용했습니다. 이 과정은 두 가지 주요 목표에 초점을 맞추었습니다: 위양성 감소와 위음성 감소.

위양성 감소

무해한 이미지가 유해하게 잘못 분류되는 빈도를 최소화하기 위해, OpenAI는 현재 모델이 양성으로 분류한 이미지에 인간 라벨을 부여했습니다. 분류 임계값은 거의 100% 재현율을 목표로 하면서도 높은 위양성 비율을 갖도록 조정되어, 인간 라벨러가 주로 실제 음성 사례를 만나고 수정하도록 했습니다.

위음성 감소

모델이 놓친 유해 이미지를 찾기 위해, OpenAI는 최근접 이웃 검색을 활용했습니다. 과정은 다음과 같습니다:

  1. 다중 교차 검증을 수행하여 라벨된 데이터셋에서 모델이 자주 음성으로 오분류한 양성 샘플을 식별합니다.
  2. 이러한 오분류된 샘플들의 인지 특징 공간 내에서 최근접 이웃을 찾기 위해 대규모 비라벨 이미지 컬렉션을 스캔합니다.
  3. 발견된 이미지에 인간 라벨을 부여합니다.

데이터 필터링으로 인한 편향 증폭 완화

훈련 데이터를 필터링하면 명시적 콘텐츠가 감소하지만, 의도치 않게 편향을 만들거나 증폭시킬 수 있습니다. OpenAI는 필터링된 모델이 필터링되지 않은 모델보다 더 편향되었다는 것을 관찰했습니다; 예를 들어, 프롬프트 "a ceo"는 필터링된 모델에서는 거의 남성 이미지만 생성했지만, 필터링되지 않은 모델은 더 많은 여성 이미지를 생성했습니다.

편향 증폭의 원인

OpenAI는 이러한 증폭이 다음과 같은 이유로 발생한다고 가정합니다:

  • 원본 데이터셋에서 여성은 더 성적 맥락으로 제시되는 경우가 많아, 필터가 남성보다 여성 이미지를 더 많이 제거하게 됩니다.
  • 분류기 자체가 구현 방식이나 클래스 정의 때문에 편향될 수 있습니다.

필터 유발 편향 측정

이 효과를 정량화하기 위해, OpenAI는 데이터셋의 다중모달 특성을 활용해 캡션 내 키워드 빈도를 측정했습니다. Apache Spark를 사용해 필터링된 데이터셋과 필터링되지 않은 데이터셋 간의 키워드(예: "woman", "man") 빈도를 비교했습니다. 예를 들어, "woman"이라는 단어는 14% 감소했으며, "man"은 6%만 감소한 것으로 나타났습니다.

데이터셋 재가중치

필터링된 모델이 필터링되지 않은 모델보다 더 편향되는 것을 방지하기 위해, OpenAI는 필터링된 데이터셋의 분포를 필터링되지 않은 데이터셋에 맞추는 재가중치 방식을 구현했습니다.

  1. 분류기 학습: 작은 CLIP 모델 위에 선형 프로브를 학습시켜 이미지가 필터링되지 않은 데이터셋에 속할 확률을 예측하도록 했습니다 ($P(\text{unfiltered}|\text{image})$).
  2. 가중치 계산: 각 이미지에 $P(\text{unfiltered}|\text{image}) / P(\text{filtered}|\text{image})$ 비율에 기반한 가중치를 부여했습니다.
  3. 적용: 이 가중치를 이미지의 학습 손실에 적용하여, 과소대표된 샘플의 반복을 효과적으로 모방했습니다.

미세 조정 후, "man"과 "woman"의 상대 빈도 감소는 각각 14%와 6%에서 -1%와 1%로 변했습니다.

이미지 재생성 방지

OpenAI는 DALL·E 2의 이전 버전들이 학습 이미지를 그대로 재생성하는 문제를 확인했으며, 특히 훈련 세트에 많은 근접 복제본이 존재하는 단순 벡터 그래픽에서 이런 현상이 두드러졌습니다. 이러한 "재생성"은 저작권 및 프라이버시 문제를 야기할 수 있습니다.

클러스터링을 통한 중복 제거

이를 없애기 위해 OpenAI는 데이터셋의 중복을 제거했습니다. 수억 개에 달하는 데이터셋에서 모든 이미지 쌍을 비교하는 계산 비용을 피하기 위해 클러스터링 방식을 사용했습니다:

  • 클러스터링: 데이터셋을 클러스터링하고, 각 클러스터 내에서만 중복 제거를 수행했습니다.
  • 다중 클러스터링: 클러스터 경계에 걸쳐 중복 쌍이 존재할 수 있음을 고려해, OpenAI는 다섯 가지 서로 다른 무작위 클러스터링을 사용했습니다. 이 방법은 테스트된 부분집합에서 전체 중복 쌍의 97%를 발견했습니다.

성능 및 재생성에 미친 영향

데이터셋의 거의 25%를 제거했음에도 불구하고, 인간 평가자는 중복 제거된 데이터로 학습된 모델을 약간 더 선호했으며, 이는 중복된 이미지가 성능을 저해했음을 시사합니다.

중복 제거 후, 훈련 데이터셋의 50,000개 프롬프트를 검색한 결과, 모델은 해당 이미지와 정확히 일치하는 프롬프트를 제공하더라도 훈련 이미지를 전혀 재생성하지 않았습니다.

Sources