network derivative for cpu execution
maintain only single heap activation buffer, using temp stack activations for activate()