I keep thinking he’ll change
He won't. Ever.
He may tell you he will, but only because it's taken him 3 years to "train" you to the point where you will accept him being physically and emotionally abusive to you and just do what he wants.
If he loses you, he will have to "train" somebody else, that's why he'll pretend to have a big epiphany, promise to change, he will for a short time, then he will gradually return to being his real self.
All of the anger, all of the physical abuse, all of the emotional abuse, that it the real person you are with. His Mr. Nice Guy at the beginning was just an act. He is showing you exactly who he is right now. Take a step back. Look at him. Look at him properly. He is an abuser. He is a vile person.
Do not have children with this man. He will treat you badly in front of the children - no child should see that - and he will treat them badly as well.
You won't be the first woman he has treated in this way, he will have lied and told you his exes were crazy because he doesn't want you to hear how vile he was to them, just as he's being vile to you.
Get out, go, leave, NOW!