Keras에서 TimeDistributed 래퍼가 수행하는 작업을 파악하려고합니다.
TimeDistributed는 "입력의 모든 시간 조각에 레이어를 적용합니다."
하지만 실험을 좀 해보니 이해할 수없는 결과가 나왔습니다.
요컨대 LSTM 계층과 관련하여 TimeDistributed 및 Just Dense 계층은 동일한 결과를 나타냅니다.
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add(TimeDistributed(Dense(1)))
print(model.output_shape)
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add((Dense(1)))
print(model.output_shape)
두 모델 모두 (None, 10, 1) 출력 모양을 얻었습니다 .
누구든지 RNN 레이어 후 TimeDistributed와 Dense 레이어의 차이점을 설명 할 수 있습니까?
Dense
입력을 평평하게 한 다음 모양을 변경하여 다른 시간 단계를 연결하고 더 많은 매개 변수를 가지며TimeDistributed
시간 단계를 분리하여 유지하는 것입니다 (따라서 매개 변수가 더 적음). 귀하의 경우Dense
에는 500 개의 매개 변수가 있어야TimeDistributed
합니다. 50