머신러닝/자연어처리

트랜스포머 모델 쉽게 설명, transformer, 인코더, 디코더, 어텐션, hidden state, context, 분류헤드, embedding, 임베딩

Olivia-BlackCherry 2024. 8. 25. 23:28

목차

    오늘은 트랜스포머 모델 쉽게 설명 시간을 갖도록 한다. 자연어처리 분야에서 트랜스포머 모델은 아주 자주 쓰이며, 자주 쓰일 수 밖에 없다. 데이터를 모으는 것도, 빅데이터를 처리하는 것도 개인으로서는 아주 힘든 일이기 때문에 전이학습의 일종인 트랜스포머 모델을 쓸 수밖에 없다. 트랜스포머 모델 쉽게 설명하여 어떤 과정으로 언어를 이해하고, 생성해내고 판별하는지 확인해보자. 

     

    1. 트랜스포머 모델 아키텍처

    트랜스포머 transformer를 언어를 이해하고 변환하는 로봇이라고 생각하자. 이 로봇은 두 가지 중요한 도구를 가지고 있다. 인코더와 디코더. 이 두 가지를 이용해 문장을 읽고, 이해하며, 새로운 문장으로 변환한다.

     

    1) encoder

    - 로봇의 귀와 같은 역할이다. 우리가 평상시 쓰는 언어, 즉 자연어는 로봇의 귀를 통해 입력했을 때 인코더를 통해 숫자로 변환해서 기억하게 된다. 로봇의 뇌가 이해할 수 있도록 말이다. 

    - 입력 토큰의 시퀀스를 hidden state 또는 context라 부르는 임베딩 벡터의 시퀀스로 변환

     

    2) decoder

    - 로봇의 입과 같은 역할이다. 인코더가 이해한 내용으로 새로운 문장을 변환한다. 

    - 예를 들어 인코더가 로봇이 입력된 한국어 문장을 이해하도록 만들어주고나면, 디코더가 영어로 번역해 주는거다.

    - 인코더의 hidden state를 사용해 출력 토큰의 시퀀스를 한 번에 하나씩 반복적으로 생성

     

    3) attention

    ★  attention : 중요한 단어에 집중하여 문장 안에서 단어들의 관계를 파악하는 기능

    - 기억을 잘 돕는 기능

    - 트랜스포머는 로봇이 어떤 단어가 중요한지 집중하여 기억하도록 도와준다.

    - 예를 들어 새가 나무에 올라가 있어요 라는 문장에서 새, 나무는 서로 중요한 관계에 있다는 것을 attention을 통해 찾아내고, 각 단어들이 서로 어떤 영향을 미치는지 계산하여 문장 전체의 의미를 더 정확하게 이해할 수 있음

     

    4) embedding

    ★ embedding : 단어를 숫자로 변환하는 과정

    - 해당 숫자는 단순한 숫자가 아니라, 그 단어의 의미와 위치를 잘 담고 있어서 다른 단어들과의 관계도 표현할 수 있음

    - Token embedding : 단어를 숫자로 바꾸는 것 ( 숫자는 단어의 의미를 담고 있음)

    - Position Embedding : 단어의 순서를 기억하는 법( 단어가 몇 번째에 있는지)

     

    5) hidden state

    ★ hidden state: 단어 정보를 임시로 저장하고 문장 처리하는 동안 계속 업데이트됨

     - 문장을 처리할 때 그때그때 단어들에 대한 정보를 임시로 저장할 공간이 필요함. 이러한 임시 장소를 hidden state라고 함.

    - 인코더와 디코더는 문장을 처리하는 동안 각 단어에 대해 계속해서 업데이트되는 정보를 hidden state에 담아둠. 

    - hidden state가 단어들이 어떻게 연결되고 어떤 의미를 가지는지 계속해서 추적함

     

    6) context

     ★ context : 각 단어가 문장 속에서 어떤 의미를 가지는지 알아냄

    - 각 단어가 context에서 어떤 의미를 가지는지 잘 이해함

    - 각 단어가 다른 단어들과 어떤 관계를 가지는지 파악하여 문장의 전체적인 문맥을 이해할 수 있음

     

    7) 분류헤드

     ★  classification head : 최종 답을 내놓는 부분

    - 트랜스포머가 얻은 정보를 바탕으로 최종 답을 결정하는 역할

     

     

     

    2. 트랜스포머 모델 대표적인 유형

    1) 인코더 유형

    -  텍스트 시퀀스 입력을 풍부한 수치 표현으로 변환함

    - BERT , DistilBERT, RoBERTa, XLM, XLM-RoBERTa, ALBERT, ELECTRA, DeBERTa

     

    2) 디코더 유형

    - OpenAI의 등장으로 디코더 모델 발전

    - 다음 단어를 예측하는데 뛰어나기에 대부분 텍스트생성 작업에 사용

    - GPT, GPT-2, CTRL, GPT-3, GPT-Neo / GPT-J-6B

     

    3) 인코더-디코더 유형

    - T5, BART, M2M-100, BigBird

     

     

    트랜스포머 모델 쉽게 설명, transformer, 인코더, 디코더, 어텐션, hidden state, context, 분류헤드, embedding, 임베딩