Table of Contents

Class WorldModelsOptions<T>

Namespace
AiDotNet.Models.Options
Assembly
AiDotNet.dll

Configuration options for World Models agents.

public class WorldModelsOptions<T> : ReinforcementLearningOptions<T>

Type Parameters

T

The 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

int

ControllerGenerations

public int ControllerGenerations { get; init; }

Property Value

int

ControllerLayers

public List<int> ControllerLayers { get; init; }

Property Value

List<int>

ControllerPopulationSize

public int ControllerPopulationSize { get; init; }

Property Value

int

LatentSize

public int LatentSize { get; init; }

Property Value

int

NumMixtures

public int NumMixtures { get; init; }

Property Value

int

ObservationChannels

public int ObservationChannels { get; init; }

Property Value

int

ObservationHeight

public int ObservationHeight { get; init; }

Property Value

int

ObservationWidth

public int ObservationWidth { get; init; }

Property Value

int

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

int

RNNHiddenSize

public int RNNHiddenSize { get; init; }

Property Value

int

RNNLayers

public int RNNLayers { get; init; }

Property Value

int

RolloutLength

public int RolloutLength { get; init; }

Property Value

int

Temperature

public double Temperature { get; init; }

Property Value

double

VAEBeta

public double VAEBeta { get; init; }

Property Value

double

VAEEncoderChannels

public List<int> VAEEncoderChannels { get; init; }

Property Value

List<int>

VAEEpochs

public int VAEEpochs { get; init; }

Property Value

int