When walking around keep aware of your shoulders and as you rise to the trot try and keep that focus if you notice them hunching forward, come down to the walk and refocus yourself.
Buy a shoulders back from your tack store or Dover
Check the website of PS of Sweden. They have a riding aid which improves the position of your shoulders.
at home, walk around for 20 minutes every day with a broom or something like that behind your back
When schooling and doing basic things you can use a small dressage whip and put it through your arms, laying against your back. That'll remind you to have your shoulders back until it becomes a habit.
Pretend you're holding a pencil in between your shoulder blades and practice outside of riding otherwise it won't get any better
Stretches and practice are all great suggestions. It comes down to muscle memory.
Another thing to think about is perhaps doing "reverse flys" with weights at home or in a gym to strengthen/tighten your back muscles so they start to naturally change your posture and keep you that way.
I stretch my shoulders back each morning by holding onto the sides of a door way and pushing my body through it.
A good practice is to "sit on top of yourself" is sounds weird but basically pull your butt under you and lean back slightly
The crop works really well and you can do it off the horse as well! Just practice good posture whenever you can
Sometimes trainers put a crop behind the rider's back and under the upper arm to help keep shoulders up. Or you can wear this vest that basically stops your shoulders from moving forward. I forgot what it's called but if you want I'll google it:)