
603
15
장
RNN과 CNN을 사용해 시퀀스 처리하기
15.2
RNN
훈련하기
RNN
을 훈련하기 위한 기법은 타임 스텝으로 네트워크를 펼치고
5
(이전에 했던 것처럼 ) 보통
의 역전파를 사용하는 것입니다(그림
15
-
5
). 이런 전략을
BPTT
backpropagation
through
time
라고 합
니다.
보통의 역전파와 같이 첫 번째 정방향 패스가 펼쳐진 네트워크를 통과합니다 (파선 화살표로
표시 ).
6
그러면 비용 함수
C
(
Y
(
0
)
,
Y
(
1
)
, …
Y
(
T
)
) (
T
는 최대 타임 스텝)를 사용하여 출력 시퀀
스가 평가됩니다. 이 비용 함수는 [그림
15
-
5
]에 나타난 것처럼 일부 출력을 무시할 수 있습
니다 (예를 들어, 시퀀스-투-벡터
RNN
에서는 마지막을 제외한 모든 출력이 무시됩니다). 비
용 함수의 그레이디언트는 펼쳐진 네트워크를 따라 역방향으로 전파됩니다 (실선 화살표로 표
시). 결국 모델 파라미터는
BPTT
동안 계산된 그레이디언트를 사용하여 업데이트됩니다. 그
레이디언트가 마지막 출력뿐만 아니라 비용 함수를 사용한 모든 출력에서 역방향으로 전파됩
니다 (예를 들어 [그림
15
-
5
]에서 네트워크의 마지막 세 개의 출력
Y
(
2
)
,
Y
(
3
)
,
Y
(
4
)
를 사용하여
비용 함수가 계산됩니다. 따라서 그레이디언트는 이 세 개의 출력을 거쳐 흐르지만
Y
(
0
)
과