agt:

If I train with just 1 example (say y = .25) and the initial output is .15, for some reason the output values continue to increase after multiple epochs even after it passes the target, e.g. [.15, .18, .21, .225, .24, .256, .275, .31].


This doesn’t seem right, as a single sample should perfectly overfit, while your increasing output points towards a potential bug in the code.
However, your output shows some convergence in the end and the loss is 3.289204641987453e-07, which seems to be good.
Could you post your model definition, so that we can have a look?