Towards interpretable-by-design deep learning algorithms