Class DreamerOptions<T>
Configuration options for Dreamer agents.
public class DreamerOptions<T> : ReinforcementLearningOptions<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
DreamerOptions<T>
- Inherited Members
Remarks
Dreamer learns a world model in latent space and uses it for planning. It combines representation learning, dynamics modeling, and policy learning.
For Beginners: Dreamer learns a "mental model" of how the environment works, then uses that model to imagine future scenarios and plan actions - like playing chess in your head.
Key components:
- World Model: Learns environment dynamics in compact latent space
- Representation Network: Encodes observations to latent states
- Transition Model: Predicts next latent state
- Reward Model: Predicts rewards
- Actor-Critic: Learns policy by imagining trajectories
Think of it like: Learning physics by observation, then using that knowledge to predict "what happens if I do X" without actually doing it.
Advantages: Sample efficient, works with image observations, enables planning
Properties
ActionSize
public int ActionSize { get; init; }
Property Value
BatchLength
public int BatchLength { get; init; }
Property Value
ContinueScale
public double ContinueScale { get; init; }
Property Value
DeterministicSize
public int DeterministicSize { get; init; }
Property Value
HiddenSize
public int HiddenSize { get; init; }
Property Value
ImaginationHorizon
public int ImaginationHorizon { get; init; }
Property Value
KLScale
public double KLScale { get; init; }
Property Value
LatentSize
public int LatentSize { get; init; }
Property Value
ObservationSize
public int ObservationSize { 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>>
RewardScale
public double RewardScale { get; init; }
Property Value
StochasticSize
public int StochasticSize { get; init; }