Class WorldModelsOptions<T>
Configuration options for World Models agents.
public class WorldModelsOptions<T> : ReinforcementLearningOptions<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
WorldModelsOptions<T>
- Inherited Members
Remarks
World Models learns compact spatial and temporal representations using VAE and RNN. The agent learns entirely within the "dream" of its learned world model.
For Beginners: World Models is inspired by how humans learn: we build mental models of the world, then make decisions based on those models rather than raw sensory input.
Key components:
- VAE (V): Compresses visual observations into compact latent codes
- MDN-RNN (M): Learns temporal dynamics (what happens next)
- Controller (C): Simple linear/neural policy acting in latent space
- Learning in Dreams: Agent trains entirely in imagined rollouts
Think of it like: First, learn to compress images (VAE). Then, learn how compressed images change over time (RNN). Finally, learn to act based on compressed predictions (controller).
Famous for: Car racing from pixels, learning with limited real environment samples
Properties
ActionSize
public int ActionSize { get; init; }
Property Value
ControllerGenerations
public int ControllerGenerations { get; init; }
Property Value
ControllerLayers
public List<int> ControllerLayers { get; init; }
Property Value
ControllerPopulationSize
public int ControllerPopulationSize { get; init; }
Property Value
LatentSize
public int LatentSize { get; init; }
Property Value
NumMixtures
public int NumMixtures { get; init; }
Property Value
ObservationChannels
public int ObservationChannels { get; init; }
Property Value
ObservationHeight
public int ObservationHeight { get; init; }
Property Value
ObservationWidth
public int ObservationWidth { get; init; }
Property Value
Optimizer
The optimizer used for updating network parameters. If null, Adam optimizer will be used by default.
public IOptimizer<T, Vector<T>, Vector<T>>? Optimizer { get; init; }
Property Value
- IOptimizer<T, Vector<T>, Vector<T>>
RNNEpochs
public int RNNEpochs { get; init; }
Property Value
RNNHiddenSize
public int RNNHiddenSize { get; init; }
Property Value
RNNLayers
public int RNNLayers { get; init; }
Property Value
RolloutLength
public int RolloutLength { get; init; }
Property Value
Temperature
public double Temperature { get; init; }
Property Value
VAEBeta
public double VAEBeta { get; init; }
Property Value
VAEEncoderChannels
public List<int> VAEEncoderChannels { get; init; }
Property Value
VAEEpochs
public int VAEEpochs { get; init; }