Enhancing Explainability of Neural Networks Through Architecture Constraints