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 | 29 | 30 | 31 |
Tags
- Boostcamp AI
- softeer
- 코테
- Java
- 티스토리챌린지
- 프로그래머스
- IBM
- 클린코드 파이썬
- Python
- programmers
- 오블완
- Clean Code
- 데이터 사이언스
- Data Science
- 파이썬
- 부스트캠프
- 문자열
- 소프티어
- 알고리즘
- AI Mathematics
- 데이터과학
- 깨끗한 코드
- string
- Coursera
- 코딩테스트
- 자바
- 코세라
- data science methodology
- 데이터사이언스
- 클린코드
Archives
- Today
- Total
떼닝로그
RNN 기초 본문
Sequence 데이터 이해하기
- 소리, 문자열, 주가등의 데이터를 시퀀스 데이터로 분류
- 시퀀스 데이터는 독립동등분포(i.i.d) 가정을 잘 위배하기 때문에, 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 바뀜
- 개가 사람을 물었다 / 사람이 개를 물었다
- 순서 바뀜으로써 data의 확률 분포 변함. 과거의 정보로 update하기 어려워짐
Sequence 데이터 다루기
- 이전 시퀀스의 정보를 가지고 앞으로 발생할 데이터의 확률분포를 다루기 위해 조건부확률 이용
베이즈 법칙을 이용하여 확률분포 구하기 - 결합확률분포 = \(x_t\)에 대한 확률분포 * 결합확률
- 조건부확률은 과거의 모든 정보를 사용하지만, 시퀀스 데이터를 분석할 때 모든 과거 정보들이 필요한 것은 아님
- 시퀀스 데이터를 다루기 위해서는 길이가 가변적인 데이터를 다룰 수 있는 모델이 필요
- 조건부에 들어가는 데이터 길이는 가변적
- 고정된 길이 τ만큼의 시퀀스만 사용하는 경우, \(AR(τ)\), 자가회귀모델 (Autoregressive Model)
- 바로 이전 정보를 제외한 나머지 정보들을 \(H_t\)라는 잠재변수로 인코딩해서 활용하는 잠재 AR모델 이용
- 바로 이전 시점의 변수 + 잠재 변수로 modeling
- 잠재변수 \(H_t\)를 신경망을 통해 반복해서 사용하여 시퀀스 데이터의 패턴을 학습하는 모델을 RNN
Recurrent Neural Network을 이해하기
- 가장 기본적인 RNN 모형은 MLP(Multi Level Perception)와 유사한 모양
- RNN은 이전 순서의 잠재변수와 현재의 입력을 활용하여 모델링
- 이 모델은 과거의 정보를 다룰 수 없음. 현재 시점만 가지고 예측을 해야 하기 때문
RNN 이해하기. 오른쪽의 화살표들은 gradient 전달 경로. 파란색이 순전파, 빨간색이 역전파 나타냄 - \(t\)에 따라서 변하는 것 : 잠재변수, 입력 data. RNN의 가중치 행렬은 \(t\)에 따라 변화하지 않음
- \(W^2\) : 출력으로 만들어주는 가중치 행렬
- \(W^1_X\) : 입력으로부터 전달하게 되는 가중치 행렬
- \(W^1_H\) : 이전 잠재변수로부터 정보 전달받음
- 잠재변수인 \(H_t\) 복제하여 다음 순서의 잠재변수 인코딩하는데 사용
- RNN의 역전파는 잠재변수의 연결그래프에 따라 순차적으로 계산 (Backpropagation Through Time, BPTT)
BPTT (BackPropagation Throughout Time)
- BPTT를 통해 RNN의 가중치행렬의 미분 계산
- 시퀀스 길이가 길어질수록 표시된 항 불안정해짐
기울기 소실의 해결책?
- 시퀀스 길이가 길어지는 경우 BPTT를 통한 역전파 알고리즘의 계산이 불안정해지므로, 길이를 끊는 것이 필요. 이것을 truncated BPTT
- 미래의 정보들 중에서 몇 개는 끊고, 과거의 정보에 해당하는 block 나눠서 back propagation 수행
- 이런 문제들 때문에 Vanilla RNN은 길이가 긴 시퀀스 처리에 문제
- 해결 위해 등장한 RNN 네트워크가 LSTM과 GRU
'Boostcamp AI Tech > AI Mathematics' 카테고리의 다른 글
CNN 기초 (0) | 2022.06.18 |
---|---|
베이즈 통계학 (0) | 2022.06.17 |
통계학 기초 (0) | 2022.06.17 |
확률론 기초 (0) | 2022.06.16 |
딥러닝 학습방법 이해하기 (0) | 2022.06.16 |
Comments