private void Calculate() { if (Inputs.Zeroed() && InputGateSynapses.Zeroed() && ForgetGateSynapses.Zeroed() && OutputGateSypanses.Zeroed()) { cellState = (inputGateValue * _value) + (forgetGateValue * cellState); outputGateValue = SigmoidActivation.Activate(outputGateValue + cellState); _value = TanHActivation.Activate(cellState) * outputGateValue; _lastValue = _value; } }
public override void Propagate(float value) { _value += value; Inputs.AccountSignal(); if (Inputs.CheckCountAndReset()) { _value = TanHActivation.Activate(_value); Calculate(); } }