public double UpdateWeights() { double result = 0; var w = (double[]) _weights.Clone(); for (int i = 0; i < w.Length; i++) { w[i] += _deltas[i]; result += w[i]*w[i]; } NetworkCODEC.ArrayToNetwork(w, _network); return result/2.0d; }