Il existe un certain nombre d'exemples sur la façon d'utiliser les LSTM seuls dans TF, mais je n'ai pas pu trouver de bons exemples sur la façon de former conjointement CNN + LSTM. D'après ce que je vois, il n'est pas tout à fait simple de faire une telle formation, et je peux penser à quelques options ici :
- Tout d'abord, je pense que la solution la plus simple (ou la plus primitive) serait d'entraîner le CNN indépendamment pour apprendre les caractéristiques et ensuite d'entraîner le LSTM sur les caractéristiques du CNN sans mettre à jour la partie CNN, puisqu'il faudrait probablement extraire et enregistrer ces caractéristiques dans numpy et ensuite les alimenter au LSTM dans TF. Mais dans ce scénario, il faudrait probablement utiliser un ensemble de données étiquetées différemment pour le pré-entraînement du CNN, ce qui élimine l'avantage de l'entraînement de bout en bout, c'est-à-dire l'apprentissage des caractéristiques pour l'objectif final visé par le LSTM (outre le fait qu'il faut avoir ces étiquettes supplémentaires en premier lieu).
- La deuxième option consiste à concaténer toutes les tranches de temps dans le lot. (tenseur 4-d), de l'envoyer à CNN, puis d'une manière ou d'une autre de replier ces caractéristiques à 5-d Tensor à nouveau nécessaire pour la formation LSTM et puis appliquer une fonction de coût. Ma principale préoccupation est de savoir s'il est possible de faire une telle chose. En outre, la gestion des séquences de longueur variable devient un peu délicate. Par exemple, dans un scénario de prédiction, vous n'alimentez qu'une seule image à la fois. Ainsi, je serais vraiment heureux de voir quelques exemples si c'est la bonne façon de faire de la formation conjointe. En outre, cette solution ressemble plus à un hack, donc, s'il y a une meilleure façon de faire, ce serait formidable si quelqu'un pouvait la partager.
Merci d'avance !