following is a short interview with Succinctly
series author James
book Introduction to CNTK Succinctly
was published on Monday, April 9. You can download the book here.
What should people know about
Microsoft CNTK? Why is it important?
CNTK is an open source code
library from Microsoft that can be used to create deep neural networks and
other machine learning models. The idea is that, although it's possible to
write deep learning code from scratch, that approach is extremely difficult, so
using a library like CNTK is almost a requirement. There are dozens of deep
neural libraries but CNTK and Google TensorFlow are the two most sophisticated
and powerful. CNTK is written in C++ for performance reasons, but the most
common way to use CNTK is through its Python language API.
When did you first become
interested in deep learning?
My passion for deep learning began
when I was a college student and created a computer program (using the old
Pascal language) that predicted NFL professional football scores. I still fire
the system (I call it "Zoltar") up every year, and add a new twist or
two to experiment with research ideas such as node dropout and optimization algorithms.
Before college, I loved to play chess and poker—two activities that are closely
related to deep learning.
By writing Introduction to CNTK Succinctly, did you learn anything new
Heck yes, I learned quite a bit.
For example, some of the most challenging problems in machine learning are time
series problems where the goal is to predict the value of something at a point
in the future, such as a sales amount in six months. In Introduction to CNTK Succinctly I show readers how to tackle a time
series problem using an LSTM network ("long short-term memory") in a
novel way that uses the LSTM as an ordinary network rather than a sequential
How will Microsoft CNTK and deep
learning change over the next few years?
I think the biggest change over
the next two to four years will be that basic deep learning techniques, such as
deep classifiers and recurrent neural networks, will become standard parts of almost
all software developers' personal skill sets. For example, in the mid-1990s
most developers didn't know much about web languages such as HTML and
technologies. In the same way, developers will pick up deep learning skills.
Do you see deep learning as part
of a larger trend in software development?
Absolutely. Deep learning, and
closely related ideas such as machine learning, data science, and artificial
intelligence, are arguably the biggest trend in software development right now.
Every company I know is looking to infuse intelligence into some (or even all)
of their systems via deep learning. I know at Microsoft, where I work, deep
learning is on everybody's mind and all my colleagues are ramping up on these
new skills as best they can.
What other books or resources on
Microsoft CTNK or deep learning do you recommend?
Because CNTK is so new—version 2
was released in June of 2017, only nine months ago as I talk to you—there are
very few CNTK resources available. My go-to resource is the CNTK Python API
documentation at https://cntk.ai/pythondocs/cntk.html. That site also has some pretty good examples. For deep learning in
general, the gold standard is a set of online videos from Stanford University