Shibuya, Tokyo, Japan.
Shibuya, Tokyo, Japan. (source: Guwashi999 on Flickr).

As data scientists add deep learning to their arsenals, they need tools that integrate with existing platforms and frameworks. This is particularly important for those who work in large enterprises. In this episode of the Data Show, I spoke with Adam Gibson, co-founder and CTO of Skymind, and co-creator of Deeplearning4J (DL4J). Gibson has spent the last few years developing the DL4J library and community, while simultaneously building deep learning solutions and products for large enterprises.

Here are some highlights:

DL4J in 2016

I would say our biggest thing was our C++ rewrite. Over the course of 2014 and 2015, we had tried to use existing matrix packages and Java, but ended up writing our own (called ND4J). At first, we had a Java implementation of the internals. We were doing a little bit of CUDA C back then. Then eventually, when we ported everything to one C++ code base, it sped up the code base by a factor of 10. From there, we've only added on things like a new user interface, among other things.

I would like to also mention our ”Keras for production” tool. This allows Python users to talk to their data engineering team and say: 'I know you code in Java. I did this Python thing, but you can use this import tool and take my model to production. You don't have to worry about trying to get Python code in there.'

Our Apache Spark integration has been fairly stable for a while now. ... We have been using it in production, and it's been fine.

Adoption of machine learning and deep learning in large companies

Everything in the enterprise space is ROI driven. They don't know that the newest deep learning paper just came out from Google. They're not going to clone some random GitHub repository and try it out, and just try to put it in production. They don't do that. They want to understand ROI. They work a job, they have a goal, and they have a budget. They need to figure out what to do with that budget as it relates to their job at their company. Their company is usually a for-profit corporation trying to make money, or trying to increase margins for shareholders.

... Frankly, they don't care if it's linear regression, or random forest, either. ... Machine learning has barely penetrated the Fortune 2000. Despite all these tools existing, most of them don't have it in production because they don't see a point in adopting it. I think Intel said this right: as far as enterprise adoption is concerned, it's still fairly early for machine learning.

I think what we're starting to see in deep learning is enough of a bump in accuracy for some problems, especially anything related to behavior, that it's worth finally considering. That's kind of the update we're seeing.

Deep learning for time-series analysis and anomaly detection

I wrote the first Word2vec implementation for Java, and in early 2013, a lot of our growth was from Word2vec and text analysis. I'd say about mid-2014 we started doing a lot more anomaly detection. And we've been doing mostly time-series analysis now at this point. It turns out, a lot of people have times-series data. They still have a hard time doing feature engineering on that kind of thing. A lot of organizations are interested in applying deep learning to see if they can maybe just come up with a baseline feature vector, and then they don't have to worry about trying to come up with more advanced features. They can just use deep learning to learn patterns. That's been the bulk of our activity since then.

Related resources: