Tongfei Chen

Tongfei Chen (@ctongfei)
Johns Hopkins University

I'm a PhD student majoring in Natural Language Processing (NLP) and the general field of Artificial Intelligence (AI). As a language aficionado, I love both natural languages (what we speak!) and programming languages (Scala is my favorite!). Saddened by the fact that nearly everyone is using Python in AI -- I aspire to create Scala stuff that solves general AI problems in a most typesafe, and most un-Pythonic way.

Abstract

Deep learning is predominantly done in Python, a type-unsafe language. Try changing this unfortunate fact by doing it in Scala instead! With expressive types, compile-time typechecking, and awesome DSLs, we present Nexus, a typesafe, expressive and succinct deep learning framework.

Details

The preferred language of current deep learning frameworks (TensorFlow, PyTorch, MXNet, DyNet, etc.) is Python, a type-unsafe language. To remedy this unfortunate fact, we present Nexus, a prototypical typesafe deep learning engine in Scala. Being extraordinarily expressive in types, Nexus offers unforseen typesafety and succinctness to deep learning developers by extensive use of typelevel computation through the popular library Shapeless. In this talk I'll introduce the design of a deep learning framework, and how Scala's type-level computation abilities could make it safer and more expressive. Ideas include generalized algebraic data types (GADTs), heterogeneous lists (HLists), program verification (compiling-as-proofs with Scala implicits), and introductory machine learning.