Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 계수정렬
- AI
- LSTM
- DFS
- RESNET
- 알고리즘
- 퀵정렬
- 재귀함수
- 삽입정렬
- 정렬
- GRU
- pytorch
- Machine Learning
- 머신러닝
- 최단 경로
- BFS
- 스택
- 다이나믹 프로그래밍
- 캐치카페신촌점 #캐치카페 #카페대관 #대학생 #진학사 #취준생
- rnn
- 딥러닝
- 선택정렬
- 인공지능
- 그리디
- 큐
- 선형대수
- 이진 탐색
Archives
- Today
- Total
hyeonzzz's Tech Blog
순환 신경망 - LSTM / GRU 본문
1. LSTM (long short-term memory)
: 기존의 순환 신경망 모델에 장기기억을 담당하는 부분을 추가한 것
출처 : https://colah.github.io/posts/2015-08-Understanding-LSTMs/
1) cell state
: 장기기억을 담당하는 부분
- x : 기존의 정보를 얼마나 남길 건인지 비중을 곱함
- + : (현재 들어온 데이터와 기존의 은닉 상태)를 통해 정보를 추가함
2) forget gate
: 어떤 과거 정보를 잊을지
- (현재의 입력값과 직전 시점의 은닉 상태값)을 입력으로 받음
- σ : 기존의 정보를 얼마나 전달할지 비중을 정함
3) input gate
: 어떤 새로운 정보를 셀 상태에 추가할지
- (현재의 입력값과 직전 시점의 은닉 상태값)을 입력으로 받음
- σ : 새로운 정보를 얼마나 추가할지 비중을 정함
- tanh : 새롭게 셀 상태에 추가할 정보
더보기
fotget gate와 input gate 모두 x_t와 h_t-1을 활용하지만 가중치가 달라 각 요소가 얼마나 중요한지 결정한다.
따라서 각각 과거정보를 얼마나 보존할지, 새로운 정보를 얼마나 추가할지 결정한다.
4) cell state update
: 현재 시점의 cell state를 update
- f_t * C_t-1 : 이전 시점의 cell 정보 얼마나 유지할지
- i_t * C_t~ : 현재 기억할 정보
- 과거에서 유지할 정보 + 현재에서 유지할 정보
5) hidden state update
: 출력할 출력값, hidden state 계산
- (업데이트된 cell state 값) * (tanh를 통과시킨 -1~1 사이의 비중) = 새로운 hidden state
2. GRU (gated recurrent unit)
: 기존 LSTM의 구조를 간단하게 개선한 모델
출처 : https://blog.naver.com/winddori2002/221992543837
- LSTM과 달리 셀 상태와 은닉 상태로 분리하지 않고 은닉 상태 하나로 합쳤다
1) reset gate
: 이전 은닉 상태를 얼마나 잊을지
- 과거의 은닉 상태를 얼마나 잊을지를 결정하고, 이를 통해 새로운 정보의 반영 정도를 조절한다
2) update gate
: 새로운 정보를 얼마나 반영할지
- LSTM의 forget gate와 input gate 역할
- 현재 입력과 이전 상태를 모두 고려하여 현재 정보의 중요성을 결정한다
- 현재 시점의 입력값과 직전 시점의 hidden state 값에 가중치를 곱함
- σ를 통과시켜 업데이트할 비중 정함
3) 새로운 hidden state h_t ~계산
: reset gate를 사용해 이전 정보와 현재 정보의 비율을 결정한 새로운 hidden state h_t ~계산
- ((이전 hidden state h_t-1에 가중치를 곱한 값) * reset gate)와 (새로운 입력 x_t에 가중치를 곱한 값)을 tanh에 통과시켜 새로운 h_t~를 계산한다
3) 최종 hidden state h_t 계산
: update gate를 사용해 최종 은닉 상태 h_t 계산
- 과거 정보 얼마나 유지할지 + 현재 정보 얼마나 반영할지
'Deep Learning > Basics' 카테고리의 다른 글
seq2seq, Attention, Transformer, BERT 정리 (0) | 2024.05.31 |
---|---|
[파이토치 딥러닝 프로젝트 모음집] 1. 인공지능 (2) | 2024.03.12 |
[Andrew Ng] 딥러닝 4단계 : 1. 합성곱 신경망 네트워크 (CNN) (0) | 2024.02.05 |
[Andrew Ng] 딥러닝 2단계 : 7. 다중 클래스 분류 (2) | 2024.02.01 |
[Andrew Ng] 딥러닝 2단계 : 6. 배치 정규화 (0) | 2024.02.01 |