private void BuildHiddenLayers(List<Int16> hiddenLayerNeurons)
        {
            for (int i = 0; i < hiddenLayerNeurons.Count; i++) {
                Neuron[] layer = new Neuron[hiddenLayerNeurons [i]];

                for (int j = 0; j < layer.Length; j++) {
                    layer [j] = new Neuron (i + 1, j, false);
                }
                layers.Add (layer);
            }
        }
        private void BuildInputLayer()
        {
            inputLayer = new Neuron[nInputs];

            for (int j = 0; j < inputLayer.Length; j++) {
                inputLayer [j] = new Neuron (0, j, false);
            }
            layers.Add (inputLayer);
        }
        private void BuildOutputLayer()
        {
            outputLayer = new Neuron[nOutputs];

            for (int j = 0; j < outputLayer.Length; j++) {
                outputLayer [j] = new Neuron (0, j, true);
            }

            outputLayer [0] = new Neuron (layers.Count, 0, true);

            layers.Add (outputLayer);
        }