728x90

RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit), Seq2Seq(Sequence-to-Sequence)

 

주요 언어 모델들의 개요를 알아보자.

 

  1. RNN (Recurrent Neural Network), 1986
       - RNN은 순환 신경망으로, 이전 단계의 출력을 현재 단계의 입력과 함께 고려하는 모델이다.
       - 주요 문제는 장기 의존성(Long-Term Dependencies)에 대한 처리가 어렵고, 그래디언트 소실(Vanishing Gradient) 문제가 발생할 수 있다는 것이다.

  2. LSTM(Long Short-Term Memory), 1997
       - LSTM은 RNN의 변형 모델로, 장기 의존성 문제와 그래디언트 소실 문제를 해결하기 위해 고안되었다.
       - LSTM은 '입력 → 상태 → 출력' 구조는 RNN과 동일하나, Cell state(셀 상태. 장기 메모리)와 게이트(gate) 메커니즘을 사용한다. 이는 정보를 장기적으로 유지하고 선택적으로 제어할 수 있게 한다.
       - 게이트는 Input gate, Forget gate, Updatae gate, Output gate가 있으며 각 게이트는 시그모이드 함수와 함께 작동하여 입력 데이터 중 어떤 정보를 유지하고 삭제하고, 출력할지 결정한다.
  3. GRU (Gated Recurrent Unit), 2014
       - GRU도 LSTM과 유사한 아키텍처를 가지며, 장기 의존성 문제와 그래디언트 소실 문제를 완화하는 데 중점을 둔다.
       - LSTM보다 더 간단한 구조를 가지며, 게이트가 더 적게 사용된다.

  4. Seq2Seq (Sequence-to-Sequence), 2014
       - 기존의 모델(RNN, LSTM, GRU)이 입출력 크기가 고정되어, 가변적인 길이의 입출력을 제대로 처리하지 못함에 따라 등장한 모델이다. 
       - Seq2Seq 모델은 추론 시 인코더에서 입력 시퀀스를 고정된 길이의 벡터로 인코딩하고, 그 벡터를 기반으로 디코더에서 출력 시퀀스를 생성하는 모델이다.
       - 학습 시 Teacher forcing으로 이전 셀에서 예측한 단어를 다음 셀에서 입력으로 넣어주는 대신, 실제 정답 단어를 다음 셀의 입력으로 넣는다. 

  5. Attention Mechanism, 2014
       -  Seq2Seq가 고정된 크기의 벡터에 모든 정보를 압축하다 보니, 정보 손실이 발생하였고 입력 시퀀스가 길어지면 출력 시퀀스의 정확도가 떨어지게 되었다. 이를 보완하기 위해 등장한 기법이 어텐션 메커니즘이다.
       - 디코더에서 출력 단어를 예측하는 매 시점마다 인코더의 전체 입력 문장을 다시 한 번 참고 하는 방식이다. 다만, 전체 입력 문장을 동일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측해야 할 단어와 연관이 있는 부분을 좀 더 집중(attention)해서 본다.
       - Q(Query), K(Key), V(Value)로 구성된 함수이며 주어진 쿼리에 대해 모든 키의 유사도를 각각 계산한다.  

  6. ELMo (Embeddings from Language Models), 2018
       - Word2Vec과 같은 워드 임베딩은 주변 문맥 정보를 활용하여 단어를 벡터로 표현하는데, 같은 모양의 단어여도 다른 의미를 가지는 것을 표현할 수 X.
                       e.g. 마음을 먹었다. / 샌드위치를 먹었다.
       - ELMo는 사전 훈련된 언어 모델에서 얻은 워드 임베딩으로, 일반화된 언어의 특성들을 모델의 파라미터 안에 함축한다.
       - ELMo는 biLM(bidirectional language model) 구조를 사용하여 N개의 토큰들로 이루어진 입력 문장을 양 방향의 언어 모델링을 통해 문맥을 반영하여 해당 입력 문장의 확률을 예측한다.

  7. Transformer, 2017
       - Transformer는 Seq2Seq 구조인 인코더-디코더를 따르면서도 어턴션 메커니즘만으로 구현된 모델이다.
       - 셀프 어텐션(Self-attention) 메커니즘을 사용하여 문장의 장기 의존성을 처리하며, 입출력에 대한 병렬화가 가능하여 효율성이 매우 높다.

  8. GPT (Generative Pre-trained Transformer), 2018
       - GPT는 Transformer 아키텍처를 기반으로 한 사전 훈련된 언어 생성 모델인데, 디코더만 사용한다.
       - Transformer의 디코더를 가지고 계속 next token prediction을 학습한다.
       - 셀트 어텐션을 사용하여 문맥을 파악하며 텍스트 생성, 기계 번역 및 자연어 이해 작업에서 많은 성과를 보인다.

  9. BERT (Bidirectional Encoder Representations from Transformers), 2018
       - BERT는 Transformer 아키텍처를 사용하며, 양방향 언어 모델링을 위한 사전 훈련 기술을 도입하였다.
       - 아키텍처는 multy-layer bidirectional Transformer encoder로, 양방향 Transformer encoder를 여러 층 쌓은 것이다.

728x90

+ Recent posts