Quel est le rôle de TimeDistributed couche dans Keras?

Je suis en train d'essayer de saisir ce qui TimeDistributed enveloppe ne dans Keras.

- Je obtenir TimeDistributed "s'applique une couche à chaque tranche temporelle d'une entrée."

Mais j'ai une certaine expérience et a obtenu les résultats que je ne comprends pas.

En bref, dans le cadre de LSTM couche, TimeDistributed et juste Dense couche de porter le même résultats.

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)

Pour les deux modèles, je suis sortie de la forme de (Aucun, 10, 1).

Quelqu'un peut-il expliquer la différence entre TimeDistributed et Dense couche après une RNN couche?

  • Il y a actuellement des ssem pas y avoir de différence, ici une discussion à ce sujet. Je pense que l'intention initiale était de faire une distinction entre les Dense couche de l'aplatissement de l'entrée et puis le remodelage, d'où la connexion de différents pas de temps et avoir plus de paramètres, et TimeDistributed de garder le pas de temps séparés (et donc d'avoir moins de paramètres). Dans votre cas Dense devrait avoir 500 paramétrée, TimeDistributed seulement 50
  • Nope, il a le même nombre de paramètres (6). Donc, il n'y a pratiquement pas de différence de l'atm?
  • Ouais exactement, ce sont le nombre de paramètres qu'il aurait s'il y avait une différence. Pour le moment il n'y en a pas
InformationsquelleAutor Buomsoo Kim | 2017-11-15