Class DecisionTransformerOptions<T>
Configuration options for Decision Transformer agents.
public class DecisionTransformerOptions<T> : ReinforcementLearningOptions<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
DecisionTransformerOptions<T>
- Inherited Members
Remarks
Decision Transformer treats RL as sequence modeling, using transformer architecture to model trajectories conditioned on desired returns.
For Beginners: Decision Transformer is a radically different approach to RL. Instead of learning "what action is best", it learns "what action was taken when the outcome was X". Then at test time, you tell it "I want outcome X" and it generates actions.
Key innovation:
- Sequence Modeling: Uses transformers (like GPT) instead of RL algorithms
- Return Conditioning: Specify desired return, get action sequence
- Offline-Friendly: Works excellently with fixed datasets
- No Value Functions: No Q-networks or critics needed
Think of it like: "Show me examples of successful chess games, and I'll learn to play moves that lead to success."
Famous for: Berkeley/Meta research showing transformers can replace RL algorithms
Properties
ActionSize
public int ActionSize { get; init; }
Property Value
BufferSize
public int BufferSize { get; init; }
Property Value
ContextLength
public int ContextLength { get; init; }
Property Value
DropoutRate
public double DropoutRate { get; init; }
Property Value
EmbeddingDim
public int EmbeddingDim { get; init; }
Property Value
NumHeads
public int NumHeads { get; init; }
Property Value
NumLayers
public int NumLayers { 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>>
StateSize
public int StateSize { get; init; }