순차적인 데이터를 입력 받아 결과값을 도출하는데 사용하는 딥러닝 모델
대표적으로 자연어 처리에 많이 사용
이전 입력 값들이 현재 입력 값의 출력값에 영향을 줌
google은 같은 단어인데 앞뒤 단어들에 따라 명사 또는 동사로 사용된다.
work도 같은 단어지만 앞뒤 단어들에 따라 동사 또는 명사로 사용된다.
이런 경우 순차적인 입력으로 이전 입력값들에 의해 지금 출력값에 영향을 준다는 것을 알 수 있다.
> 메모리 셀
타임 스텝에 걸쳐서 어떤 상태를 보존하는 신경망의 구성 요소
타임 스텝 t에서 순환 뉴런의 출력은 이전 타임 스텝의 모든 입력에 대한 함수이기 때문에 이를 일종의 메모리 형태라고 말할 수 있음
RNN에서 셀이라고 말할 때는 완전 연결 신경망에서 층(layer)을 의미
LSTM
- 기존 RNN의 단점을 극복하고자 만들어진 좀 더 진화된 RNN셀
- 이전 정보를 지우거나 기억하기 위한 로직과 현재 정보를 기억하기 위한 로직이 구현
- 메모리셀과 히든 스테이트가 같이 적용
- 메모리셀에서의 곱하기 기호에서 0~1까지 값인 시그모이드 출력값을 곱해 메모리셀의 기존 정보를 어느정도까지 기억할지 결정
- 메모리셀에서의 더하기 기호는 새로운 정보를 메모리셀의 기존 정보에 더하는 로직
- 텐서플로우 사용 시 이미 LSTM은 구현되어 있음
'ML&DL > study' 카테고리의 다른 글
파이썬 머신러닝 02. 사이킷런 (1) | 2021.07.16 |
---|---|
파이썬 머신러닝 공부 01. 넘파이, 판다스 (0) | 2021.07.13 |
머신러닝 알고리즘 8. 합성곱 신경망 (CNN) (0) | 2021.06.18 |
머신러닝 알고리즘 7-2. 신경망(딥러닝) 학습 (0) | 2021.06.18 |
머신러닝 알고리즘 7-1. 신경망(딥러닝) (0) | 2021.06.16 |