딥러닝6 트랜스포머 시리즈 마지막편 트랜스포머의 구조 - 디코더 HTML 삽입 미리보기할 수 없는 소스 지난 포스팅에 이어서 트랜스포머의 디코더에 대해 알아보겠습니다 디코더의 구조를 보시면 인코더와 많이 닮아있습니다. 가장 큰 차이라면 멀티헤드 어텐션이 두 종류가 사용되었다는 것입니다 디코더 블럭에서는 셀프 어텐션으로 만들어진 마스크드 멀티헤드 어텐션(Masked Multi-head attention)과 인코더-디코더 어텐션으로 만들어진 멀티헤드 어텐션이 사용되었습니다. 오늘 포스팅의 두 주인공이 될 것입니다 디코더에서의 데이터의 흐름은 ⓵ 단어의 원래 임베딩 벡터 + 위치 임베딩 벡터가 합산되어 디코더 블럭에 입력되고 ⓶ 해당 입력이 Q, K, V로 변환되어 마스크드 멀티헤드 어텐션과 add&norm 층을 거친 후 ⓷ 쿼리 가중치가 곱해져 쿼리 벡터로서 인코더-디코.. 2024. 2. 6. 트랜스포머 시리즈 4편 트랜스포머의 구조 - 인코더 HTML 삽입 미리보기할 수 없는 소스 이번 포스팅과 다음 포스팅에서는 트랜스포머의 구조에 대해 알아보겠습니다 트랜스포머는 2017년 구글에서 발표한 논문 Attention Is All You Need에서 등장한 개념입니다 현재 자연어 처리 분야에서 사용되는 많은 모델들이 이 아키텍쳐에 기반을 두고 있으며 비전 분야에서도 트랜스포머에 기반한 ViT를 사용하기도 합니다 그러나 재미있는(?) 점은 논문의 저자들도 이게 왜 잘 되는지에 대한 설명을 하지 못한다는 겁니다 '이렇게 해보니 잘 되더라'라는 식의 내용이 많고 아직 제대로된 깔끔한 해석이 나오지 않은 상황입니다 (앞으로도 그럴 것 같습니다) 따라서 트랜스포머의 구조를 보시면서 '왜 이 레이어를 넣었지?', '왜 이렇게 했지?', '왜 이 연산을 한거지.. 2024. 2. 5. 트랜스포머 시리즈 3편 Q, K, V HTML 삽입 미리보기할 수 없는 소스 이번 포스팅에서는 트랜스포머에서의 셀프 어텐션과 유명한 식 Attention(Q,K,V)=Softmax(QKT)V에 대해 알아보겠습니다. 알고 계셨다면 좋고 모르고 계셨더라도 괜찮습니다. 이 식이 어떤 의미를 가지고 있고 어떻게 계산되는지 설명하겠습니다 Query, Key, Value 식에 대해 설명하기에 앞서 트랜스포머에서 어텐션이 어떻게 사용되는지 알아야 합니다 앞서 두 편의 포스팅에서 seq2seq에서의 어텐션은 은닉 상태 벡터간의 내적 연산을 수행하고, 셀프 어텐션은 각 단어의 임베딩 벡터간의 내적 연산을 한다고 설명했습니다 트랜스포머는 임베딩 벡터나 은닉 상태 벡터를 사용하지 않고 쿼리(Query) 벡터, 키(Key) 벡터, 밸류(Val.. 2024. 2. 4. 트랜스포머 시리즈 2편 Self-Attention 셀프 어텐션 HTML 삽입 미리보기할 수 없는 소스 지난 포스팅에서는 seq2seq과 어텐션을 결합한 seq2seq with attention에 대해 알아보았습니다 오늘은 셀프 어텐션(self-attention)에 대해 알아보겠습니다 seq2seq with attention을 잘 이해했다면 어렵지 않습니다 seq2seq with attention에서는 어텐션 스코어를 계산할 때 인코더에서 넘어온 은닉 상태 벡터들과 디코더의 은닉 상태 벡터간의 내적을 한 뒤 소프트맥스를 취해주었습니다. 여기서 주목할 점은 인코더의 은닉 상태 벡터 h(encoder,i)와 디코더의 은닉 상태 벡터 h(decoder,j)간의 연산이었다는 것입니다. 즉, 현재 출력하려는 결과와 유사도가 가장 높은 input 정보를 많.. 2024. 2. 2. 트랜스포머 시리즈 1편 Attention 어텐션 HTML 삽입 미리보기할 수 없는 소스 본격적으로 트랜스포머에 대해 배우기 전에 어텐션과 어텐션의 탄생에 대해 알아보겠습니다 Seq2Seq의 한계 어텐션은 seq2seq 모델의 단점을 극복하기 위해 등장한 방법입니다. seq2seq이 가지는 단점은 다음과 같습니다: seq2seq의 인코더는 입력된 시퀀스 데이터에 대해 하나의 은닉 상태 벡터(hidden state vector) 만을 디코더로 전달합니다 그래서 시퀀스의 앞부분에 있는 데이터에 대한 정보 유실됩니다 시퀀스 데이터의 길이가 길어질수록 이 문제는 더 심각해집니다 어텐션 seq2seq의 한계가 인코더에서 하나의 은닉 상태 벡터만이 디코더로 전달되는 것이 문제라면 인코더의 모든 은닉 상태 벡터를 전달해준다면 어떨까요? 그래서 seq2seq with.. 2024. 2. 1. 자동 회귀 모델 | Autoregressive model HTML 삽입 미리보기할 수 없는 소스 이 글은 제 스스로의 공부를 위해 작성된 글이므로 일부 틀린 내용이 있을 수 있으며 논리적 비약과 생략이 다량 포함되어있습니다! Autoregressive model 혹은 AR model은 과거의 데이터를 이용해서 미래를 예측하는데에 유용한 모델입니다. 예를 들어, NLP 분야라면 이어지는 단어나 문장을 예측하는데에 사용될 수 있습니다. 요즘 세계적으로 유명하고 많은 사람들이 유용하게 사용하는 GPT가 이에 해당합니다. Autoregressive model은 AR(p)로 표현되고 (p는 order of model이라고 해서 얼마나 먼 과거까지 모델에 포함시키는지 설정하는 값) 아래와 같은 수식으로 표현됩니다 $$y_{t} = c + \phi_{1}y_{t-1} + .. 2023. 11. 23. 이전 1 다음