LSTM | GNN | bi-LSTM |
이번에는 위 모델에 관해서 학습을 했습니다.
사람같은경우는 빈칸이나 다음 말 자체를 빠르게 예측할 수 있습니다.
기계같은경우는 한 문장이 있으면 한 토큰단위로 기계?모델에 쭉쭉 들어가게되겠죠?
그렇지만 지금 전에 배운 기본 RNN의 한계는 먼저 입력했었던 입력값들이 계산이 되면서 희미해지는 단점이 있습니다.
즉 타임스텝이 길어질수록! 중요한 정보가 앞쪽에있을경우에는 시퀀스 학습이어려워지게되겠죠?
일반적으로 기본 순환층은 '긴 시퀀스'를 학습하기 어렵고
시퀀스가 길어질수록 순환되는 은닉상태에 담긴 정보가 희석되기때문입니다.
따라서 멀리 떨어져있는 단어 정보를 인식하는데 어려울 수 있습니다.
그래서 등장한것이 LSTM, GRU셀 입니다.
위 두 모델은 SimpleRNN보다 훨씬 계싼이 복잡하지만 성능이 뛰어나서 순환신경망에서 많이 채택되고있습니다.
이 단점을 말로 하자면 장기 의존성 문제 라고하는데
예를들어 가장 중요한 정보가 시점의 앞 쪽에 위치할 수도 있습니다.
''모스크바에 여행을 왔는데 건물도 예쁘고 먹을 것도 맛있었어. 그런데 글쎄 직장 상사한테 전화가 왔어. 어디냐고 묻더라구 그래서 나는 말했지. 저 여행왔는데요. 여기 ___''
다음 단어를 예측하기 위해서는 장소 정보가 필요합니다. 그런데 장소 정보에 해당되는 단어인 '모스크바'는 앞에 위치하고 있고, RNN이 충분한 기억력을 가지고 있지 못한다면 다음 단어를 엉뚱하게 예측하는데 이를 장기 의존성 문제(the problem of Long-Term Dependencies)라고 합니다.
이를 극복하기 위해 다양한 RNN 변형이 등장했고 LSTM 도 그중 하나입니다
LSTM
LSTM 구조
Long Short-Term Memory : '단기기억'을 '오래 기억'하기 위해 고안됨
기본 순환신경망과 기본개념은 동일하나,
LSTM 은 입력과 가중치(weight)를 곱하고 절편(bias) 를 더해 활성화 함수를 통과시키는 구조를 여러개 가지고 있다.
이러한 계산 결과는 다음 타임스텝에 재사용된다.
LSTM 은닉상태 만드는 방법
LSTM에는 순환되는 상태가 2개입니다.
셀 상태가 2개라는거죠!
은닉상태 (hidden state) 와 셀상태 (cell state) !
셀 상태는 은닉상태와 달리 다음 층으로 전달되지 않고 LSTM 셀 에서 순환만 되는 값입니다.
셀상태 (cell state) 계산 과정
즉 학습되는 웨이트가 더 많다는것입니다.
총 4개의 게이트를 가지고 있다고 말하기도 합니다. (입력, 삭제,셀, 출력)
이 중에서 입력,삭제 ,출력 게이트를 보자면
여기서 상태를 잘 기억해야됩니다! 2개를 넣고 다음스텝으로 전달됩니다.
'AI > 자연어처리' 카테고리의 다른 글
[AI활용 자연어처리 챗봇프로젝트] GRU, GRU실습 (2) | 2024.12.20 |
---|---|
[AI활용 자연어처리 챗봇프로젝트] LSTM 실습 (1) | 2024.12.19 |
[AI활용 자연어처리 챗봇프로젝트] 순차데이터, 순환데이터 (1) | 2024.12.13 |
[AI활용 자연어처리 챗봇프로젝트] Word2Vec, 단어유사도 확인 / 완료 (6) | 2024.12.11 |
순환신경망을 이용한 IMDB 리뷰 분류해보기(28) (4) | 2024.12.10 |