생성 모델
- 딥러닝 모델은 지도 학습뿐만 아니라 비지도 학습 작업에 관해서도 매우 효과적임
- ex) 심층 생성 모델
- 수많은 레이블이 없는 데이터로 훈련됨
- 이후 훈련 데이터와 유사한 의미 있는 데이터를 생성할 수 있음
- 입력 데이터의 기본 구조와 패턴을 학습하기 때문
파이토치로 트랜스포머 기반 텍스트 생성기 만들기
- 언어 모델은 단어 시퀀스가 주어졌을 때 특정 단어가 그 뒤에 나올 확률을 모델링 함
⇒ 언어 모델을 단어 시퀀스 형태로 초기 텍스트 큐가 주어지면 의미 있는 문장을 임의로 생성하는 심층 생성 모델로 확장
언어 모델로 텍스트 생성하기
- 생성하려는 목표 단어 개수를 정의하고 초기 단어 시퀀스를 모델에 큐로 제공
- 단어 생성
텍스트 생성기로 사전 훈련된 GPT-2 사용하기
GPT-2로 바로 사용할 수 있는 텍스트 생성기 구현하기
파이토치를 사용한 텍스트 생성 전략
- 텍스트 생성 모델을 사용해 텍스트 생성 시에는 일반적으로 단어 단위로 예측을 수행
- 이후 결과로 얻은 예측 단어 시퀀스를 통합해 텍스트를 예측
- 단어 예측을 반복할 때 이전 k개 예측이 주어지면 다음 단어를 찾거나 예측하는 방법을 지정해야 함 ⇒ 텍스트 생성 전략
1. 탐욕적 탐색(greedy search)
-
앞에 얼마나 많은 시간 단계가 있던 상관 없이 모델의 현재 이터레이션에서 최대 확률을 갖는 단어를 선택하는 탐색 방법
- 모델이 낮은 확률을 가지는 단어를 택할 일이 없기에 모델이 확률이 낮은 단어 뒤에 숨어 있을 가능성이 높은 단어를 놓치는 경우가 생길 수 있음
-
각 시간 단계에서 텍스트 생성 모델은 확률과 함께 나올 수 있는 단어를 출력함

- 각 단계에서 탐욕적 탐색 전략에 따라 확률이 가장 높은 단어를 선택함
-
무작위성이 부족 → 반복적인 결과를 도출, 단조로움
2. 빔 서치