1) 강의 복습 내용
RNN의 수학적인 부분은 BPTT의 내용이나 이전의 RNN 관련 AI Math부분에서 잘 짚고 넘어갔다고 생각한다.
따라서 이번 강의를 들을때는 좀거 테크니컬한 부분은 어떤 부분이 있는지 집중해서 들었다.
RNN의 가장 유명한 부분은 아마 back propagation에서 나타나는
gradient vanishing 혹은 exploding 현상일 것이다.
RNN의 BPTT는 일반적인 확률 분포의 값을 추정하는 것과 달리
weighted gradient를 연속해서 곱해야하는 작업을 포함하므로
이 값은 단순히 vanishing의 가능성 뿐만 아니라 exploding 의 가능성까지 가지고 있다.
exploding 은 학습도중 nan이 떠버리고 그 이후의 모든 학습에서 weight 가 nan이 되어버리기 때문에
개인적으로 vanishing 보다 더 위험(?)하다고 생각한다.
아무튼 이걸 멋지게 해결해서 주목을 받은 것이 LSTM인데
Memory gate를 추가하고 cell state 라는 state를 하나 더 추가해서 현제 입력 값으로 부터 추출한 정보를
Long term으로 기억할 것이나 short term으로 기억할 것이냐를 스스로 정하게 한다.
나는 솔직히 이게 왜 잘 작동되는지 아직도 잘 모르겠다.
어차피 입력값으로 부터 서로 다른 형태의 정보를 여러번 추출하여 사용하는 것에 지나지 않기 때문이라고 생각해서
굉장히 번거로운 작업이 되겠지만.. LSTM의 BPTT도 언젠간 꼭 해봐야 겠다.
GRU 는 한국분이 연구하고 발표하신 것으로 알고있는데 그때 당시 총평으로는
speech 보다는 music domain에서 LSTM보다 더 잘 작동하는 것으로 알려졌던 기억이 있다.
LSTM은 long, short term 메모리를 각각 추론하여서 전달하였다면
GRU는 이 정보를 update 할지 말지 하나의 sigmoid를 통해서 결정한다는 차이점이 있다.
따라서 LSTM에서 추가되었던 cell state가 없어졌고 훨씬 가벼워졌다.
2) 과제 수행 과정 / 결과물 정리
3) 피어세션 정리
이번 피어세션에서는 Autoencoder에 대한 전반적인 발표가 있었고 실사용은 어떻게
이뤄지는지 Kaggle의 예시를 들면서 짚어보았다.
VAE를 이해하고 generative 모델을 이해하기 이전에 반드시 짚고 넘어가야할 부분이었는데
아주 적절하게 진행된것 같다.
4) 학습 회고
'딥러닝 머신러닝 데이터 분석 > BoostCampAITech' 카테고리의 다른 글
[ BoostCamp ] Day-16 학습로그( Pytorch Basic ) (0) | 2021.08.19 |
---|---|
[ BoostCamp ] Day-12 학습로그( Generative model ) (0) | 2021.08.18 |
[ Boost Camp ] Day-10 학습로그( CNN ) (0) | 2021.08.13 |
[ Boost Camp ] Day-9 학습로그 (0) | 2021.08.10 |
[ Boost Camp ] Day-8 학습로그 (0) | 2021.08.10 |
댓글