Exemple #1
0
        private void UpdateConnectionWeight(ITraversableConnection <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> connection)
        {
            var weightChange         = _calculator.CalculateChange(connection.InputUnit.ActivationValue, connection.OutputUnit.UnitActivation.Error);
            var momentumWeightChange = connection.Properties.LastWeightChange * _momentum;

            _weightChangeApplier.ApplyWeightChange(connection.Properties, weightChange + momentumWeightChange);
            EventEmitter.Log(WeightChange, connection.Properties.Name, connection.Properties.Weight);
        }
Exemple #2
0
        public NetworkBuilder SetupUnorthodoxStructure()
        {
            _hasUnorthodox = true;
            _inputUnorthodoxUnitActivationTrainingFake = new UnitActivationTrainingFake(UnitType.InputUnit);
            InputUnorthodox = CreateUnit(_inputUnorthodoxUnitActivationTrainingFake);
            InputUnorthodox.UnitActivation.Properties.Name = "InputUnorthodox";

            InputUnorthodoxActivation = 0.5d;

            InputUnorthodoxToOutput1 = CreateConnection(InputUnorthodox, Output1);
            InputUnorthodoxToOutput1.Properties.Name   = "InputUnorthodoxToOutput1";
            InputUnorthodoxToOutput1.Properties.Weight = 0.432d;

            InputUnorthodoxToHidden1 = CreateConnection(InputUnorthodox, Hidden1);
            InputUnorthodoxToHidden1.Properties.Name   = "InputUnorthodoxToHidden1";
            InputUnorthodoxToHidden1.Properties.Weight = 0.21d;

            return(this);
        }
 /// <summary>
 /// Used to add an incoming connection, from a unit that sends input, to this unit
 /// </summary>
 /// <param name="connection">The incoming connection to be added</param>
 public void AddIncomingConnection(ITraversableConnection <TUnit, TConnection, TUnitActivation> connection)
 {
     _incomingConnections.Add(connection);
 }
 /// <summary>
 /// Used to add an outgoing connection, to a unit that received input, from this unit
 /// </summary>
 /// <param name="connection">The outgoing connection to be added</param>
 public void AddOutgoingConnection(ITraversableConnection <TUnit, TConnection, TUnitActivation> connection)
 {
     _outgoingConnections.Add(connection);
 }
Exemple #5
0
 private static void NameConnection(ITraversableConnection <TUnit, TConnection, TUnitActivation> connection)
 {
     connection.Properties.Name = connection.InputUnit.UnitActivation.Name + " --- " + connection.OutputUnit.UnitActivation.Name;
 }