func trainNetwork() {
   logs = ""
   training = true
   data = NetworkData()

   // Forward propagation
   let output = forwardPass()

   // Calculate error
   let error = pow((output - data.target), 2)
   logs += "Error: \(String(format: "%.6f", error))\n"

   // Back propagation
   backPropagation(output: output)

   // Optimization
   optimization(rate: 0.01)

   // Show output
   let last = String(format: "%.6f", forwardPass())
   logs += "Output: \(last)\n"
   training = false
}