본문 바로가기

728x90

boostcamp AI tech

(73)
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 벡터로 변환된다. ..
Boostcamp AI - week5 지난번에 이어서 NLP이론을 공부했다. 이번엔 Transformer에 대해 더 깊이 공부했다. 이전엔 attention에 집중했다면 이번에는 Transformer에 사용된 block들을 깊게 들여다보았다. positional encoding, layer norm, residual connection, learning rate scheduling, masked-self-attention, decoder를 살펴보았다. 작게 하나씩 쪼개 보고 여러 번 반복해서 공부하니 은근 별겨 아닌것 같다. 도 잠시... 논문 10개는 더 되는 많은 내용들을 듣고 정리하느라 머리가 또 터지는 한 주였다. GPT-1,2,3와 BERT에서 시작해서 ALBERT, ELECTRA까지, 적용된 기법들을 공부하는 중에 내가 놓치는 것..
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..
Long-Short Term Memory, GRU Cell state는 기억해야할 필요가 있는 모든 정보를 담고 있는 벡터라면 hidden state는 현재 time step에서 예측값 layer의 입력으로 사용 될 벡터라고 할 수 있다. cell state의 많은 정보 중에서 지금 당장 필요한 정보만을 filtering한 벡터라고 볼 수 있다. {c_t, h_t} = LSTM(x_t, c_t-1, h_t-1) hidden state 계산 과정을 살펴보자. Wxh, Whh를 붙여서 W라고 하고 [xh]와 계산하는 것과 같다. x(h,1), h(h,1), Wxh(h,h), Whh(h,h) 이라고 하자. xh의 concat은 (2h,1)이다. Wxh, Whh의 concat은 (h,2h) input gate, forget gate, output gate, g..
Word Embedding - Word2Vec, GloVe 단어를 vector로 나타낼 때, 서로 비슷한 cat, kitty는 벡터의 차원 공간에 두 점으로 나타낼 수 있다. 그리고 이 두 단어의 거리는 burger에 비해 서로 가까워야 할 것이다. When we define a word into a vector. we can understand a word as a point at the N-dimension space. Then we can calculate the distance between words. Let's say there are two words in the N-d space, 'cat' and 'kitty'. Distance between these two points should be closer than it from the word 'b..
Boostcamp AI - week4 본격적으로 NLP 공부가 시작됐다. word2vec, seq2seq, seq2seq+attention , RNN base LM 등 코드 하나하나 뜯어보며 실습을 수행하느라 머리가 터지는 줄 알았다. 한줄 한줄 완전히 이해하는 것에 집중했다. 다시 백지 위에 구현해보라고 하면 또 진땀을 흘릴 것 같다. 이번주는 과제 구현과 이해에 시간을 정말 많이 쏟았다. 조교님이 구현하신 코드를 보고 꽤나 허탈했다. 내가 작성한 5-10줄 코드가 1-3줄로 구현되어 있었다. 훨씬 깔끔하고 이해하기도 쉬웠다. 나는 언제 이 모든 걸 술술 구현할 수 있는 능력을 갖출 수 있을까? 감탄과 허탈함으로 한주를 마무리 한다. Master Session 뭘 잘 하지? 뭘 해야하지? 라는 고민에서 출발한 AI, 시각화, 인턴, 대학원..

728x90