7 #include "GradientDescentTrainer.h"
14 struct CuriosityModuleCInfo :
public ResourceCInfo
113 virtual void SetRandomWeights() = 0;
141 SMARTENGINE_EXPORT
void CuriosityModule_SetRandomWeights(ObjPtr
object);
142 SMARTENGINE_EXPORT
float CuriosityModule_GetLoss(ObjPtr
object);
143 SMARTENGINE_EXPORT
float CuriosityModule_GetReward(ObjPtr
object);
Data used to construct an ICuriosityModule instance
Definition: CuriosityModule.h:18
GradientDescentTrainingInfo trainingInfo
The parameters used to train the internal curiosity graph.
Definition: CuriosityModule.h:86
IContext * context
Context the constructed graph will belong to. Only graph nodes of the same context can be connected.
Definition: CuriosityModule.h:22
float minThresholdStdDev
Reward values less than this many standard deviations away from a value of 0.0 will be set to 0....
Definition: CuriosityModule.h:69
float maxIndividualReward
The maximum allowed reward for a single observation.
Definition: CuriosityModule.h:56
int observationFeatureDimension
Internally, the observation input is turned into a feature space. This value specifies the dimension ...
Definition: CuriosityModule.h:43
int sequenceLength
The sequence length to use when using an agent graph that requires stepping (such as the inclusion of...
Definition: CuriosityModule.h:81
float inverseForwardLossWeight
A sliding [0..1] value that specifies how much we weight training the internal forward network (Predi...
Definition: CuriosityModule.h:76
Smart pointer to an IObject. Automatic ref counting.
Definition: ObjectPtr.h:16
GradientDescentTrainer training info
Definition: GradientDescentTrainer.h:74
Definition: A2CTrainer.h:10
Base class for SmartEngine AI objects. It is not common to deal with this class directly.
Definition: Object.h:19
IGraph * graph
The agent graph for the constructed curiosity graph.
Definition: CuriosityModule.h:27
int actionNodeNamesCount
The size of the action node name array.
Definition: CuriosityModule.h:37
bool normalizeRewards
True if we should normalize the rewards. This will turn large and small rewards into a normal curve.
Definition: CuriosityModule.h:61
A curiosity module is a way of rewarding an agent for behavior not yet seen. Rewards are given based ...
Definition: CuriosityModule.h:108
virtual float GetReward()=0
Returns the sum rewards of the last batch of data processed. Useful for giving an idea of how much re...
A graph is a collection of buffers and nodes that together form a neural network. The graph is create...
Definition: Graph.h:61
SMARTENGINE_EXPORT ObjectPtr< ICuriosityModule > CreateCuriosityModule(const CuriosityModuleCInfo &cinfo)
Creates an instance of IA2CTrainer
virtual float GetLoss()=0
Returns the loss of the last batch processed. The loss represents how well the internal models are at...
const char ** actionNodeNames
The list of action output nodes in the agent graph that we will track.
Definition: CuriosityModule.h:32
Base class for objects that can be loaded from and saved to disk.
Definition: Resource.h:77
Every node in the AI graph must belong to the same context.
Definition: Context.h:40
float rewardMultiplier
The factor that is multiplied with the generated rewards.
Definition: CuriosityModule.h:48