Deep Learning
Deep learning involves the use of multilayer neural networks to solve a variety of problems in machine learning. We provide a more detailed tutorial in our companion roadmap, and link here to an influential paper summarizing important concepts. Multilayer neural networks are intrinsically complicated objects, acting as a substrate for a flow of information from inputs to outputs, consisting of nodes and directed edges wired together in a prescribed connection topology, with rules dictating how node outputs follow from node inputs and many parameters describing node response and edge weights connecting nodes. In addition, the process of training such a model — of estimating network parameters from input data — requires efficient numerical computation of parametric derivatives. Python is very well-suited to this combination of high-level object-oriented expressiveness for problem formulation and low-level numerical performance supported by compiled extension modules, which has been leveraged by a number of packages to support deep learning. We encourage interested readers to follow our roadmap on AI with Deep Learning.