본문 바로가기

딥러닝

[패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 30회차 미션

인공지능강의

05. PART 4) 딥러닝의 3 STEP의 기초

49. 순환 신경망(RNN) - 07. (STEP 2) 순환 신경망에서 Tensor의 이해

RNN의 입력 텐서

길이가 L보다 짧을 경우, 앞을 0으로 채운다.

입력 텐서의 앞부분을 0으로 채우는 이유는, 마지막 입력부터는 출력을 내기 때문이다.

 

RNN의 출력 텐서

길이가 L보다 짧은 경우, 뒤를 0으로 채운다.

출력 텐서의 뒷부분을 0으로 채우는 이유는, 출력이 나오는 시점은 고정되기 때문이다.

 

50. 순환 신경망(RNN) - 07. (STEP 2) 순환 신경망의 학습법

BPTT의 배치 학습법

시간적으로 펼치면서 계산해야 하는 점을 제외하면, 보통의 역전파와 동일하다.

단, 시간적으로 펼칠 때 역전파를 위한 추가적인 메모리가 필요하다.

 

BPTT의 문제점

순차 데이터의 길이 L이 매우 클 경우, 시간 펼침이 늘어나면서 필요 메모리가 L배 증가한다.

B개의 샘플을 동시에 계산하므로, 얕은 신경망에 비해 훨씬 큰 메모리 필요.

 

다중 입력, 다중 출력

다중 입력, 다중 출력의 경우 Truncated BPTT를 이용해 BPTT에서 발생하는 메모리 문제를 해결할 수 있다.

 

Truncated BPTT 데이터 입력

순차 데이터의 길이를 일정한 T 길이로 잘라서 배치를 나누듯이 한번에 계산하는 크기를 줄인다.

 

Truncated BPTT

Truncated BPTT는 길이L의 입력을 길이T 로 쪼개어 순서대로 학습한다.

한번에 역전파 하는 길이가 제한되므로 메모리 사용이 줄어든다.


Truncated BPTT의 역전파 흐름

길이 T로 쪼개진 Truncation  사이에서는 기울기 역전파가 이루어지지 않는다.

즉, Time step이 T이상 떨어진 입-출력 관계는 학습되지 않는다.

 


https://bit.ly/3g72Rmm

 

딥러닝/인공지능 올인원 패키지 Online. | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

www.fastcampus.co.kr