트랜스포머는 유명한 Encoder-Decoder 구조의 모델임 ㅇㅇ
헤헷
디코딩 전략은 '텍스트 생성 과정'에서 중요한 역할을 함
앞서 다른 포스팅에서 설명했지만! 짧게 다시 해당 내용을 설명하자면
입력 Sequence를 받고 이를 고차원 벡터 표현으로 변환
여러 개의 Encoder Layers로 구성
Transformer에서는 한 개의 Head인 구조도 있지만 일반적으로 Multi-Head Attention Mechanism과 순전파(Feed-Forward Neural Network)로 이뤄짐
모든 단어와 단어간의 관계를 학습!해서 context의 정보를 capture함
읽어내는 역할
Encoder에서 전달받은 벡터를 기반으로 출력 Sequence를 생성
여러 개의 Decoder Layers로 인코더와 겉보기에는 유사한 구조!
하지만 이전에 생성된 출력 단어를 입력으로 받아들이며 Masked Attention을 통해 뒤에 나올 단어를 보지 못하도록 설계됨
생성해내는 영역
-> 각 단계에서 이전에 생성된 단어를 참고해 다음 단어를 예측
그럼 본격적으로 들어가보자!
매 단계에서 제일 높은 확률을 가진 단어를 선택하여 텍스트 생성
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성
여러 후보를 동시에 고려하여 가장 가능성이 높은 후보들을 유지합니다. "beam width"라는 매개변수를 설정하여 동시에 고려할 후보의 수를 결정
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성
Beam Search와 샘플링 기법을 결합한 방법
매 단계에서 Top-k 후보를 유지하면서 비트리기적 탐색을 진행
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성
User Feedback 혹은 '특정 목표'에 기반하여 텍스트 생성을 최적화
보상 신호를 사용하여 모델이 더 나은 결과를 생성하도록 학습
보상 신호란?
Pros & Cons
Pros - 특정 목표에 맞춘 최적화가 가능
Cons - 구현이 복잡하고 학습 과정이 길어질 수 있음
Pros & Cons
Pros - Simple 그리고 Fast~
Cons - 항상 Optimal한지 보장불가. 적은 다양성