Cool article. I really like repetition that model complexity is not a pancea. Seems like the industrial AI/ML movement as a whole has gone down a road where practitioners will, by default, throw the most powerful model they know at a problem and see how it pans out. Works well on benchmarks(if you regularize/validate carefully) but isn't a very sustainable way to engineer a system.
Separately, I do find it curious that his list of "pretty standard machine-learning methods" included Logistic Regression, K-means and....deep neural nets? Sure they're white hot in terms of popularity and the experts have done astounding things, but unless I've missed some major improvements in their off-the-shelf usability they strike me as out of place in this list.
Deep convolutional neural nets are the staple method for companies doing computer vision at scale. Google, Facebook, Yahoo, and Baidu make extensive use of them. In 2014 they definitely deserve their place on the shortlist of "pretty standard machine-learning methods". They are the current state of the art for visual recognition in particular (see the results on ImageNet from the past few years).
They have also been commoditized by libraries such as Theano (Python) and Torch (Lua). Google and Facebook use their own tools based on Torch.
My own version of the shortlist would be:
Logistic regression, KNN, random forests, SVM, and deep convnets.
This is why I'm starting skymind[1] to address. Many of these companies are using cutting edge techniques without a focus on usability (since they know this stuff). The hope here is to create an off the shelf package people can just use with only knowledge of fairly conventional machine learning techniques while also avoiding the problems of having to program in java (which isn't realistic in data science) or even lua.
Many people could benefit from a neural nets ability to create good features for itself, but it's hard to use in a practical setting. That being said over the next few years I believe this can change.
I like the idea a lot. Just trying to understand this better: it seems like your company is entirely about selling consulting services, yet your stated goal is to "give people machine learning without them having to hire a data scientist". What's your path to that goal?
In this case, being that on staff data scientist for them.
Many companies only need a one off model to set themselves up for some sort of baseline data product. This can also be training for them on using machine learning for their problem solving.
The goal isn't necessarily to totally supplant data scientists (love press sensationalism), but to help enable companies to build easy to use models in their apps.
This can also map to saving data scientists time by not necessarily "skipping" the feature extraction part (which they can with deep learning and still do reasonably well) but allowing them to just use a fairly good machine learning model out of the box to use as a baseline.
The great thing about machine learning is the ability to mix different techniques. Google's voice detection is a great example of this. They use neural nets for feature extraction and hidden markov models for final translation of speech to text.
I think deep learning (if wrapped in the right apps or sdks) with the auto feature extraction alongside then specifying say: a "task". This task could be predicting a value, labeling things, or even compression of data[1] would allow companies to not focus on machine learning, but on straight problem solving.
The idea would be once they are familiar enough with how to feed data in to the system, and specifying a "task", they can do a lot of machine learning by themselves without having to think too much about the problem they are solving (what features work best given the data I have?)
In addition, I don't know why anyone would think Google is going to make all the AI, just because today's most notable, state-of-the-art AI systems are made by a few big companies with the resources to fund large teams of experts for years. Fifty years ago this article could have been called "Untapped opportunities in software" (or operating systems) and talked about IBM -- is there software IBM can't or won't write for us?
I think the key difference between Google and IBM is that Google has shown a clear interest in AI, and practice of it is pretty pervasive throughout the company. There's a world of difference between "The largest tech company that can fund a team of experts" and "The largest tech company that is funding multiple teams of experts to actively work on the problem."
I'd like to add this IS newer. That being said, I am going to be focusing on ease of use here.
Currently a lot of the deep learning frameworks out there aren't focused on a lot of practicality.
I am also hoping to add sdks for different languages trying to make this a fast general purposed deep learning core that allows for people to do neural nets in different languages while also benefiting from a fast runtime.
I'm going to be opening up a good contribution pipeline here soon and would love to answer questions where possible.
I'm looking for help on everything from documentation to feature requests.
That's fair pushback re how "standard" deep learning is. That said, those methods are rapidly establishing themselves as the go-to for applications in speech, vision, and text. At least for those outfits that can afford the substantial dev costs.
This is what I am hoping to launch with the launch of skymind[1]. I believe in the potential of deep learning, especially in the ways deep learning can learn better representations for feature extraction than some hand curated models.
Practicality has always been a problem with deep learning, and I think enabling access to this powerful technology will be a great enabler for many people in the long term.
I do find it curious that his list of "pretty standard machine-learning methods" included Logistic Regression, K-means and....deep neural nets?
The next sentence is much more curious to me: "the point is that they’re widely available in high-quality open source packages" because I have yet to find a proper well documented well maintained non-toy open source deep neural network implementation.
Separately, I do find it curious that his list of "pretty standard machine-learning methods" included Logistic Regression, K-means and....deep neural nets? Sure they're white hot in terms of popularity and the experts have done astounding things, but unless I've missed some major improvements in their off-the-shelf usability they strike me as out of place in this list.