RNN:: LSTM이란 무엇일까
영화 리뷰 데이터로 영화 평점 예측하는 프로젝트를 진행하며 LSTM 알고리즘을 사용하게 되었다.
이론을 정리하고 넘어가겠습니다~~!!
1. LSTM 배경
기존 인공 신경망의 은닉층에는 단순히 뉴런만 배치되어있어 맥락이 고려되지 않는 구조이다.
hidden layer을 도입하여 시계열 데이터를 예측할 수 있지만 기울기 소실(vanishing gradient) 문제가 발생한다.
반면, RNN은 순환 구조로 과거의 이벤트가 미래의 결과에 영향을 줄 수 있는 구조이다.
데이터 중에서도 번역, 문자, 음성인식 등 다양한 분야에서 활용이되며 LSTM은 RNN의 주요 알고리즘으로 각광받고 있다.
- RNN (Recurrent Nenural Network)
- 직전 데이터 t-1 , 현재 데이터 t 간의 상관관계를 고려하여 다음 데이터 t+1을 예측하기 위해 과거의 데이터도 반영한 신경망 모델.
- Long term 일수록 경사를 소실하는 문제가 발생함 -> LSTM은 이를 개선 (한참 전의 데이터도 함께 고려되도록!)
- LSTM 구조 (장기 기억을 보존)
가장 큰 특징은 장기 의존성 문제를 해결한다는 것
대체 아래와 같은 구조가 어떻게 장기 의존성 문제를 해결한다는 것일까????
- cell state
정보가 바뀌지 않고 그대로 흐르도록 하는 역할
- Forget Gate
cell state에서 sigmoid layer을 거쳐 어떤 정보를 버릴것인지 정함.
- input gate
먼저 sigmoid layer을 거쳐 어떤 값을 업데이트 할지 정한 후
tanh layer에서 새로운 정보 중 어떤 것을 cell state에 저장할 것인지 정함.
- cell state update
이전 gate에서 버릴 정보들과 업데이트 할 정보를 정하고, 여기서 업데이트 진행
- ouput gate
output gate는 어떤 정보를 output으로 내보낼지 정함
sigmoid layer에 input data를 넣어 output 정보를 정한 후 Cell state를 tanh layer에 넣어
sigmoid layer의 output과 곱하여 output으로 내보냄
이론적인 내용은 한번에 이해하기 어렵다...
강의 좀 찾아봐야겠다.
<출처 >
1. https://wegonnamakeit.tistory.com/7
[논문리뷰] RNN :: LSTM(Long Short Term Memory) 톺아보기
이 블로그 글은 딥러닝 공부를 목적으로, 최성준 박사님 강의와 여러 자료들을 참고하여 LSTM의 개념에 대해 정리하였습니다. 기존의 인공 신경망의 은닉층에는 맥락이 고려되지 않은 단순
wegonnamakeit.tistory.com
2. 출처 http://www.incodom.kr/LST
LST - 인코덤, 생물정보 전문위키
None
www.incodom.kr