SmartEngine  1.6.0
Public Attributes | List of all members
SmartEngine::MutationInfo Struct Reference

GeneticTrainer mutation info More...

#include <GeneticTrainer.h>

Public Attributes

MutationTarget target = MutationTarget::Auto
 Specifies what weights to mutate. More...
 
float nodesToMutate = -1.0f
 How many trainable nodes in the graph we should mutate More...
 
float targetsToMutate = 0.08f
 How many weights / neurons per node to mutate. More...
 
float standardDeviation = 1.0f
 A random value of this standard deviation will be added to each weight selected for mutation. More...
 
float minStandardDeviation = 1e-3f
 The minimum standard deviation we are allowed to achieve when AdaptiveStandardDeviation is set to true. More...
 
bool adaptiveStandardDeviation = true
 If set to true, the standard deviation will change with the learning rate. If the network isn't learning, the standard deviation will lower, allowing for fine grain tuning. If learning is happening quickly, the standard deviation will raise, allowing for larger jumps in progress. More...
 
int stepsUntilLowerStandardDeviation = 1
 The number of steps that the best network is in the top unchanged percent before we lower the mutation standard deviation. This is only used if AdaptiveStandardDeviation is set to true. More...
 
int stepsUntilRaiseStandardDeviation = 1
 The number of steps that the best network is not in the top unchanged percent before we raise the mutation standard deviation. This is only used if AdaptiveStandardDeviation is set to true. More...
 

Detailed Description

GeneticTrainer mutation info

Member Data Documentation

◆ adaptiveStandardDeviation

bool SmartEngine::MutationInfo::adaptiveStandardDeviation = true

If set to true, the standard deviation will change with the learning rate. If the network isn't learning, the standard deviation will lower, allowing for fine grain tuning. If learning is happening quickly, the standard deviation will raise, allowing for larger jumps in progress.

◆ minStandardDeviation

float SmartEngine::MutationInfo::minStandardDeviation = 1e-3f

The minimum standard deviation we are allowed to achieve when AdaptiveStandardDeviation is set to true.

◆ nodesToMutate

float SmartEngine::MutationInfo::nodesToMutate = -1.0f

How many trainable nodes in the graph we should mutate

A value [0..1] will mutate a percent of all nodes.

A value of 0.0 exactly means mutate all nodes.

An negative integer (-infinity, 0) will mutate that exact number of nodes.

◆ standardDeviation

float SmartEngine::MutationInfo::standardDeviation = 1.0f

A random value of this standard deviation will be added to each weight selected for mutation.

◆ stepsUntilLowerStandardDeviation

int SmartEngine::MutationInfo::stepsUntilLowerStandardDeviation = 1

The number of steps that the best network is in the top unchanged percent before we lower the mutation standard deviation. This is only used if AdaptiveStandardDeviation is set to true.

◆ stepsUntilRaiseStandardDeviation

int SmartEngine::MutationInfo::stepsUntilRaiseStandardDeviation = 1

The number of steps that the best network is not in the top unchanged percent before we raise the mutation standard deviation. This is only used if AdaptiveStandardDeviation is set to true.

◆ target

MutationTarget SmartEngine::MutationInfo::target = MutationTarget::Auto

Specifies what weights to mutate.

◆ targetsToMutate

float SmartEngine::MutationInfo::targetsToMutate = 0.08f

How many weights / neurons per node to mutate.

A value [0..1] will mutate a percent of all weights / neurons.

An negative integer (-infinity, 0) will mutate that exact number of weights / neurons. A negative integer can only be specified if targeting neurons instead of weights.