Example #1
0
 public Kernel(int size, int depth, LearningRateAnnealerType type)
 {
     _learningRateAnnealers = new ILearningRateAnnealer[depth, size, size];
     _learningRateAnnealers.ForEach((i, j, k) => _learningRateAnnealers[i, j, k] = LearningRateAnnealerFactory.Produce(type));
     _biasLearningRateAnnealer = LearningRateAnnealerFactory.Produce(type);
     Weights  = new double[depth, size, size];
     Gradient = new double[depth, size, size];
 }
Example #2
0
        public Neuron(
            IActivator activator,
            IWeightInitializer weightInitializer,
            int numberOfConnections,
            LearningRateAnnealerType lrat)
        {
            Weights = new double[numberOfConnections];
            _learningRateAnnealers = new ILearningRateAnnealer[numberOfConnections];
            _learningRateAnnealers.ForEach((q, i) => _learningRateAnnealers[i] = LearningRateAnnealerFactory.Produce(lrat));
            _biasLearningRateAnnealer = LearningRateAnnealerFactory.Produce(lrat);

            double magnitude = 1 / Math.Sqrt(numberOfConnections);

            Weights.ForEach((q, i) => Weights[i] = weightInitializer.GenerateRandom(magnitude));
            _activator = activator;
        }