일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬온라인수업
- 스크래핑
- 셀레니움
- 파이썬 인강
- 비트코인
- 미국디리스킹
- MBTI성격유형
- 비전공자파이썬
- 파이썬기초
- 파이썬독학하기
- 파이썬클래스
- 스위스기준금리
- 파이썬배우기
- 파이썬강의후기
- 암호화폐
- MBTI성격검사
- 노르웨이기준금리
- 파이썬독학
- 패스트캠퍼스후기
- 순천여행
- 파이썬문법
- SQL
- swift문법
- 중국수출통제
- 파이썬강의
- 파이썬인강
- 파이썬수업
- MBTI
- 패스트캠퍼스수강후기
- 광교카페
- Today
- Total
이제 데이터 공부 안하는 블로그
LSTM (Long Term Short Memory, 장단기기억망) & GRU (Gated Recurrent Unit) 본문
* 제가 공부하기 위해 만든 자료입니다. 혹시 틀린 부분이 있다면 댓글로 알려주시면 수정하겠습니다.
RNN은 기울기 소실과 기울기 폭발이라는 문제가 있었다. 이러한 기울기 정보 크기의 문제를 해결하기 위해 고안된 것이 LSTM (Long Term Short Memory, 장단기기억망) 이다.
LSTM (Long Term Short Memory, 장단기기억망)
LSTM은 RNN에 기울기 정보 크기를 조절하기 위한 Gate를 추가한 모델이다. 요즘은 RNN은 잘 사용하지 않고 대부분 LSTM을 사용한다고 한다.
기울기 소실 문제를 해결하기 위해 LSTM에는 3가지 게이트(gate)가 추가되었다.
- forget gate : 과거 정보를 얼마나 유지할 것인가?
- input gate : 새로 입력된 정보는 얼마만큼 활용할 것인가?
- output gate : 두 정보를 계산하여 나온 출력 정보를 얼마만큼 넘겨줄 것인가?
그리고 hidden-state 외에도 활성화 함수를 직접 거치지 않는 상태인 cell-state 가 추가되었다. cell-state는 역전파 과정에서 활성화 함수를 거치지 않아 정보 손실이 없기 때문에 뒷쪽 시퀀스의 정보에 비중을 결정할 수 있으면서 동시에 앞쪽 시퀀스의 정보를 완전히 잃지 않을 수 있다.
LSTM 의 사용
여러 언어 모델 뿐만 아니라 신경망을 활용한 시계열 알고리즘에도 대부분 LSTM을 사용하고 있다.
GRU (Gated Recurrent Unit)
GRU는 LSTM의 구조를 간단화 시킨 버전이라고 생각하면 된다. GRU는 LSTM와 마찬가지로 기울기 소실로 인한 문제에 대한 해결책은 유지하면서, 은닉 상태를 업데이트 하는 계산을 줄인 버전이다.
GRU 셀의 특징
- LSTM에서 있었던 cell-state가 사라졌습니다.
cell-state 벡터와 hidden-state 벡터
가 하나의 벡터
로 통일되었습니다.
- 하나의 Gate
가 forget, input gate를 모두 제어합니다.
가 1이면 forget 게이트가 열리고, input 게이트가 닫히게 되는 것과 같은 효과를 나타냅니다.
반대로가 0이면 input 게이트만 열리는 것과 같은 효과를 나타냅니다.
- output 게이트가 없어졌습니다.
대신에 전체 상태 벡터가 각 time-step에서 출력되며, 이전 상태의
의 어느 부분이 출력될 지 새롭게 제어하는 Gate인
가 추가되었습니다.
GRU와 LSTM 중 어떤 것의 성능이 더 낫다라고 단정지어 말할 수 없기 때문에 상황에 맞게 적절한 것을 사용해야 한다고 한다. 일반적으로 데이터 양이 적을 때는 매게 변수의 양이 적은 GRU가 조금 더 낫고, 데이터 양이 많을 때는 LSTM을 사용하는 것이 더 낫다고 알려져 있다고 한다.
참고자료 : https://wikidocs.net/22888
'딥러닝' 카테고리의 다른 글
Transformer & BERT, GPT (0) | 2021.08.21 |
---|---|
어텐션(Attention) (0) | 2021.08.21 |
순환 신경망 (Recurrent Neural Network, RNN) (0) | 2021.08.19 |
Fast Text - 철자 단위 임베딩(Character level Embedding) (0) | 2021.08.18 |
분산 표현(Distributed representation) (0) | 2021.08.18 |