(P) (d) avoir du mal à améliorer GNN + LSTM pour les prévisions de données 3D

 (P) (d) avoir du mal à améliorer GNN + LSTM pour les prévisions de données 3D


Salut tout le monde! Je travaille sur une tâche de prévision impliquant des données 3D avec une forme (t, h, w), où chaque trame correspond à un instantané quotidien. J’essaie de modéliser les dépendances spatiales et temporelles, mais je rencontre certains problèmes et j’aimerais des conseils pour améliorer les performances du modèle.

Installation

  • J’aplatit chacun (h, w) cadre en (n), où n est le nombre d’emplacements spatiaux valides.
  • L’ensemble de données complet devient une série chronologique (t, n).
  • J’ai divisé les données chronologiquement en ensembles Train, Val et Test. Donc, pas de mélange lors de la division de mes données

Construction de graphiques

  • Pour chaque séquence (par exemple, 7 jours), je construis une séquence de graphiques semi-dynamique (je ne sais pas comment l’appeler).
  • Caractéristiques du nœud: (valeur, h, w), où le "valeur" change quotidiennement.
  • Adges: statique à travers la séquence basée sur:
    • Seuil de distance euclidienne
    • Corrélation de Pearson calculée sur la séquence
  • Caractéristiques de bord: direction (angle au nord) et distance
  • Perte: Mae (illustré ci-dessous)

https://preview.redd.it/qf160okfu2se1.png?width=1979&format=png&auto=webp&s=1a447b88192feae1ca19b6be1befc666aea1a71eee

Modèle

  • Encodeur spatial: 4 couches GNN (mise à jour Edge → Aggrégation de bord → Mise à jour du nœud)
    • Des connexions de saut, de l’auto-attention récemment ajoutées et des unités cachées accrues
  • Encodeur temporel: LSTM à 2 couches
  • Tête de prédiction: couche à action

Comportement actuel

  • Initialement, les couches GNN apprenaient à peine. Les couches LSTM et FF ont dominé.
  • Après avoir ajouté des connexions de saut et de l’attention de l’auto, le comportement GNN s’est quelque peu amélioré, mais la perte globale est toujours élevée
  • La formation est lente, il est donc difficile d’itérer rapidement
  • Je prototypage actuellement en utilisant seulement 3 lots pour la formation / validation pour suivre le comportement plus facilement. J’ai environ 500 lots au total.

MATTENDES DE MISE À JOUR
Suivi de la norme L2 des changements de poids entre les couches:

https://preview.redd.it/x8smklgku2se1.png?width=1920&format=png&auto=webp&s=07153d7b052c89f0f256e2e13f06f2431df4ee24

J’essaie actuellement de comprendre comment sortir de ce plateau d’apprentissage. Le modèle commence à converger rapidement mais s’aplatit ensuite (autour de Mae ≈ 5), même avec un taux d’apprentissage et une désintégration programmés en place.

Serait-ce un cas de sur-complication de l’architecture? Le passage de MAE à une fonction de perte différente aiderait-il la stabilité de l’optimisation ou le flux de gradient?

De plus, si quelqu’un a des conseils sur de meilleures façons d’intégrer l’apprentissage spatial dès le début (par exemple, via la pré-formation ou la régularisation) ou des conseils généraux pour accélérer la convergence dans les pipelines GNN + LSTM, j’aimerais l’entendre!

soumis par / U / Dark spécifique
(lien) (Commentaires)



Source link

Related post