Major advancements in Deep Learning in 2016
tryolabs.com
tryolabs.com
It may be different for other reasons but the main difference I note today is the number of opensource AI/ML platforms that are trivial to install, use, play, experiment at pretty much near the peak computing capacity of the hardware we use today. Exploring the vast search space of reality has never been easier and faster than today.
I'd recommend starting with Theano, Tensorflow, anything python. I do like Torch's raw speed on CUDA though.
Right, but that's exactly the thing that is changing. All the promises of "Big data" can now actually be realized. The trick is that for the data sources that were set up long ago, is cleaning them and making sure they are structured correctly.
It's a bit of exaggeration to say so, so don't take it literally but in many ways the NN work is where it was when Papert and Minsky wrote the "Perceptrons" book in 1969. But as Stalin is supposed to have said, "quantity has a quality all its own" (thus the immense quantity of cycles and data people have at their fingertips causes a discontinuous change in functionality). Don't over-read this; I don't mean to denigrate a lot of cool work done in the past few years. But conceptually you are correct on the computation side.
It's almost as if intelligent design isn't all that far fetched....lol
We haven't created true AI yet, but that's ok. We can make things better than before as we work on an even more advanced future.
I think it is actually both, yes we are going to hit a new plateau and yes this time it's different.
It is different not because we have found something profoundly new, but because we are able to quickly, easily and successfully experiment with huge (deep), new neural network architectures and learning methodologies.
This has become possible because a combination of factors that have come together towards the end of the 2000’s: e.g. much more computation power (GPGPUs), much more data available online, "simple" insigths such as progressive training of deep nets by stacking (auto encoder) layers, "Hey! Stochastic Gradient Descent works quite well actually!", Drop-out to improve generalisation capabilities, etc..
The great open source libraries such as TensorFlow, Theano and others make it even easier to do experiments. A framework like Keras even abstracts TensorFlow & Theano so you don’t have to worry what is used as deep learning framework.
So we shifted to a much higher gear when it comes to machine learning research, and this will be like this for a while. Computing capabilities keep expanding: GPGPUs become ever faster for Deep Learning, but also Intel has the Xeon Phi Knights Landing with 72 cores and upcoming variants with Deep Learning specific instructions (Knights Mill).
On the other hand we will definitely hit a plateau:
1) To make truly intelligent systems, we need to encode a lot of knowledge; knowledge that is common to us, but not at all to machines.
Bootstrapping a general AI with human-like intelligence, will prove very difficult. I think such AIs need to develop just like children acquire knowledge and cognitively develop. The type of problems we encounter to achieve this are of a whole other type, for one, just imagine how much time this will take before we get this right!
Imagine an AI that learns for a few years but fails to improve, can we reuse what it has learned in a new and better version of the AI? Will we capture all of its experiences to relearn a new version from scratch?
2) Apparently the human brain has a 100 billion neurons and trillions of connections, AlexNet (2012) has 650,000 neurons and 60 million parameters. We have grown the networks considerably since then, but compared to the complexity of the brain we have a (very, very) long way to go.
3) FLOPS/Watt : this is going to play an ever growing role in the success of AI. Our brain is incredibly efficient when it comes to energy use. We shouldn’t need a power plant for every robot we deliver to customers, right?
But I think one of the major successful things of the deep learning renaissance has been the ability to embed different 'worlds' into the same vector space (French and English, text and music, images and text, etc.). By co-locating these different worlds, we gain the ability to perform more accurate search, to create images from text like in the "Generative Adversarial Text to Image Synthesis" paper, and a wide variety of other multi-modal tasks. We can multi-embed almost anything, even things that are nonsensical. You want to make a music-to-font translation system? Or a sneaker-to-handwriting generator? Gather the training data, and the world is now your oyster. The impact of deep learning as differentiable task pipelines has only begun to scratch the surface of what is possible.
I would have liked to see something on RL^2 / "learning to reinforcement learn" which do seem like huge developments to me, but maybe are too new to see the impact of yet.
These fads and tunnel vision happen all the time. The most interesting stuff often happens when a talented person inside the bubble opens their mind to bring in something outside it.
There's a paragraph from the AlphoGo paper that I think speaks to this:
"We also tested against the strongest open-source Go program, Pachi, a sophisticated Monte-Carlo search program, ranked at 2 amateur dan on KGS, that executes 100,000 simulations per move. Using no search at all, the RL policy network won 85% of games against Pachi."
I do agree though that meta-learning is the future and very interesting, especially interested in the fact that DRL can now construct nets better than humans (and you can actually speed it up with an in-house technique I'm not allowed to share :( ).
IMO, wavenet and pixelcnn/rnn demonstrate the power of convolutions as a general purpose AI and broke the reign of RNNs/LSTMs for many tasks.
http://www.nytimes.com/1997/07/29/science/to-test-a-powerful...
In 1997 this was the general thinking about it: ''It may be a hundred years before a computer beats humans at Go -- maybe even longer,'' said Dr. Piet Hut, an astrophysicist at the Institute for Advanced Study in Princeton
I don't agree that it was clear it was as far off as that:
I believe that a world-champion-level Go machine can be built within 10 years, based on the same method of intensive analysis—brute force, basically—that Deep Blue employed for chess
-- Feng-Hsiung Hsu, 2007, http://spectrum.ieee.org/computing/software/cracking-go
To be fair, I agree that the big papers mostly come from google & MS, and I wish research was a real democracy.
Although it may sound like one, I honestly don't intend this as a strawman, but as a, "I pretty much ALWAYS expect research to occur in that way." I pessimistically think most very deep fields that require significant domain background are largely out of reach of "citizen scientists" nowadays.
But even by the standard of doing research, I'm a rather uneducated (by the standards of a PHD AI researcher) programmer who has given multiple talks on AI models I developed, and uses relatively deep functionality on a day to day basis that I couldn't hope to implement the end to end of by hand. Depending on where you draw the line of democratization, I think we're already well into the promised land, and I'm only seeing continued positive improvements in this respect as well.
Driving a car has been democratized. Actually going in and fixing/modifying a modern car is increasingly less accessible/democratized, though still possible with quite a bit of training. Car internals are getting more complex every generation.
Likewise, using Google search / getting things recommended to you is obviously widely accessible. It is unclear how accessible ML research / going into the guts of a model actually is.
While I don't doubt you've given talks about applying ML, I do have a little skepticism that the talks went any deeper than just application-related topics.
Let me correct that misconception; every aspect of the algorithm was custom, from tokenization through classification through smoothing and postprocessing. It was a more simple model and process, but it was not exclusively application related. Far simpler than many of the deeper models I consume as a black box, for sure, but I'd defend my competencies in that I'm not exclusively a plug-and-play data engineer :)
Let me also emphasize that I intentionally called out "driving" as opposed to "fixing". In fact I can't think of any car-fixing research going on just about anywhere, although I'm sure there is. My core point was that _using_ the tooling is key, and has been democratized in both driving and AI (the application layer aspect as you put it), the research point was merely an add-on that I've also seen a democratization of the knowledge needed to do even the basic level of novel algorithm development, even if I'm writing deep network papers or something of that ilk; I just find that to be the exception rather than the rule (per my "hardcore research is hard for the non-deeply-initiated once low hanging fruit has been pruned" comment)
Car construction/modification research is going on. It's what car companies are doing...
Driving is not a valid analogy because by that logic AI was democratized 10 years ago because everyone "uses" Google search.
I can build models to predict customer churn or ad CTR performance, extract summaries from large text documents, use unsupervised clustering to identify potential customer segments, determine if an image contains nudity, or if a 140 character tweet contains positive or negative language.
Open access has come a long way in a short period of time. It was only five years ago that Facebook introduced auto-tagging friends in photos (facial recognition), a feature that's now taken for granted but was once the realm of bad CSI TV shows and Las Vegas casinos.
Google, Facebook, Amazon, Microsoft, and IBM even started a consortium this September to share research [0].
"AI has been democratized" might be a bit overzealous, but I'm perfectly happy with the offerings on the table right now.
Credentials can be abused, sure, and they're a shorthand for a more complex set of concepts, but they are on the whole a very good thing.
However, not everyone has equal skills, experience, and insight. And as you'd expect, the people with the best of all three are highly credentialed and are being paid highly for their valuable efforts by companies which an afford to do so.
The days of an untrained tinkerer in a back shed contributing to the state of the art are long gone.
Looking at the first thing (GANs): developed by Ian Goodfellow, who is now at OpenAI. The first linked paper (https://arxiv.org/pdf/1605.05396v2.pdf) is out of University of Michigan and Max Planck Institute.
The second (https://phillipi.github.io/pix2pix/) is out of Berkeley, the third (https://arxiv.org/pdf/1609.04802v3.pdf) is out of Twitter (which I guess counts as a rich American tech company).
Google Brain/DeepMind/FAIR/MS Research do great work, but there is plenty of great work elsewhere too.
For example, just yesterday an implementation[1] of Fast Layer Normalization for TensorFlow was posted on Reddit[2] but someone, who says they don't really do C++ ("I am really new to CUDA and C++"). This can speed up training (sometimes) by 5-10X (!). That's democratization.
[1] https://github.com/MycChiu/fast-LayerNorm-TF
[2] https://www.reddit.com/r/MachineLearning/comments/5gt0wm/p_f...
The first author of that paper has a PhD from MIT and is a postdoc at Berkeley. Berkeley is also an academic ML powerhouse, and receives millions per year in industry funding just for ML. The first two authors are also former Microsoft Research interns.
Yes, well credentialed people continue to do great work, even when more people are working in the field.
The article makes it sound like "text understanding" was just around the corner, maybe next year...
I doubt that because understanding (arbitrary but meaningful) text requires real intelligence, and AI is far away from that.
And if it really happens one day, then our jobs are all gone. Because programs are text, and with proper training programs are way easier to understand than arbitrary prose - a much smaller subset of concepts contained in a clear structure, instead of almost infinite concepts or even new ones, to be structured however the author sees fit.
So prior to understanding language, AI should be able to understand programming language, because programming language is just a a small subset of language.
Of course, then there's that other school of thought that predicates the true grasp of meaning on the participation of consciousness. But that's another can of worms for another time and/or another forum.
There can be no AGI without hierarchical, "meta" NNs.
Until an agent takes some sort of initiative in directing its learning process, its behavior will remain scripted and passive, never amounting to more than a recognizer of patterns -- a rather low bar in the quest for autonomous intelligence, IMHO.
I like the idea of optimizing for efficiency too. Make the Neural nets scoring function a little more meta, how well did you score and how much energy (operations or neurons) were consumed.
Good for the folks at home with smaller systems and frees up resources for more...what else, neural networks.
It's not like they haven't tried. There are multiple research papers on it, AI contests held for it, even Deepmind tried and failed.
I think the best score I have seen is around 40,000. The best human players can get 800,000.
It seemed especially ironic that DeepMind is a media golden child and they received a ton of press for beating video games. At the time they didn't hide the fact that Ms. PacMan was not yet successful, but not one article mentioned it.