2016-10-05 3 views

답변

0

아니요. 상태를 업데이트해야합니다. 이는 데이터가 네트워크로 공급되는 방식과 관련이 있습니다. 한 문장이 여러 배치에 걸쳐 있습니다. 예 : 우리는 batch_size = 1과 num_steps = 2를 가지고 있다고 말하면 "갈색 여우가 점프하다"라는 문장을 처음에는 b1 = [ 'the', 'brown'] 그리고 다른 배치를 b2 = [ 'fox', ' 점프 ']. 텐서 흐름은 단순히 b1을 처리 한 결과로 얻은 최종 숨겨진 상태를 가져 와서 완벽하게 의미있는 b2의 초기 상태로 다시 사용하는 것입니다.

다른 말로하면, 이것은 검증 세트에서 교육, 테스트 또는 실행 중과 완전히 독립적입니다. 또한 상태를 업데이트하는 것은 모델의 매개 변수를 변경하는 것과 아무런 관련이 없습니다.

0

cell_state의 초기화 된 값은 사용자가 설정합니다. 일반적으로 0 상태를 사용하여 초기화합니다.

그러나 일단 rnn 프로세스를 시작하면 입력 시퀀스에 따라 상태가 업데이트됩니다. 상태를 "rnn 네트워크가 시퀀스를 어떻게 이해하는지"로 간주 할 수 있습니다. 따라서 네트워크에 다른 시퀀스가 ​​공급되면 셀 상태가 달라집니다.