protected override void TrainCore(Step downstream)
{
Debug.Assert(InputNeurons % downstream.Upstream.Count == 0);
int neuronsPerUpstream = InputNeurons / downstream.Upstream.Count;
int inputNeuron = 0;
foreach (Step upstream in downstream.Upstream)
{
Debug.Assert(upstream.Length == neuronsPerUpstream);
for (int i = 0; i < neuronsPerUpstream; i++)
{
PropogateError(downstream, upstream, i, inputNeuron++);
}
}
}