Training is a loop, and the loop is simple.
The model guesses, you measure how wrong it was, it adjusts.
Then it does that again, thousands or millions of times.
At the start the guesses are close to random.
The adjustments are kept small on purpose, so nothing swings wildly.
One full pass over all your data is called an epoch.
Most training needs many epochs before it settles.
You watch two numbers while it runs, not one.
The error on data it is learning from, and the error on data it is not.
While both keep falling, training is going well.
When the second one starts rising, the model has begun memorising.
Training is finished when that second number stops improving, not when the loop ends.
Starting again with a different random seed gives a slightly different model.
That is normal, but a large difference between runs is a warning sign.
Nothing about training tells you the model is useful, only that it fit something.