Design Patterns for Deep Learning Architectures