He sounds like a sociopath. This is a person that doesn't feel. For example, say your pet had been killed by a car. You would be heart broken, cry, feel bad for your children and their pain, you would probably comfort them. Your husband would not feel anything. He might start getting frustrated after a few days of morning that you and your children were experiencing. If he was drinking he probably wouldn't be able to control his anger and frustration. Any emotion such as sadness, empathy, happiness etc. are learned behaviors. They observe how other people react in all certain situations and they mimic that emotion. Their are no magic pills for this disorder. Its with him the rest of his life. He certainly needs psycotherapy and a correct diagnosis from a reputable Psychiatrist. Do not use your family MD to dx. This could be a serious mental health issue and you need an expert.
Just remember your husband needs to want the help, and I think what you wrote was that he didn't even realize there was a problem. You may find that his abuse escalates if you even suggest an assessment by a professional psychiatrist. But their is help and support for you and your children. You can always look in your area for mental health outlets, your hospital may have a seperate Behavioral Health department. The only one you can truely help is you and of course your young children. You cant't make your husband do anything. What you can do is keep you and your children safe physically and emotionally. Thats your responsibilty as a mother.