본문 바로가기
theory 📓/딥러닝

Self Attention / Transformer / Decoding

by 고돌한 데이터 사이언스 2024. 11. 8.
반응형

Self Attention

각 입력 벡터 x1, x2 자기 자신 및 다른 벡터와 상호작용하여 최종 출력 생성

query -> 벡터 비교 기준이 되는 벡터

key -> 다른 모든 벡터와 비교되어 각 출력 yj에 대한 주의 가중치 wij를 계산

value -> 각 가중치와 value에 곱해져 합산되어 최종 출력 생산

 

- 각 입력 벡터는 Query, Key, Value로 변환되고, Query Key의 비교를 통해 주의 가중치가 계산됩니다.

- 계산된 가중치는 Value에 곱해져 합산되며, 이를 통해 최종 출력이 만들어집니다.

- Self-Attention은 이렇게 각 입력이 서로의 정보를 활용할 수 있게 하여, 단어 간의 연관성을 반영한 벡터를 만들어냅니다.

Self-Attention에서 자기 자신에 대한 관계를 반영하는 이유는 입력 벡터(: 단어 벡터) 자체의 정보도 여전히 중요하기 때문입니다. 문장에서 어떤 단어가 다른 단어들과 관계를 맺어 문맥을 이해하는 것도 중요하지만, 단어 자체의 의미 역시 유지되어야 문장의 전체 의미를 정확히 전달할 수 있습니다.

 

"Input sequence has an order. But self-attention doesn’t have an inherent notion of order."

  • Self-Attention입력 시퀀스의 순서를 고려하지 않기 때문에 위치 정보를 추가해줘야 합니다. 이를 해결하기 위해서는 **"Add position representations to the inputs"**를 선택하여 입력에 위치 정보를 더합니다.

"No nonlinearities for deep learning! Still self-attention is weighted averages."

  • Self-Attention에서 단순한 가중합만으로는 비선형성이 부족하여, 딥러닝에서 학습이 충분히 이루어지지 않을 수 있습니다. 이를 해결하기 위해 각 Self-Attention 출력에 동일한 **"Apply the same feedforward network to each self-attention output."**을 적용해 비선형성을 추가합니다.

"Need to ensure that we don’t ‘look at the future’ when predicting a sequence."

  • 시퀀스 예측에서 미래의 정보를 사용하지 않도록 해야 합니다. 이를 해결하기 위해 **"Mask out the future by artificially setting attention weights to 0."**을 선택하여 미래의 정보를 마스킹합니다.

Transformer

Transformer 아키텍처의 주요 단점을 묻는 것입니다. 각 선택지를 살펴보며 적절한 답을 찾아보겠습니다.

"Maximum interaction distance is O(1), since all words interact at every layer."

  • 이 문장은 Transformer의 장점에 해당합니다. Transformer Self-Attention을 사용해 모든 단어가 각 층에서 서로 직접 상호작용할 수 있기 때문에, 특정 단어 간의 최대 거리도 O(1)로 고정됩니다. 단점이 아닌 장점이므로 답이 아닙니다.

"Stacking word window layers allows interaction between farther words."

  • 이 문장은 CNN(합성곱 신경망)의 문맥과 유사한 내용입니다. Transformer는 단어 간의 거리와 관계없이 모든 단어가 상호작용할 수 있으므로, "단어 윈도우 레이어"가 필요하지 않습니다. 이 문장도 Transformer의 단점을 나타내지 않으므로 답이 아닙니다.

"Self-attention over recurrence cannot be parallelizable."

  • Self-Attention은 사실 병렬화가 가능합니다. 이는 Transformer의 장점 중 하나로, RNN과 달리 시퀀스를 순차적으로 처리할 필요가 없으므로 병렬 처리할 수 있습니다. 따라서 이 문장도 답이 아닙니다.

"Computing all pairs of interactions means our computation grows quadratically with the sequence length."

  • 이 선택지는 Transformer의 실제 단점 중 하나입니다. Self-Attention은 모든 단어 쌍 사이의 상호작용을 계산해야 하므로, 시퀀스 길이가 nnn일 때 계산 복잡도가 O(n2)O(n^2)O(n2)로 증가합니다. 시퀀스가 길어질수록 계산량이 급격히 증가해 효율이 떨어지므로, 이 선택지가 맞는 답입니다.

If sequences are too long, you’ll just ignore long-distance context."

  • 이 문장은 Transformer의 단점이 아닙니다. Transformer Self-Attention 메커니즘을 사용하여 먼 거리의 단어들 간의 상호작용도 자연스럽게 반영할 수 있습니다. 따라서 이 문장도 답이 아닙니다.

BERT / GPT

BERT에서는 입력 문장의 시작에 [CLS] 토큰을 추가하고, 문장 전체에 대한 정보를 이 [CLS] 토큰의 히든 상태에 집약하여 표현합니다. 이를 통해 [CLS] 토큰의 히든 상태가 문장 분류 등의 작업에서 문장 전체의 표현으로 사용됩니다.

 

Teacher Forcing은 모델 훈련 중 **이전 시간 단계의 실제 정답(또는 참조 답변)**을 다음 입력으로 제공하는 방식입니다. 이 방식은 학습 속도를 높이고 빠르게 수렴하게 하지만, **생성 단계(generation time)**에서는 실제로 참조 답변을 사용할 수 없기 때문에 모델이 혼란을 겪을 수 있습니다. 이로 인해 모델이 생성 단계에서 오류를 내거나 오류가 누적되는 문제가 발생할 수 있습니다.

이 문제를 exposure bias라고 합니다. exposure bias는 학습할 때와 실제 생성할 때의 입력 차이로 인해 발생하는 문제입니다.

 

"GPT uses a bidirectional Transformer (Transformer encoder)."

  • 오답입니다. GPT는 단방향(left-to-right) Transformer 구조를 사용하며, Transformer 디코더 아키텍처에 기반합니다. 따라서 GPT는 단방향으로 문맥을 이해합니다.

"BERT is better than GPT in generating future words, given a part of a sentence."

  • 오답입니다. BERT는 텍스트 생성이 아닌 문장의 의미를 이해하는 데 초점을 맞춘 양방향 모델입니다. 미래의 단어를 예측하는 데는 주로 GPT와 같은 단방향 모델이 유리합니다.

"BERT representations are jointly conditioned on both left and right context in all layers."

  • 정답입니다. BERT는 양방향 Transformer 인코더를 사용하여 문장 내 모든 위치에서 좌우 문맥을 모두 참고합니다. 이는 BERT의 주요 특징 중 하나입니다.

"Both BERT and GPT are pre-training model architectures."

  • 정답입니다. BERT GPT 모두 **사전 학습(pre-training)**을 통해 언어 모델을 학습한 후, 특정 작업에 맞게 **미세 조정(fine-tuning)**하는 방식으로 사용됩니다.

"BERT uses a left-to-right Transformer (Transformer decoder)."

  • 오답입니다. BERT양방향 Transformer 인코더를 사용하며, 좌우 문맥을 동시에 고려합니다. Transformer 디코더처럼 left-to-right 방식이 아닙니다.

 Masked language model:

  • 정답입니다. BERT는 입력 문장에서 일부 단어를 마스킹(mask)하고, 마스킹된 단어들을 예측하는 Masked Language Model (MLM) 방식을 사용합니다. 이를 통해 문장 내의 단어를 추론하는 능력을 학습합니다.

Sentence order prediction:

  • 오답입니다. BERT는 문장의 순서를 맞추는 학습을 하지 않습니다. 대신, 두 문장이 주어졌을 때 하나가 다른 하나의 다음 문장인지 예측하는 **Next Sentence Prediction (NSP)**을 사용합니다.

Language modeling:

  • 오답입니다. "Language modeling"은 일반적인 언어 모델링을 의미하는 표현이지만, BERT가 사용하는 특정 학습 과제인 Masked Language Model과는 구별됩니다. BERT다음 단어 예측이 아닌 마스킹된 단어를 예측하는 방식을 사용합니다.

Negative log likelihood to maximize the probability of the next token:

  • 오답입니다. 이 방식은 일반적인 순차적 언어 모델(GPT와 같은)에서 사용되는 방식으로, 다음 단어를 예측하는 데 사용됩니다. BERT는 이와 달리 문장 내의 마스킹된 단어를 예측하는 Masked Language Model을 사용합니다.

Next sentence prediction:

  • 정답입니다. BERTNext Sentence Prediction (NSP) 과제를 통해 두 문장이 주어졌을 때, 두 번째 문장이 첫 번째 문장 다음에 나오는 문장인지 여부를 예측합니다. 이 과제는 문장 간 관계를 학습하도록 돕습니다.

Decoding

차이점 요약

  • 그리디 디코딩: 매 단계에서 가장 높은 확률의 단어를 한 개만 선택하며, 한 번 선택한 단어를 수정하지 않습니다. 계산은 빠르지만, 전체 시퀀스의 최적화를 보장하지는 않습니다.
  • 빔 서치: 여러 후보를 동시에 추적하며, 상위 k개의 가능성 높은 시퀀스를 유지하면서 다음 단계로 진행합니다. 더 나은 결과를 얻을 가능성이 높지만, 계산 비용이 그리디 디코딩보다 큽니다.

"Once we reach a stopping criterion, we choose the sequence with the highest probability in beam search decoding."

  • 정답입니다. Beam search에서는 종료 기준에 도달했을 때 현재 추적 중인 후보들 중 가장 높은 확률을 가진 시퀀스를 선택합니다.

"We could try computing all possible sequences in argmax decoding or greedy decoding."

  • 오답입니다. Argmax decoding(또는 greedy decoding)은 한 번에 가장 높은 확률의 단어를 선택하는 방식으로, 모든 가능한 시퀀스를 계산하는 것이 아닙니다. 모든 가능한 시퀀스를 계산하려면 완전 탐색이 필요합니다.

"At each step of decoder, we keep track of the k most probable partial translations (called hypotheses) in beam search decoding."

  • 정답입니다. Beam search에서는 각 단계에서 상위 k개의 가장 가능성 높은 시퀀스를 유지하며, 이를 hypotheses라고 합니다. 이러한 방식을 통해 여러 후보 시퀀스를 추적합니다.

"Every decoding algorithm generates (or 'decodes') the target sentence by taking argmax on each step of the decoder."

  • 오답입니다. Greedy decoding은 각 단계에서 argmax를 취하지만, 다른 디코딩 방법들(: beam search)은 여러 후보를 동시에 고려하며 선택할 수 있으므로, 항상 argmax를 사용하는 것은 아닙니다.

"Every decoding algorithm finds a high-probability sequence (not necessarily the optimal sequence) by tracking multiple possible sequences at once."

  • 오답입니다. 모든 디코딩 알고리즘이 여러 시퀀스를 동시에 추적하지는 않습니다. 예를 들어, Greedy decoding은 하나의 시퀀스만 추적합니다. 여러 시퀀스를 동시에 추적하는 것은 주로 Beam search와 같은 알고리즘의 특징입니다.

Evaluation

주어진 설명에서, 번역된 텍스트의 품질을 평가하기 위해 n-gram precision과 문장이 너무 짧은 경우의 패널티를 고려한다는 언급이 있습니다. 이러한 지표는 번역 품질을 평가하는 데 자주 사용되는 BLEU 점수에 해당합니다.

 

BLEU 점수의 값이 1인 경우, 이는 기계 번역 결과가 참조 번역과 완벽하게 일치한다는 의미입니다. 따라서, 두 번째 빈칸에는 1이 들어갑니다.

 

정답

  • 첫 번째 빈칸: BLEU
  • 두 번째 빈칸: 1

최종 답안

BLEU 점수는 0에서 1 사이의 값으로, n-gram precision과 짧은 번역에 대한 패널티를 기반으로 번역된 텍스트와 고품질 참조 번역 간의 유사도를 측정합니다. BLEU 점수가 1인 경우, 참조 번역과 완벽하게 일치하는 고품질 번역임을 나타냅니다.

 

이 문제는 생성된 텍스트의 품질을 평가하는 방법

"Content overlap metrics provide a good starting point for evaluating the quality of generated text."

  • 정답입니다. Content overlap metrics(: BLEU, ROUGE )는 생성된 텍스트와 참조 텍스트 간의 중복 정도를 측정하여 텍스트 품질 평가의 기본적인 기준을 제공합니다. 따라서 생성된 텍스트의 초기 품질 평가에 좋은 출발점이 될 수 있습니다.

"Behavior of model-based metrics is interpretable."

  • 오답입니다. 모델 기반 메트릭의 동작은 항상 해석 가능하지는 않습니다. 많은 경우 모델 기반 메트릭은 특정한 결과를 내는 이유가 명확하지 않거나, 단순한 해석이 어려울 수 있습니다.

"Human judgement takes financial cost, but worths it since humans are consistent."

  • 오답입니다. 인간 평가가 비용이 많이 들고 중요하다는 점은 맞지만, 인간 평가가 항상 **일관적(consistency)**인 것은 아닙니다. 평가자마다 주관적인 편차가 있을 수 있습니다.

"Content overlap metrics can be more correlated with human judgment than model-based metrics."

  • 정답입니다. 일반적으로 content overlap metrics는 인간의 평가와 어느 정도 일관된 경향을 보일 수 있습니다. 하지만 일부 경우에는 문맥이나 창의성 등에서 한계가 있을 수 있어 인간 평가와 완전히 일치하지는 않더라도, 모델 기반 메트릭보다는 인간 평가와 더 관련이 있습니다.

"Human judgments are critical, being only thing that can directly evaluate factuality of generated sentences."

정답입니다. 인간의 판단은 생성된 텍스트가 사실에 부합하는지 직접적으로 평가할 수 있는 중요한 기준입니다. 모델은 문맥이나 사실성을 완벽히 이해하지 못하는 경우가 많기 때문에, 사실성(factuality) 평가에는 인간의 판단이 필수적입니다.

 

 

반응형

'theory 📓 > 딥러닝' 카테고리의 다른 글

추천시스템 / 커리큘럼 러닝  (1) 2024.11.08
Graph Node / GNN / GCN  (0) 2024.11.08
CNN Applications  (0) 2024.11.06
CNN  (0) 2024.11.06
Unsupervised learning  (0) 2024.11.06

댓글