Reduce memory cost of QoIAwareProjection
Basis, validation loss, and training loss is saved at each epoch. This takes up a lot of memory.
We can safely clear out those variables once the training loss reduces by an order of magnitude for n
consecutive epochs.