The EfficacySampler uses JSON configuration files to define the parameters for evolving neural networks to approximate specific functions. This configuration controls the evolution algorithm, asexual reproduction probabilities, recombination settings, population dynamics, and the specific evaluation scheme (e.g., the target function and sampling resolution).
{
"name": "Generative Function Regression - Beat sine wave",
"description": "Generative Function Regression: sin(x) + sin(x * 1.2) evaluated over interval [0, 16*PI]",
"isAcyclic": false,
"cyclesPerActivation": 1,
"activationFnName": "LeakyReLU",
"evolutionAlgorithm": {
"speciesCount": 20,
"elitismProportion": 0.5,
"selectionProportion": 0.5,
"offspringAsexualProportion": 0.5,
"offspringRecombinationProportion": 0.5,
"interspeciesMatingProportion": 0.01
},
"asexualReproduction": {
"connectionWeightMutationProbability": 0.94,
"addNodeMutationProbability": 0.01,
"addConnectionMutationProbability": 0.025,
"deleteConnectionMutationProbability": 0.025
},
"recombination": {
"secondaryParentGeneProbability": 0.1
},
"populationSize": 600,
"initialInterconnectionsProportion": 0.05,
"connectionWeightScale": 5.0,
"complexityRegulationStrategy": {
"strategyName": "relative",
"relativeComplexityCeiling": 10,
"minSimplifcationGenerations": 10
},
"degreeOfParallelism": 8,
"enableHardwareAcceleratedNeuralNets": false,
"enableHardwareAcceleratedActivationFunctions": false,
"customEvaluationSchemeConfig": {
"functionId": "BeatSinewave",
"sampleIntervalMin": 0,
"sampleIntervalMax": 50.265,
"sampleResolution": 160,
"gradientMseWeight": 0.9
}
}