NM512 / dreamerv3-torch

Implementation of Dreamer v3 in pytorch.
MIT License
350 stars 76 forks source link

Default hyper Parameters #52

Open JonasGrutter opened 2 months ago

JonasGrutter commented 2 months ago

Hey, I found out that the default shape of the latent space shape for DMC Proprio is 1024 which is way bigger the the shape of the observations. Can you explain me why ?

NM512 commented 2 months ago

Thank you for bringing this up. The network size for each task is detailed in the paper, particularly in Appendices A and B.

Originally, I intended for the hidden unit size for the size S, including the encoder and decoder, to be 512. However, upon reviewing the original implementation, it appears that a configuration of 1024 x 5 layers was used for the encoder and decoder(not latent space), which I followed from this specific commit.

JonasGrutter commented 2 months ago

Thank you for your answer! I am still wondering why (not on your side but in the paper), when we don't train on images, we are encoding an observation that is low dimensional into a higher dimensional space. Do you think there would be any disadvantage in dropping the auto-encoder in that case ? I am doing some experiments right now and will come back to you when I ll have results

NM512 commented 2 months ago

It seems like if we're solely focusing on state-based model-free RL, a large encoder might not be necessary. I guess in the model-based RL the dynamic function being just a few layers of NN would indeed require a larger size MLP encoder for disentangled features, especially for complex nonlinear dynamics models(depending on the task). When I tested with DMC tasks, there was no big difference between 512x2 vs 1024x5 settings. I look forward the results!