Skip to main content
QUICK REVIEW

[논문 리뷰] Generating Sequences by Learning to Self-Correct

Sean Welleck, Ximing Lu|arXiv (Cornell University)|2022. 10. 31.
Software Engineering Research인용 수 28
한 줄 요약

Self-Correction은 시퀀스 생성를 기본 생성기와 출력을 반복적으로 개선하는 별도의 교정기로 분해하여, 기본 모델을 업데이트하지 않고도 여러 작업에서 개선을 달성합니다. 교정기는 기본 생성기보다 작을 수 있고 명시적 피드백을 활용할 수 있습니다.

ABSTRACT

Sequence generation applications require satisfying semantic constraints, such as ensuring that programs are correct, using certain keywords, or avoiding undesirable content. Language models, whether fine-tuned or prompted with few-shot demonstrations, frequently violate these constraints, and lack a mechanism to iteratively revise their outputs. Moreover, some powerful language models are of extreme scale or inaccessible, making it inefficient, if not infeasible, to update their parameters for task-specific adaptation. We present Self-Correction, an approach that decouples an imperfect base generator (an off-the-shelf language model or supervised sequence-to-sequence model) from a separate corrector that learns to iteratively correct imperfect generations. To train the corrector, we propose an online training procedure that can use either scalar or natural language feedback on intermediate imperfect generations. We show that Self-Correction improves upon the base generator in three diverse generation tasks - mathematical program synthesis, lexically-constrained generation, and toxicity control - even when the corrector is much smaller than the base generator.

연구 동기 및 목표

  • 의미적 제약을 만족시키기 위해 시퀀스 생성에서 반복적 정제가 필요하다는 점을 동기 부여한다.
  • 두 모듈 프레임워크: 기본 생성기와 반복적으로 적용될 수 있는 별도의 교정기를 제안한다.
  • 스칼라 값 또는 자연어 피드백을 사용하는 교정기의 온라인 학습 절차를 개발한다.
  • 교정기의 교차 작업 효과성과 다른 생성기 및 설정으로의 이전 가능성을 입증한다.

제안 방법

  • p(y|x)를 p0(y0|x) × pθ(y|y0,x)로 분해하여 다중 보정 단계가 있는 self-corrector를 형성한다.
  • 생성기 출력과 보정의 풀에서 가치 향상 쌍(value-improving pairs)을 구축하는 self-corrective 학습을 통해 교정기를 학습시킨다.
  • 개선 방향을 안내하기 위해 스칼라 값 함수 v(·)를 사용하고, 선택적으로 피드백 f(·)가 교정을 안내한다.
  • 개선과 유사성의 균형을 맞추는 페어링 및 샘플링 전략으로 가치 향상 쌍(value-improving pairs)을 형성하고 샘플링한다.
  • 생성기로부터 y0를 디코드하여 최종 출력을 추론하고, 그다음 교정기로부터 y(t+1)를 반복적으로 디코드한다.

실험 결과

연구 질문

  • RQ1분리된 교정기가 온라인으로 학습되었을 때, 다양한 작업에서 기본 생성기의 품질을 향상시킬 수 있는가?
  • RQ2더 크거나 다른 생성기로 교체했을 때 교정 메커니즘이 전달 가능한가?
  • RQ3명시적 자연어 피드백이 교정 품질을 더 향상시키는가?
  • RQ4학습 역학(페어링, 근접성, 탐색)이 교정기의 효과에 미치는 영향은 무엇인가?

주요 결과

  • Self-Correction은 수학적 프로그램 합성, 어휘 제약 생성, 독성 제어에서 기본 생성기를 개선한다.
  • 교정기가 기본 생성기보다 작아도 상당한 이점을 달성할 수 있다.
  • 교정기는 더 큰 생성기로의 전이와 테스트 시 생성기가 교체되더라도 개선을 전달할 수 있다.
  • 명시적 자연어 피드백은 교정을 더 잘 안내하고 작업 간의 성능 향상을 가져온다.
  • 다수의 교정과 제안된 학습 역학이 더 강한 개선으로 이어지며, 탐색이 성능에 도움이 된다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.