Programming Languages for Deep Learning
Machine Learning is done in Python, right? All leading ML frameworks, such as TensorFlow and Pytorch, offer their functionality primarily in Python. This state of things is not ideal, however. There are practical problems such as the late discovery of dimensionality errors. More importantly, Python obscures the essentials of Machine Learning: The indirect programming model with graphs is difficult to understand, the focus on numerical arrays prevents generalization, the underlying algorithms are complicated and restrictive. In a powerful functional language such as Haskell, Deep Learning looks completely different: The clunky graph model disappears, as does the restriction on numerical arrays. Instead, the essentials become visible – functions and their properties, optimization and differentiation. Moreover, this approach generates efficient code, even without elaborate C++-based graph machinerie.
This talk will give an overview of the approach and its way of thinking.