Do you get these bad results for the validation set from the beginning or is it improving a bit?
Could you post your Datasets with all pre-processing code?
How was the data split into training and validation? Was it a random split or was some logic involved?