// Use this for initialization
    void Start()
    {
        ann = new ANN(3, learningRate, learningRateDecay, weightsDecay, neuronSpawner);
        ann.AddLayer(5, "LeakyReLU");
        ann.AddLayer(10, "LeakyReLU");
        ann.AddLayer(10, "LeakyReLU");
        ann.AddLayer(5, "LeakyReLU");
        ann.AddLayer(2, "Linear");
        ann.loadBrain();

        /*
         * List<double> target = new List<double>();
         * target.Add(0.1f); target.Add(-0.1f);
         * List<double> input = new List<double>();
         * input.Add(0.0f); input.Add(0.5f); input.Add(0.0f);
         * ann.Train(input, target);
         * input.Clear();
         * input.Add(0.0f); input.Add(0.0f); input.Add(0.5f);
         * ann.Train(input, target);
         * input.Clear();
         * input.Add(0.0f); input.Add(0.5f); input.Add(0.5f);
         * ann.Train(input, target);
         *
         * target.Clear();
         * target.Add(-0.1f); target.Add(0.1f);
         * input.Clear();
         * input.Add(0.0f); input.Add(-0.5f); input.Add(0.0f);
         * ann.Train(input, target);
         * input.Clear();
         * input.Add(0.0f); input.Add(0.0f); input.Add(-0.5f);
         * ann.Train(input, target);
         * input.Clear();
         * input.Add(0.0f); input.Add(0.5f); input.Add(-0.5f);
         * ann.Train(input, target);
         */

        ballStartPos   = ball.transform.position;
        Time.timeScale = 5.0f;
    }
 // Use this for initialization
 void Start()
 {
     ann = new ANN(2, 0.1f, 1f, 0.0003f, neuronSpawner);
     ann.AddLayer(1, "Sigmoid");
 }
 // Use this for initialization
 void Start()
 {
     ann = new ANN(2, 0.2f, 0.999f, 0.0003f, neuronSpawner);
     ann.AddLayer(2, "LeakyReLU");
     ann.AddLayer(1, "Sigmoid");
 }
 // Use this for initialization
 void Start()
 {
     ann = new ANN(2, 0.8f, 0.999f, 0.0003f);
     ann.AddLayer(32, "LeakyReLU");
     ann.AddLayer(1, "Sigmoid");
 }