Question

J'essaie de former un RNN avec du texte de Wikipedia mais j'ai du mal à faire converger le RNN. J'ai essayé d'augmenter la taille du lot, mais cela ne semble pas aider. Toutes les données sont codées à chaud avant d'être utilisées et j'utilise l'optimiseur ADAM qui est implémenté comme celui-ci.

   for k in M.keys(): ##For k in weights
        M[k] = beta1 * M[k] + (1-beta1)*grad[k]
        R[k] = beta2 *R[k] + (1-beta2)*grad[k]**2
        m_k = M[k] / (1-beta1**n)
        r_k = R[k] / (1-beta2**n)
        model[k] = model[k] - alpha * m_k / np.sqrt(r_k + 1e-8)

BETA1 est réglé sur 0,9, Beta2 à 0,999 et Alpha est réglé sur 0,001. Lorsque je l'entraîne pour 50 000, j'obtiens une très forte fluctuation du coût et cela ne semble jamais diminuer considérablement (seulement parfois en raison des fluctuations (et j'attrape les poids avec le coût le plus bas)). Après avoir esquissé le coût des itérations, je reçois un graphique comme celui-ci:enter image description here

Il semble augmenter en moyenne ne semble que la diminution des grandes fluctuations. Que puis-je changer pour avoir un meilleur succès et le faire converger?

Merci pour toute aide

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top