2017-12-06 38 views
0

RNN을 스태킹 할 때 return_sequences 매개 변수를 Keras에 True으로 설정해야합니다. Keras에서 예를 들어 누적 된 RNN의 시퀀스를 반환하는 이유는 무엇입니까?

,

lstm1 = LSTM(1, return_sequences=True)(inputs1) 
lstm2 = LSTM(1)(lstm1) 

각 스택 RNN 층에 대한 입력 공간의 차원을 보존 다소 직관적 그러나, 나는 철저하게 확신하지 않다.

누군가 (수학적으로) 이유를 설명 할 수 있습니까?

감사합니다. 재발 레이어

답변

1

입력 형상이다

  • (number_of_sequences, time_steps, input_features).

시간 단계가있는 경우 반복성이있을 수 있기 때문에 이것은 반복적 인 레이어에 절대적으로 필요합니다. 이제

, 각각의 경우에 재발 층의 "출력을"비교 :

  • return_sequences=True로 - return_sequences=False(number_of_sequences, time_steps, output_features)
  • -return_sequences=True없이 (number_of_sequences, output_features)

, 당신은 시간 단계를 제거 따라서 크기가 충분하지 않고 가장 중요한 요소 인 time_steps이 없기 때문에 반복적 인 레이어로 공급할 수 없습니다.