Normalizing / standardizing training and validation data
Yes, the test data might contain something important that you didn't learn from the test set. No, you're not allowed to use the test set for learning.

The purpose of the test set is to understand how the system would behave on new data not seen during training. Fitting your scaler in the test set would defeat that purpose.


  1) Generate the mean and standard deviation stats on the 80% of training data and then apply the same mean/standard deviation to standardize the validation data.


That's what you should do.


  Or 2) Standardize the training data, and then standardize the validation data, i.e mean and SD is derived from the 80% for the training data, and then mean/SD is derived separately on the 20% of validation data?


This is valid, if your production system makes it like that. So if you get data in batches and normalize the batches it might be fine as well.