LSTM

데이터는 해당 모델에서 학습하고자 하는 패턴과 관련된 정보를 포함해야 합니다. 일반적으로(경험적으로) 데이터 특징의 수보다 적어도 10배 이상의 데이터가 필요합니다.

토큰화는 텍스트 데이터를 처리하기 위해 단어 단위로 분리하는 과정을 말하며, 이 과정을 통해 단어 사전을 구축할 수 있습니다.

길이 X 배치 형태는 데이터를 일정한 길이로 맞추고(batch) 각 데이터를 일정한 길이의 시퀀스(sequence)로 변환하는 과정입니다.

워드 임베딩(76X64X300)은 단어를 벡터로 변환하는 과정으로, 이를 통해 단어 사이의 유사성을 계산할 수 있습니다.

  • LSTM 모델에 입력하는 방법은 Batch X Sequence X Feature (Padding 방식)일수도 있고, Packing Method 를 사용하여 길이에 대한 정보를 따로 저장할 수도 있음. Padding 방법에 비해 불필요한 연산을 줄일 수 있어서 모델의 성능과 속도를 향상시킬수 있지만, 구현이 복잡하기 때문에 Padding 보다는 사용빈도가 적습니다.

LSTM(Long Short-Term Memory Units)은 RNN(Recurrent Neural Network)의 한 종류로, 기존 RNN의 문제를 극복하기 위해 개발된 모델입니다. LSTM은 3개의 게이트(gate)와 셀 상태(cell state) 개념을 도입하여 과거 정보를 보다 효과적으로 기억할 수 있습니다.

Attention은 딥러닝 모델에서 특정 부분에 집중하여 가중치를 부여하는 기술로, 모델이 입력 데이터에서 더 중요한 부분을 파악하도록 도와줍니다.

Loss는 모델의 예측 결과와 실제 결과간의 차이를 나타내는 지표이며, 모델이 학습할 때 이 값을 최소화하도록 합니다. Optimizer는 Loss 값을 최소화하기 위해 모델 파라미터를 조정하는 알고리즘입니다.

  • pack_padded_sequence (6780X300) : 길이가 다른 Sequence 를 처리하기 위해 Padding과 Packing이 있는데, Packing 방법은 sequence 길이에 대한 정보를 따로 저장하는 방식임. Padding 에 비해 불필요한 뒷부분을 계산하지 않아 효율적임.

  • LSTM :

  • pad_packed_sequence

  • attention

LSTM 의 파라미터 수

입력층 차원과 은닉층의 차원에 따라 계산됨.

Dense Layer 의 파라미터 수는 h*(i+o)+h+o 임.

https://www.kaggle.com/code/kmkarakaya/lstm-understanding-the-number-of-parameters

위 그림에서 총 파라미터가 48임.

4*((x+h)*h +h)

실무에서 X 의 차원은 300, 은닉층의 수는 256 일 경우, 파라미터 수는 약 57만개임.

  1. 워드 임베딩

  2. RNN vs LSTM 차이

RNN 단어와 단어 사이가 길어질수록, 과거 정보를 기억하지 못하는 vanishing gradient 문제가 있다.

LSTM(Long Short-Term Memory Units)은 기존 RNN 문제를 극복하기 위해 3개의 Gate 와 Cell State 개념을 가지고 있습니다.

  1. Gate

  • Forgat Gate

  • Input Gate

  • Output Gate

활성화함수

결론적으로, LSTM 과정을 거치면, Batch Size * Hidden Size 결과를 가져옴.

Attention

Loss

Optimizer

Last updated