Question

lors de la formation d'un VAE, typiquement une échantillons de la distribution latente à l'aide du tour de reparamétrisation en utilisant une assez grande taille de minibatch (> 100) dans le décodeur / générateur moitié de la VAE. Je suppose que cette taille de minibatch permet au réseau de « lisser » l'erreur et nous permet d'éviter d'avoir à plusieurs reprises l'échantillon de l'espace latent.

Cependant, je suis intéressé par les scénarios en ligne où vous formez la VAE sur le streaming de données comme il arrive, de sorte que la taille du lot serait 1. Dans ce cas, il peut prendre la VAE longtemps à converger parce que l'erreur est très volatile.

Est-il possible d'éviter ce problème dans la pratique Je ne suis pas sûr ce qui se passera si je dois l'échantillon à plusieurs reprises de la distribution latente, puis prendre la moyenne de ces échantillons (ou quelque chose)? - à part les problèmes de performances évidentes. L'autre alternative est d'attendre suffisamment d'échantillons pour arriver que je peux les entraîner dans un lot plus important, mais même dans ce cas, je ne serais pas en mesure d'attendre plus de 100 échantillons pour arriver.

Était-ce utile?

La solution

Le fait que des morceaux de données arrivent un par un ne définit pas la taille de minibatch. Vous pouvez avoir un tampon de taille N (soit FIFO ou avec une autre politique d'expulsion qui convient aux propriétés statistiques nécessaires) et minibatches échantillon de taille M sur chaque fois que vous souhaitez mettre à jour le autoencoder.

En fonction de la politique d'expulsion de tampon et la stratégie d'échantillonnage, cela peut aussi aider à éviter autocorrelation local.

Remarque :. Cette réponse était à l'origine un commentaire à la question de l'OP

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