본문 바로가기

728x90

boostcamp AI tech/boostcamp AI

(64)
Introduction to NLP task Sequence to Sequence 구조를 여러 목적에 맞게 활용할 수 있다. N21 - topic, 긍/부정 등의 classification N2N - 품사 태깅처럼 각 토큰별 판단 N2M - 대화, 번역, encoder-decoder가 동시에 활용된다. 1. N21 Classification의 모습이다. 문장의 긍/부정을 판단한다던지 혹은 이 문장(혹은 문단)이 어떤 주제의 글인지 topic classification을 수행할 수 있다. SEP 토큰을 활용하면 다수 문장간의 Semantic Textual Similarity(두 문장이 유사한가?)를 판단할 수 있다. 혹은 A->B 처럼 방향이 있는 관계를 예측하는 Text Entailment 를 수행할 수 있다. 예를 들면 A->B 의 논리 관계가 ..
Self-Supervised Pre-training Model (GPT-2, GPT-3, ALBERT, ELECTRA) 1. GPT-2 모델 구조는 GPT-1과 크게 다를게 없다. 마찬가지로 다음에 오는 단어를 예측하는 LM(language modeling)으로 학습을 진행했다. 대신 gpt-1보다 더 깊고 사용한 데이터도 더 커졌다. byte pair encoding을 사용했다. nlp task에 대해 생각해보면 어떤 문장이 주어졌을때, 어떤 주제에 속하는것 같은지? 긍,부정? 혹은 특정 단어의 품사? 등등 다양한 task를 떠올릴 수 있다. 어떤 task가 주어지던 똑같이 단어를 embedding vector로 변환하고 attention을 거치는 것은 똑같다. 그리고 잘 생각해보면 '이 영화 재밌다!' 뒤에 이 '이 문장이 긍정적인 것 같니?' 라고 덧붙이면 사실상 Question Answering 문제가 된다. '나..
Self-Supervised Pre-training Model (GPT-1, BERT) self-attention block으로 구성된 encoder-decoder모델은 nlp의 다양한 분야에서 놀라운 성능을 보여주었다. pre-training model로 gpt-1, bert를 알아본다. 더 깊게 attention block을 쌓았다는 점을 제외하면 구조적으로 차별화되는 큰 점은 없다. 다만 self supervised learning framework를 활용한 대규모 데이터로 학습되었다. general purpose로 동작하는 모델인 gpt-1, bert를 가지고 특정 task를 위해 이 pretraining model을 가지고 한번 더 fine-tuning하는 transfer learning이 대세가 되었다. 1. GPT-1 special token들을 제안함으로써 모델이 여러 목적의..
Transformer - Multi-Head attention 1. Multi-head attention self-attention을 유연하게 더 확장한 multihead attention에 대해 알아본다. 그림에서 보면 중첩된 블럭들이 보인다. self-attention에서는 한번 Q, K, V쌍이 만들어지고 attention 블럭을 한번 통과하는데 반해 self-attention에서는 여러개의 Q, K, V를 만들고 여러번 attention 블럭을 통과한다. 즉 Wq, Wk, Wv가 여러개 존재한다. 서로 다른 attention 블럭마다 서로 다른 encoding vector가 만들어지고 이를 모두 concat하여 하나의 결론도출에 사용한다. 이를 여러개의 head를 갖는다고 하여 multi head attention이라고 하고 각 head마다 (Wq, Wk, ..
Transformer - self attention Transformer The Illustrated Transformer Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Italian, Japanese, Korean, Persian, Rus jsdysw.tistory.com 지난번에 이어서 한번 더 공부내용을 다시 정리해보려한다. input 단어의 embedding vector는 Wq, Wk, Wv 변환을 각각 거처서 query, key, value 벡터로 변환된다. ..
BLEU, Precision-Recall 생성 문장의 성능을 평가할때 사용하는 metric을 알아보자. 단순히 cross entropy를 loss로 사용해버리면 다음과 같은 문제가 발생한다. I Love you를 예측했는데 ground truth가 Oh I Love you 라면 한개도 맞추지 못한게 되어버린다. 1. Precision and Recall reference : Half of my heart is in Havana ooh na na predicted : Half as my heart is in Obama ooh na (True라고 분류한 것 중에 실제 true인 비율) precision = true positive / true positive + false positive = correct / len of predicted = 7 ..
Beam search 이전까지 살펴본 seq2seq 모델은 매 time step 마다 output 중에서 가장 확률이 큰 값만을 골라서 번역 문장을 완성해나갔다. (greedy decoding) t시점에서 뒤늦게 잘 못 예측했다는 사실을 이후에 알아차리더라도 돌아갈 수 없다 seq2seq 모델이 입력문장 x 일 때, 출력문장 y를 만들어낼 확률은 P(y|x)이다. y가 정답일때 P(y|x)를 최대로 만들도록 학습시킨다. P(y|x)를 만드는 식을 살펴보면 (입력문장 x일때 y의 첫번째 단어 y1일 확률)*(입력문장 x 이고 첫번째 y1 일때 y2일 확률) .....이다. 그럼 전체 타임스텝 t에 대하여 P(y|x)를 만드는 모든 경우의 수를 고려하면 vocab size V의 t승 가지를 조합해봐야 한다. O(V^t) 이건 말..
Seq2Seq with attention *자세한 내용은 https://jsdysw.tistory.com/470 [Paper Review] NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE Neural Machine Translation by Jointly Learning to Align and Translate Neural machine translation is a recently proposed approach to machine translation. Unlike the traditional statistical machine translation, the neural machine translation aims at building jsdysw.tistory.c..

728x90