The ground-truth values don’t need to be normalized. It’s hard to tell if it is a normalization problem without seeing the data. You should maybe give it a try, since it is a simple operation.
There are a lot of stuff that might be happening. Here are some general tips:

Are you sure your labels are correct?
Did you try other learning rates? smaller? bigger?
Did you try other architectures? You might be suffering from under-fitting.
Did you try other losses?