데이터 증강 : 마스터 클래스

SeongGyun Hong·2024년 10월 30일

NaverBoostCamp

목록 보기
20/64

데이터 증강 기법 상세 정리

1. 데이터 증강의 개념

  • 라벨 유지하며 피처 변경: 주어진 라벨을 유지한 상태로 피처(특성)만 변화시켜 학습 데이터에 다양성을 추가.
  • 피처와 라벨 동시 변경: 라벨과 피처를 함께 변형하여 더 다양한 학습 패턴 확보.
  • 필요성: 데이터 라벨링 비용 절감, 모델의 일반화 성능 향상을 위한 필수 과정.

2. Paraphrasing-based 방법

다양한 표현으로 원문과 동일한 의미 전달을 목표로 하는 증강 기법.

Word-level 증강

  • 개념: 단어 단위로 텍스트를 증강하는 방식으로, 동의어 사전 또는 EDA(Easy Data Augmentation)와 같은 기법 사용.
  • 장점: 간단하고 빠르게 적용 가능.
  • 단점: 문장 전체 맥락을 고려하지 않아 의미 변형과 모호성 문제 발생 가능.
    • 예시
      • 원문: "The cat is sitting on the mat."
      • 증강: "The feline is resting on the rug."
    • 발생 문제: 문맥 무시로 인해 의미 왜곡 가능성 (예: “bank”가 문맥에 따라 ‘강둑’ 또는 ‘은행’으로 해석되는 문제)

Semantic Embedding 증강

  • 개념: 단어보다는 구 수준에서 유의미한 단어를 선택하여 문장을 증강하는 방식으로, 의미적 유사성을 고려한 단어 교체 가능.
  • 장점: 구 단위로 더 포괄적이고 문맥에 적합한 단어 교체.
  • 단점: 여전히 문맥을 정확히 반영하지 못하는 경우가 있어 모호성 문제 발생 가능.
    • 예시
      • 원문: "The movie was very good."
      • 증강: "The film was quite excellent."

Back-Translation 증강

  • 개념: 원문을 다른 언어로 번역한 후 다시 원본 언어로 번역하여 증강 텍스트 생성.
  • 장점: 도메인에 관계없이 사용할 수 있고 문맥 의미가 반영되며 문법이 유지됨. 다양성이 높아 Sentence-level 증강에 유리.
  • 단점: 고정된 MT 모델 사용 시 제어력이 떨어지고 번역 오류가 발생할 수 있으며, 오류가 그대로 전파될 가능성 존재.
    • 예시
      • 원문: "The weather is nice today."
      • 중간 번역 (프랑스어): "Le temps est beau aujourd'hui."
      • 증강: "The weather is beautiful today."

Model Generation 증강

  • 개념: Seq2Seq 모델을 사용해 동일한 의미를 지닌 다른 표현을 생성하는 방식. Back-Translation의 확장 기법으로, 자체적으로 새로운 표현을 생성하는 언어모델 기반 기법.
  • 장점: Back-Translation의 장점을 모두 포함하면서 더 세밀하게 문장 생성이 가능.
  • 단점: 모델 학습 필요성과 데이터에 대한 높은 의존성 존재.
    • 예시
      • 원문: "I love eating pizza."
      • 증강: "Pizza is my favorite food to consume."

3. Noising-based 방법

텍스트 내 노이즈를 인위적으로 추가하여 원본 데이터를 변형하는 기법으로, 모델의 강건성을 강화하는 목적.

  • 기법 종류:
    • Swapping: 단어 위치 변경
    • Deletion: 일부 단어 삭제
    • Insertion: 새로운 단어 삽입
    • Substitution: 단어를 유사 의미의 다른 단어로 대체
  • 장점: 모델의 강건성을 높이고 일반화 성능을 향상시킬 수 있음.
  • 단점: 특정 상황에서 라벨이 변경될 수 있으며, 왜 성능이 향상되었는지에 대한 설명력 부족. 일부 기법은 다양성 면에서 한계가 있을 수 있음.
    • 예시
      • 원문: "The quick brown fox jumps over the lazy dog."
      • Swapping: "The quick brown fox jumps the lazy over dog."
      • Deletion: "The quick brown fox jumps over lazy dog."
      • Insertion: "The quick brown clever fox jumps over the lazy dog."
      • Substitution: "The fast brown fox leaps over the sleepy dog."

4. Sampling-based 방법

기존 학습 데이터에서 새로운 샘플을 생성해 데이터의 다양성을 증가시키는 방식.

  • 유형:
    • rule-based: 사전 정의된 규칙을 기반으로 샘플 생성.
    • pretrained Model: 사전 학습된 모델을 사용하여 샘플 생성.
    • classifier: 분류기 모델을 사용해 라벨의 균형 조절.
    • Mixup: 두 데이터 샘플을 혼합하여 새로운 샘플 생성.
  • 장점: 라벨과 문맥 의미가 반영되고, 특정 태스크에 특화된 데이터 증강 가능.
  • 단점: 단어 레벨의 교체가 주를 이루며, 데이터 일관성을 훼손할 가능성 존재.

Self-training

  • 개념: 초기 모델을 활용해 unlabeled 데이터로부터 추가 학습 데이터를 확보하는 기법.
  • 장점: 라벨 편향 문제 해결에 도움, 많은 양의 unlabeled 데이터 활용 가능.
  • 단점: 모델의 초기 예측이 불안정할 경우 성능 저하 위험, 데이터 품질에 따른 성능 차이 존재.
    • 예시:
      1. 소량의 라벨링된 데이터로 초기 모델 학습
      2. 대량의 unlabeled 데이터에 대해 예측 수행
      3. 높은 신뢰도의 예측 결과를 학습 데이터에 추가
      4. 확장된 데이터셋으로 모델 재학습

Mix-up

  • 개념: 두 샘플을 가중 합산하여 새로운 샘플을 생성해 오버피팅 방지.
  • 장점: 새로운 데이터 샘플 생성으로 강건성 향상, 분류 태스크에 유리.
  • 단점: 해석성 부족, 다양한 태스크에 적용 어려움.
    • 예시 (이미지 분류):
      1. 두 이미지 A(고양이, 라벨 0)와 B(개, 라벨 1) 선택
      2. 혼합 비율 λ = 0.7 설정
      3. 새 이미지 = A 0.7 + B 0.3
      4. 새 라벨 = 0 0.7 + 1 0.3 = 0.3

5. 고급 데이터 증강 기법

Conditional BERT (C-BERT)

  • 개념: 라벨 정보에 따라 다양한 문장을 생성하는 BERT 기반 증강 기법.
  • 장점: 기존 Masked Language Model(MLM) 증강에서 발생했던 라벨 일관성 문제 해결, 문장 다양성 증가.
  • 특징: Label embedding을 통해 입력 데이터의 라벨을 고려하여 증강 수행.
    • 예시
      • 입력: "[CLS] This movie is [MASK]. [SEP]" + 긍정 라벨
      • 출력: "This movie is fantastic."

Language Model Self-Improved (LMSI)

  • 개념: LLM 자체 개선을 위한 self-training 방식으로, 모델이 자체 생성한 데이터로 재학습하여 성능을 높임.
  • 과정:
    1. 다양한 프롬프트 입력해 다수의 답변 생성
    2. 다수결로 일관된 답변과 추론 경로 선택
    3. 자체 생성 데이터로 모델 재학습
  • 장점: 모델 성능 자체 개선, 스스로에 대한 확신도 상승
    • 예시 프롬프트
      • "Solve this math problem step by step: 2x + 5 = 15"
      • "What is the value of x in the equation 2x + 5 = 15? Show your work."
      • 다양한 형식의 질문을 통한 답변 및 추론 경로 확보.
profile
헤매는 만큼 자기 땅이다.

0개의 댓글