func backPropagation(output: Double) {
   // Calculate Output layer
   data.gradW2 = 2 * (output - data.target) * data.a1
   data.gradB2 = 2 * (output - data.target) * 1

   // Calculate Hidden layer
   let sigmoidDerivative = data.a1 * (1 - data.a1)
   data.gradW1 = 2 * (output - data.target) * data.weight2 * sigmoidDerivative * data.input
   data.gradB1 = 2 * (output - data.target) * data.weight2 * sigmoidDerivative * 1
}