Efficient Lifelong Learning in Deep Neural Networks: Optimizing Architecture, Training, and Data