217 karma · joined March 25, 2012
plaurent at me.com or gmail
https://pakl.net
Wow... this is a bit off topic but can anyone expand on this side note and explain why?
(Every Objective-C implementation requires assembly code?)
Along with Cook recently saying humans should be involved in decision-making, there are some very interesting AI-related statements coming out of Apple these days.
Code example: https://github.com/peterpaul/co2/blob/master/examples/my-obj...
Same goes for translation systems.
Most current systems (by their very design) lack dynamical representation capability necessary for modeling interactions in/of the world. I hypothesize this is important for AI that actually gets what it's dealing with.
Like autonomous cars or security cameras or robotics.
Add non-standard background noise, and it also fails on hearing tasks.
I'm saying it's not reasonable to expect good generalization in deep convnets that learn mappings from static images to human labels. (Wrong problem.)
Agreed the failure mode may seem esoteric, but note that OpenAI is making a big deal about them.
A non-esoteric way to demonstrate the lack of generalization is to feed a deep conv network real world images (from outside the dataset). Grab a camera and upload your own photo. Roboticists who try to use deep conv nets as real world vision systems see these failures all the time.
Yes! You're on the right track! The number of degrees of freedom of images of pixels and textures is HUGE. There is not enough data to practically learn directly from those images. So the deep networks are starved for data -- even with the big datasets they are trained on. (It's only thanks to the way they are set up they do well when tested on very similar images, like sharp hi-res photos. But they fail to generalize to other kinds of images.)
So how can you reasonable reduce these degrees of freedom?
It turns out that the continuity of reality itself provides a powerful constraint that can reduce the degrees of freedom. See, when a ball rolls along, this physical event is not just a collection of textures to be memorized. It's an ordered sequence of textures that vary in a consistent and regular way because of many learnable physical constraints (like lighting).
So, it turns out you can reduce the dimensionality by making a particular kind of large recurrent neural net learn to predict the future in video. Our very preliminary testing shows it works shockingly well.
Instead, ask yourselves why these deep nets fail after being trained on huge datasets -- and why even more data doesn't seem to help.
The short answer is that mapping directly from static pixel images to human labels is the wrong problem to be solving.
Edit: fixed autocorrect typo
E.g., lesioning different parts of a microprocessor may reveal "clusters of function" much as such studies do in the brain.
E.g., @property (readonly) NSString* myName;
One way to do this is to link PVM'a prediction error output to an "instinct" that directs it towards lower confidence events that you mentioned. This could be just orienting the camera towards those events, or in a robot producing actions that led to those events again.
Note this is not necessarily reinforcement learning but it relates to some ideas there, like the idea of novelty being rewarding.
Another shortcoming of feedforward nets is they cannot change how they interpret local features based on integrated global aspects of a scene, like ambient lighting or backlighting.
As a result the network will fail to classify on new real world images.
If instead you use recurrence to learn features that take the dynamical and global effects into account, you'll have a better chance of success. One example of how we did his is here [1].
[1] http://blog.piekniewski.info/2016/11/04/predictive-vision-in...
My comment is about the approach of using supervised learning to map directly from images to category labels.
Learning to map discrete snapshots of objects to labels won't yield a system that can deal with e.g., the reality of lighting conditions that a car will experience.
Safety is a part of this, too.
Google has ~10 years of experience in self-driving cars. They also have acquired many robotics companies. Surely, they know this.
[edit: reorder]
Logic can sometimes be used to describe (to model) some minute aspect of thinking. But it is nearly always a massive simplification, discarding much of what happened during the thought process.
A couple of similar examples that might help:
- Thinking is not arithmetic (but arithmetic can be used to describe the result of some thoughts about stuff.)
- The solar system is not computing anything (but we can use the patterns as a though it were a program executing a timer/counter).
A related point is that thinking is not "executing an algorithm on a Turing machine".
Deep conv nets were not designed with prediction over time in mind. Here's one reason: Deep convolutional nets do not handle dynamical information from their lowest layers. By design, conv layers and pooling layers immediately begin discarding spatial information that could be used for building up predictions.
In contrast it is possible to start with recurrent/feedback networks at the very first layers of the network. These initial layers can begin building up predictions at the pixel, color, and lighting level (example: our recent preprint[1]).
My colleague, who as some of you know enjoys blogging, wrote a more thorough post in response to LeCun's recent CMU lecture on the same topic as these slides[2].
[1] https://arxiv.org/abs/1607.06854
[2] Blog: "A few comments on the Yann LeCun lecture at CMU, 11.2016" http://blog.piekniewski.info/2016/11/21/yann-lecun-cmu-11-20...
Along one axis, you could compare: supervised, semi-supervised, self-supervised and unsupervised learning. Along another axis, consider that there are versions of each method that take into account temporal/dynamic data, versus others that require randomly shuffled static data.
In the current problems of visual perception, I think the field would benefit greatly a shift to focus on multiscale interaction/dynamics rather than on (static) statistics as it is currently (for more on this, see my colleague's blog: [1]).
[1] Statistics and dynamics. (http://blog.piekniewski.info/2016/11/01/statistics-and-dynam...)
More generally, imagine AI that could learn the physics of the world. For example, if the ball is rolling away, the AI should be able to predict that the ball will look smaller on the next frame.
Going further, if the ball is about to roll under a shadow, the AI should predict that the ball will become a darker shade of green.
(After several years working in a robotics research company, these kinds of capabilities are exactly what we determined would be necessary for robot AI.)
Where might we look for deeper principles? One idea is to consider what brains do and how they might be doing it. (I'm not saying we need to go down the rabbit hole of biological detail -- on the contrary I'm suggesting we look at known or even hypothesized principles of brain operation and import them into AI.)
Two ideas we have used in our work: prediction (over time), recurrent feedback (most brain regions have more feedback than feedforward inputs)
Agreed, though, that the focus on games is a long-standing source of problems holding back AI. My colleague has referred to this as "ludic AI" in a recent blog post where he expands on your statement about the real challenge of intelligence. [2]
[1] Reactive vs Predictive AI (http://blog.piekniewski.info/2016/11/03/reactive-vs-predicti...)
[2] Learning Physics (http://blog.piekniewski.info/2016/11/30/learning-physics-is-...)