취향저격 - LSTM(1)

hsoh0423·2021년 5월 8일
1

취향저격 프로젝트

목록 보기
7/10
post-thumbnail

이번 포스터에서는 프로젝트에서 사용했던 장단기 메모리LSTM(Long Short-Term Memory)대해 간단하게 설명하고자 한다.

프로젝트 내 LSTM

이전에 사용했던 RNN이 생각보다 성능이 좋지 않았다. 프로젝트를 끝내고 이번 블로그를 작성하면서 코드를 다시 보니 학습 방법이 잘못 된 거 같기도 했지만, 당시에는 데이터 양이 많으니 RNN의 단점인 장기 의존성 문제가 발생해서 그런거라고 생각해서 RNN -> LSTM으로 방향을 바꾸어서 사용했다.

두 번째 프로젝트 아이디어

두번 째 프로젝트 아이디어의 경우 전에 포스터와 전반적으로 같다.
취향저격 - RNN(1)
다른 점은 데이터를 학습시킬 때 RNN에서 LSTM으로 바꾸었다는 점이다.

LSTM

구조


위의 사진은 LTSM의 전반적인 모습이다. LSTM은 은닉층의 메모리셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 불필요한 기억을 지우고, 기억해야 할 것들을 정한다. RNN보다 은닉상태를 계산하는 식이 조금 더 복잡해졌고, 셀 상태라는 값을 추가했다. 위의 그림에서 t시점의 셀 상태를 Ct\mathbf{C}_{t}로 표현하고 있다. 이 셀 상태라는 값으로 인하여 긴 시퀀스의 입력을 처리하는데 좋은 성능을 보인다.

마치며

이번 포스터에서는 LSTM에 대해서 간단하게 포스팅 해보았다. 복잡한 설명의 경우 지양하려다 보니 포스터의 길이가 많이 짧은 것 같다. 취항저격 프로젝트에서 사용한 것들과 왜 사용했는지, 문제 점이 무엇이었는지에 대해 기록하는게 목적이라 설명을 길게 안하게 되는 것 같다. 학기가 시작되니 블로그를 작성할 시간이 많이 부족하게 느껴진다. 그래도 꾸준히 적고, 프로젝트 포스팅을 마치면, 길게 설명하지 못했던 RNN, LSTM 등에 대한 포스팅을 하고 싶다.

Reference

https://wikidocs.net/22888

profile
커피를 좋아하는 평범한 대학생

0개의 댓글