currentlymost of the job of deep-learning engineer consists of munging data with python scripts and then tuning the architecture and hyperparameters of deep network at length to get working model--or even to get state-of-the-art modelif the engineer is that ambitious needless to saythat isn' an optimal setup but ai can help unfortunatelythe data-munging part is tough to automatebecause it often requires domain knowledge as well as clearhigh-level understanding of what the engineer wants to achieve hyperparameter tuninghoweveris simple search procedureand in that case we know what the engineer wants to achieveit' defined by the loss function of the network being tuned it' already common practice to set up basic automl systems that take care of most model knob tuning even set up my ownyears agoto win kaggle competitions at the most basic levelsuch system would tune the number of layers in stacktheir orderand the number of units or filters in each layer this is commonly done with libraries such as hyperoptwhich we discussed in but we can also be far more ambitious and attempt to learn an appropriate architecture from scratchwith as few constraints as possiblefor instancevia reinforcement learning or genetic algorithms another important automl direction involves learning model architecture jointly with model weights because training new model from scratch every time we try slightly different architecture is tremendously inefficienta truly powerful automl system would evolve architectures at the same time the features of the model were being tuned via backpropagation on the training data such approaches are beginning to emerge as write these lines when this starts to happenthe jobs of machine-learning engineers won' disappear--ratherengineers will move up the value-creation chain they will begin to put much more effort into crafting complex loss functions that truly reflect business goals and understanding how their models impact the digital ecosystems in which they're deployed (for examplethe users who consume the model' predictions and generate the model' training data)--problems that only the largest companies can afford to consider at present lifelong learning and modular subroutine reuse if models become more complex and are built on top of richer algorithmic primitivesthen this increased complexity will require higher reuse between tasksrather than training new model from scratch every time we have new task or new dataset many datasets don' contain enough information for us to develop newcomplex model from scratchand it will be necessary to use information from previously encountered datasets (much as you don' learn english from scratch every time you open new book--that would be impossibletraining models from scratch on every new task is also inefficient due to the large overlap between the current tasks and previously encountered tasks licensed to