[BoostCamp] DAY14 Deep Learning Basic#4
[BoostCamp] DAY14 Deep Learning Basic#4
1. RNN 첫걸음
1) Sequence 데이터란?
- 소리, 문자열, 주가등의 데이터를 sequence데이터라고 한다.
- Sequence데이너틑 독립 동등 분포 가정을 잘 위배하기 때문에 순서를 바꾸거나 과거 정보에 손실이 발생하면 데이터의 확률분포도 달라진다.
2) Sequence 데이터를 다루는 방법!!
- 이전 sequence정보를 가지고 앞으로 발생할 데이터의 확률 분포를 다루기 위해 조건부 확률을 이용할 수 있다.
- 이를 전개하여 정리해보면 아래와 같은 식을 구할 수 있다.
- 그런데 위의 식을 본다면 t의 크기가 변한 다는 것을 볼 수 있다. 즉, 데이터의 길이가 가변성이 존재한다.
- 이를 위해서는 가변적인 데이터를 다룰 수 있는 모델이 필요하다.
3) Recurrent Neural Network 란?
우리는 2)에서 배운 식을 아래와 같이 변형시켜 볼 수 있다.
이를 모형으로 나타내어 보면 아래와 같이 표현할 수 있다.
- 그런데 우리는 sequence 데이터를 다루기에 적절한 모델이다.
- 연속된 데이터를 다루기 위해서는 과거의 데이터를 기억하여 이것또한 학습에 활용할 수 있어야한다.
- 그렇다면 어떻게 할 수 있을 까?
- 위의 식에 과거의 결과값도 추가하여 연산하면 되지 않을 까?
- 이를 모형으로 표현해보자.
- RNN은 위와 같이 연산할 수 있다. 그렇다면 backpropagation은 어떻게 할 수 있을까?
- BPTT(Backpropagation Through Time)을 사용해보자.
4) BPTT 란?
- RNN의 가중치 행렬의 미분을 계산해보자.
- 그런데 우리는 여기서 phi연산 부분을 유의 깊게 봐야할 필요가 있다.
- 활성 함수를 통해 나온 값들을 계속해서 여러번 곱하면 0에 가까워지지 않을까?
- 해당 부분에 대해 5)에서 이야기 해보도록 하자.
5) 기울기 소실의 해결책은?
- 일정 길이에서 누적을 끊어 줘보자.
- 이를 해결하기 위해 나온 것들이 LSTM과 GRU이다.
2. Recurrent Neural Networks
1) Sequential Model
- Sequential data는 시간의 개념이 더해진 data를 의미한다. 예로 비디오, 소리, motion등이 존재한다.
- Problem?
- 데이터의 길이를 알기 어렵다. –> 언제 데이터가 끝날지 모른다.
- 즉, 가변적인 크기의 입력을 감당할 수 있는 model이 필요하다.
- Solve?
- Markov model(first-order autoregressive model)
- 현재는 바로 직전의 과거에만 의존한다.
- 많은 정보의 소실이 일어난다.
- joint dustrubution을 표현하기 쉬워진다.
- Latent autoregressive model
- 중간에 hidden state를 넣어 학습시켜 과거의 정보를 요약한다고 생각한다.
- 즉, hidden state에 의존하여 문제를 해결한다.
- Markov model(first-order autoregressive model)
2) Recurrent Neural Network
- 이전 값 + 입력값으로 결과 값을 계산한다.
long term dependencies
- 한참 과거의 입력값은 현재에 영향을 주는 것은 힘들다.
- 즉, 가까운 과거의 입력만이 현재에 큰 영향을 준다.
- 모델의 사고가 제한된다.
3) Long Short Term Memory (LSTM)
4) Gated Recurrent Unit
3. Transformer
4. TODO
- 위에서 아직 학습하지 못한 부분에 대해서 복습하며 학습하자.
- 아직까지 읽지 못한 논문들이 많다. 읽고 공부하자.
- 오늘 학습중 나온 실습 부분을 실습하자.
- 코딩 공부를 게을리 하지 말자.
5. 이모저모
- 강의
- 오늘 역대급으로 어려웠다. 조원분들한테 더 학습할 수 있는 영상을 추천 받았으니 이것도 같이 보면서 학습해야겠다.
- 피어세션
- 매번 피어세션을 할때마다 조원분들께 많은 것을 배워 가는 것 같다. 항상 감사하다.
댓글남기기