본문 바로가기
  • 머킹이의 머신로그
AI

[용어정리]텍스트 딥러닝 용어 Attention, LSTM

by 머킹 2024. 1. 22.
728x90

[딥러닝 용어 정리] 텍스트 처리 용어

 

LSTM(Long short term memory)

- RNN의 발전 형태로 장기 기억을 담당하는 셀 상태와 은닉 상태를 갖는 신경망입니다.

시계열 길이가 길어질수록 RNN을 적용하기 어렵기 때문에 RNN의 단점을 극복한 모델이 LSTM입니다.

망각 게이트, 입력게이트, 출력 게이트를 이용해 이전 시점의 은닉 상태를 현시점에 반영하는 알고리즘

 

망각 게이트 : 셀 상태에 저장된 과거의 정보를 사용할 것인가에 대한 여부를 결정합니다.

입력 게이트 : 셀 상태에 현재 정보를 덮어쓸 것인가를 결정합니다.

출력 게이트 : 셀 상태와 현재 정보를 합쳐 현재의 은닉 상태를 결정합니다.

 

BOW

- 모든 단어를 겹치지 않도록 고유 번호로 나타낸 집합입니다.

 

 

희소 표현 / 밀집 표현

- 대부분의 숫자가 0인 숫자 표현을 희소 표현이라고 합니다.

- 대부분의 숫자가 0이 아닌 표현을 희소 표현이라고 합니다.

 

 

파이토치의 임베딩층

- 파이토치의 임베딩층을 이용하면 희소 표현을 밀집 표현으로 바꿀 수 있습니다.

 

 


Seq2Seq

입력과 출력의 길이가 다른 데이터에서 사용합니다.

LSTM을 인코더와 디코더로 구성해서 인코더는 번역하고자 하는 언어의 문장으로부터 정보를 추출하고

디코더는 반대로 번역된 문장을 만듭니다.

 

 

어텐션(Attention)

인코더의 마지막 은닉 상태뿐만 아니라 인코더의 모든 시점에서의 은닉 상태를 현재의 입력에 반영합니다.

디코더의 매 시점에서 인코더의 은닉 상태를 전부 사용합니다.

 

인코더의 은닉 상태와 디코더의 입력이 들어옵니다.

디코더의 출력 벡터를 어텐션 가중치라고 부릅니다.

어텐션 가중치와 인코더의 각 시점의 은닉 상태를 내적한다음, 

소프트맥스 함수를 거치면 디코더의 현 시점에 대한 인코더의 각 시점의 중요도를 구할 수 있습니다.

이 중요도를 하나의 벡터로 묶은 다음, 디코더의 은닉 상태와 합쳐 현시점의 디코더 출력을 구하는 과정을

어텐션 메커니즘이라고 합니다.

 

 

토큰

문자를 숫자로 나타내는 방법을 말합니다.

<SOS>와 <EOS>는 각각 문장의 시작과 끝을 나타내는 토큰입니다.

 

 

GRU

셀 상태를 없애고 은닉 상태만을 이용해 과거와 현재의 정보를 추출합니다.

 

리셋 게이트, 업데이트 게이트가 있습니다.

이전 시점의 은닉 상태와 곱할 때 이전의 정보를 제거할 수 있기 때문에 리셋 게이트라고 부릅니다.

업데이트 게이트의 값이 0에 가까울 수록 이전의 정보를 적게, 1에 가까울 수록 현재의 정보를 적게 반영합니다.

 

LSTM과 다르게 셀 사애가 존재하지 않기 때문에 출력이 현시점의 은닉 상태 하나뿐입니다.

 

 

티처 포싱(Teacher forcing)

Seq2Seq에서 현시점의 입력으로 모델의 예측값을 사용하는 것이 아니라 정답을 입력하는 학습 방법