▷ 오늘 학습 계획: GPT 강의(1~3)
Tabular Dataset
각각의 데이터 샘플들이 구성하고 있는 features는 독립적이다.
이미지
이미지 안의 의미있는 정보는 위치와 관련이 없다.
convolution 연산은 위치에 무관한 지역적인 정보를 추출하기에 좋다.
자연어 데이터
문장을 구성하고 있는 단어들의 위치가 변하면 안된다.
단어들 간의 관계가 중요하고 하나의 단어만 바뀌어도 전혀 다른 의미를 가질 수 있다.
GPT를 구성하고 있는 모델은 Transformer에서 가져온 것이다.
Bert, GPT의 경우 자연어 데이터에 특화된 프레임워크
문장이 가지고 있는 문맥을 알고리즘이 이해할 수 있게 하는 것이 어렵다.
Character based: 문장의 시계열 길이가 늘어나고 각각의 문자는 의미를 가지고 있지 않다.
Word based: 경우의 수가 너무 많고 사전에 없는 단어가 생길 수 있다.
토큰처리 과정의 중요성
Hugging face와 같은 대중적인 공유 라이브러리가 존재하기 전까지 토큰화가 임의로 진행되었고 모델을 다운받아 실행시키면 결과가 달라졌다.
Language Model: 하나의 문장을 여러개로 나누고, 나눈 토큰들의 결합분포로 문장에 대해 확률을 계산
문장의 문맥을 하나의 벡터로 표현하기 위해 인코딩
Encoder를 학습하면 다양한 Task에 적용 가능
RNNs(Recurrent neural networks)
a directed network along sequential data
자연어 데이터의 순차적인 특성을 고려했고
문장마다의 중요도를 계산해서 attention 모듈을 생객해냈다.
입력 방법: Positional Encoding
Transformer에서는 기존의 RNN에서 가능했던 순서처리가 되지 않았다.
핵심 모듈: (Masked) Multi head attention
self-attention 메커니즘을 이용한 자연어 처리 향상 모듈
성능 향상
기계번역 task에서 기존 연구들보다 성능 우수
병렬적인 처리가 가능한 모델 → time complexity 감소
이후 Bert, GPT 모델에서 일반화에 강점이 있다는 것이 확인됨
기존 RNN 기반의 방법에서는 context 벡터 추출을 위해 문장의 단어들을 순차적으로 처리해야만 했다.
디코더를 위해서도 순차적으로 처리되었고, 이러한 순차적인 방법은 문장의 순서를 고려해야 했다.
Transformer의 입력 Q의 경우 행렬 연산을 통해 입력 벡터로 변환되어 Multi-head attention 모듈에 들어갔다.
연속함수이며 주기함수인 sin, cos 사용(Sinusoidal Encoding)
Transformer의 input embedding은 RNN과 다르게 위치 정보를 얻을 수 없다. → Positional Encoding 사용
단어에 대한 벡터(Q)는 주어진 단어들에 대해서 유사한 정도만큼(K) 고려하고, 각 주어진 단어들은 (V)만큼의 중요도를 가진다.
Visual Transformer
DETR
▷ 내일 학습 계획: GPT 강의(4~7)