Hacker News new | ask | show | jobs
by sthlm 3497 days ago
This is the best "visualization" / "explanation" of the possibilities and limits of AI that I've seen.

I can show this to someone and say:

1. The software can recognize a feather, as long as it looks similar to what it thinks a feather looks like.

2. The software can't recognize a feather if it's never seen a feather like that. It's not a sentient being.

This is good, because most examples focus on point #1 and -- if enough marketing is involved -- don't go enough into point #2.

People read news articles like "X can recognize cats in a picture with Y certainty!" and are quick to assume that this "AI" can make sense of a picture and understand it, when all it does is apply certain methods for a certain use case.

This does a much better job by letting people write (or draw) their own test cases and figure out the limits intuitively.

8 comments

> 1. The software can recognize a feather, as long as it looks similar to what it thinks a feather looks like.

I was prompted to draw a hurricane. I drew something that looked like the typical hurricane doodle used on news reports.

The software didn't recognize it.

When the game was over and I was able to look at all of the doodles that were used to train the software to recognize a hurricane ... the majority of them instead looked like tornadoes!

So maybe we should more precisely say:

1. The software can recognize a feather, as long as it looks similar to what the humans who contributed its training set think a feather looks like.

My hurricane was just terrible. I ended up with a scribbled mess because I got that in the first set or two, didn't really have a plan and drew components of a hurricane as I remembered them.

I'm also ashamed to admit I drew some less than ideal stuff due to forgetting details on things and then panicking because of the timer. Like the spots on a panda's face for some odd reason.

Hopefuly my drawings were treated as outliers.

Apparently most players of this game didn't see the "carrier" part in "aircraft carrier" and just drew airplanes. Probably because of the time constraint.
Or maybe they mistook it for "carrier aircraft", as in "cargo plane".
Which is actually a pretty big win. After all you could also say this:

1. The person can recognize a feather as long as it looks similar to what the other people who contributed to it's learning think a feather looks like.

I was asked to draw: brush I drew a hair brush. It was trained to see brush as a bunch of circles or trees.
Are you sure that wasn't "bush"?
...or something for sweeping the floor
When the game was over and I was able to look at all of the doodles that were used to train the software to recognize a hurricane ... the majority of them instead looked like tornadoes!

Idiocracy was prophetic -- except it missed the aspect that "Idiocracy" would first manifest on the Internet.

The premise of Idiocracy is actually false; IQs have been rising over time.
Citation needed. IQs are defined such that the average IQ is always 100. https://en.wikipedia.org/wiki/Intelligence_quotient
So the internet is really just revealing more of the idiocy that's always been there.
You are really stretching to find a way to feel superior to people.
Alas, if I had to stretch. Basically, there's rampant prejudice and anti-intellectualism from all points on the political spectrum. The response to the enabling of trolling by anonymity is an upsurge of authoritarianism by (of all people) many on the Left. The Right? Not much better.

If I had a dollar for every time someone pattern matched me or a phrase I wrote, then jumped to conclusions about my ideas of internal emotional state then even insisted I am lying when I tried to disabuse them of the notion -- I'd have a whole lot of dollars. (Hint, if you start sniffing around trying to justify that they're right, I haven't left you sufficient evidence and you're probably also doing that.)

Apolitical people? Mostly just as bad.

It exhibits gender disparities very nicely too.

https://twitter.com/OdaRygh/status/798872670221856768

Yes, an absolutely classic example of implicit biases in training sets.

On the one hand, the network should eventually learn to classify high heels as shoes.

On the other, when these classification system actually get used, they're always at some arbitrary point in their training, so you can't just wait for "all the biases to go away."

Erm... high heels are not the only kind of shoes women wear. They're not even the most common kind of shoes women wear. Pointing to this as a 'gender disparity experience' is showing your own bias. Yes, high heels are shoes and it should learn to recognise them, but most women don't actually wear them most of the time.
Makes sense to me. The training data set focuses on generic, gender-neutral shoe examples instead of highly gender-specific ones.
There is another take on this issue. That it's not that the shoes are gender-neutral, it's that "male" is neutral. This essay explores that take: http://www.tarshi.net/inplainspeak/marked-women-unmarked-men...
Sit in a shopping centre, movie theater lobby, or even just out on the street. Watch the shoes of the women as they stroll by[1], and you'll find very few of the ridiculously high heels that are pictured in that tweet. Claiming that tweet's shoe as the typical women's shoe is laughably erroneously stereotyped.

[1] Not just the young fashionistas that specifically dress up, but every woman.

I don't think that's true for shoes. The male equivalent to high heels would be dress shoes, and women wearing male dress shoes would be weird and unusual. The examples shown appear to be casual or athletic shoes, which are indeed neutral.
You might be able to explain it, but it still shows that it's wrong. (Though I disagree that these shoes are gender neutral; only ~5% of the shoes in my household look like "gender-neutral" shoes, and they're all mine)
There is their problem, they had Al Bundy train the AI. How else do you get from shoe to whale in only three pictures, with one involving food.
Can we please keep gender identities discussion from Hacker News?
The comment was pointing out a specific example about how an AI miscategorized something because of a small sample-size in data, something that has been shown to be often the result of unintended biases in the training set, and you say that we're just talking about "gender identities"??

This is the kind of thing AI researchers write papers on (source: AI MSc), not some SJW topic, yet you saw the word "gender" and assumed it didn't belong?

Humans usually can't do your 2. either. In some cases, people may be able to recognize things based on descriptions alone, but those are typically simple combinations of known entities.

For recognizing relatively simple entities, are there advantages humans still have over neural nets (assuming the same scope of knowledge)?

Definitely my 3 y/o can recognize a cat in an abstract drawing of a cat that is unlike any cat he has seen before.
Humans are great at learning abstraction from concrete examples. That's also what deep learning does and the big reason for its success as well. I'd guess that some neural nets architecture can do the same with your cat example (perhaps with adaptation). Can any expert weigh in?

An idea: We can also run several cat photos through image processing algorithms to filter out details. The output would be outlines similar to the drawings in the Google Quickdraw app. We put those through the app to generalize (perhaps the app needs some training with a few categories of objects, not necessarily animals). Voila! Software can now recognize drawings based on photo examples.

> Humans are great at learning abstraction

Of course, there's severe bias here, in the sense that what we consider abstraction is by definition "human shaped" abstraction

If multiple humans try to "abstract" a cat, the overlap in underlying processes will be pretty big, making it more likely that we can recognise each other's abstractions.

Of course, there's severe bias here, in the sense that what we consider abstraction is by definition "human shaped" abstraction

I can read the words here, but I don't understand the meaning.

We abstract to find a common set of features in things that are supposed to be the same but that are not present in things that are not supposed to be the same. Grouping these features then produces higher level abstractions, and so on.

Where would the bias be?

Even if the features differ, the process is the same.

And even the features are often the same. If you reverse a DCNN to see what it uses to classify things as "cats", expect to see whiskers and fur.

Think of Bugs Bunny. He looks nothing like a real rabbit, yet humans recognise him as a rabbit (presumably) because we look at the characteristics that separate him from a normal human, then compare those characteristics with our list of things with those characteristics (long ears, big feat, eats carrots) and get a rabbit. If he'd been made to look like a rabbit-octopus hybrid instead of rabbit-human, we may have struggled more.

Computers don't look at things from a human perspective; they're still good at abstraction, just different to human abstraction. i.e. there's a human bias in there.

That's OK though; the objective is to make a computer that sees things the way people do; so it's a bias we want.

However the issue isn't that the computer's not a sentient being and therefore can't abstract things it's never seen before; only that the algorithm hasn't been written to sufficiently take account of human bias.

You implicitly (and I think without realising) presume objectivity + complete knowledge in the observer.

Human perception is heavily biased towards features that had evolutionary advantages, and limited by whatever technical flaws our eyes/brains/etc have. That's a selection bias in our perception of information, in our processing of said information, and therefore in the abstractions that result from it.

Cats are probably a particularly unfortunate example to use in comparing abstraction forming cabilities, as given our history it's highly likely that we come supplied with some dedicated cat recognition circuitry.
Humans have a bit of an advantage on two levels here. First, we know what a cat looks like. Not a video or a picture or a drawing, but an actual cat. That gives us a solid frame of reference. "That is definitely a cat. That drawing looks kind of like what I know a cat to look like, so it's a drawing of a cat." The closest a computer can get is "This drawing has quite a bit in common with these other drawings, and apparently these other drawings are cats. So this is probably a cat too."

Second, when we look at a picture of a cat, we're looking at a human's interpretation of what a cat looks like. If we asked a computer to draw a cat, it might look nothing like a cat to us, but another computer could look at it and go "Oh sure, that's a cat." I seem to recall Google did a thing with this a while ago, where they effectively created a feedback loop in a neural net - feeding its own drawing back into itself. As I recall, the result looked like the computer had done way too much LSD.

Basically: you are right.
Can you sketch an example of such a drawing? I'm having a hard time imagining something that looks enough like a cat to be recognized as such but unlike any cat a three-year-old has ever seen before.
I'd say that misses both my criteria: it looks just like lots of cat drawings any three-year-old has been exposed to, and it also seems like an image Google would have no trouble recognizing as a cat.
Again, I think first-world children over the age of 3 have been exposed to plenty of drawings like that, and also, Google can recognize it as a cat anyway -- in fact, it even knows which cat; do an Image Search and you'll see, "Best guess for this image: garfield meme"
Your criteria were "looks enough like a cat to be recognized as one, but unlike any cat that a 3-year-old would have seen before".

Google doesn't recognize it as a feline, it recognizes it as Garfield.

I doubt that webpage is as smart as a 3-year-old.
Do you really think any reasonable person is going to mistake this couch for a cat?

https://rocknrollnerd.github.io/assets/article_images/2015-0...

The software does:

https://rocknrollnerd.github.io/ml/2015/05/27/leopard-sofa.h...

Sure, you can fool a human. But there are things AI is missing that would be embarrassing if a human made the same mistake. It's hard to say, based on anecdotes like this, how big that gap is, but it's there.

>Humans usually can't do your 2.

I think we do. We see a building we've never seen before and we know it's a building because it has certain features that we use to classify it as a building. The examples aren't scarce.

I also think a good indicator of us doing it is the use of "y" and "ish" and "sort".

As for sthlm's point 2:

>2. The software can't recognize a feather if it's never seen a feather like that. It's not a sentient being.

This is Asimo in 2009:

https://youtu.be/6rqO5eiP7_k?t=5m24s

When it comes to abstraction from a simple rendering – no shading, no sense of depth, no discernible dimensions – it's hard to extrapolate features.

I feel there is an immense difference between recognizing simple sketches and deriving what an object is based on extended characteristics.

The video you linked furthers that by showing that ASIMO was using three-dimensional observation to calculate certain features and ascertain what that object was.

The abstract drawings benefit a lot from the limited selection and the huge implicit context.

If you'd give these doodles to people that are not Western males it'll do a lot worse. Someone already pointed out it doesn't recognize woman's shoes.

Humans frequently misrecognise sketches too.
If you've ever played pictionary you'll see the level of abstraction we can manage is remarkable too.
Familiarity with teammates may factor into that as well, partially from having unspoken frames of reference to infer from.

It is unmistakable how much the difficulty level ramps up when you're paired with those of an unlike-nature to you. Sometimes that level of abstraction is taken way outside of generic context clues.

It is but we've also had decades of practice. What scares the most about AI isn't how advanced computers can become but how slow we are to learn in comparison.
You're just wrong on this one. Humans can recognise a lot of things that aren't in the form that they're used to. It's seen a lot of research in psychology.

As for advantages over neural nets, one of the primary ones is that humans can recognise things from unusual angles much more easily. When I tried QuickDraw and doodled things from non-stereotyped angles (like a three-quarter view of a car rather than the usual 2D side view), it had no idea.

The dalmation optical illusion[1] is another example of human ability to pick out patterns and assign them to belong to certain objects. Neural nets have different abilities, and are sometimes better at picking out different sorts of patterns than humans.

[1] http://cdn.theatlantic.com/assets/media/img/posts/2014/05/Pe...

> 2. The software can't recognize a feather if it's never seen a feather like that. It's not a sentient being.

Why did this word "sentient" sneak in to your comment? I don't see what "sentience" has to do with what you just described; it's just a more sophisticated form of pattern matching.

"See, it can't do this! It's not self-aware!" is almost never the correct answer, because whatever thing it is you want to do will probably be solved in the future with more of the same techniques. Just about the only thing "sentience" or self-awareness is good for is an entity's private experience, which you wouldn't ever be able to see anyway.

I think sthlm's thinking that people as in:

>People read news articles like "X can recognize cats...

may assume sentience when it's not there

I don't think "sentience" is a sufficiently precise term to enable us to judge whether it's there or not.
"Doesn't look like anything to me"
Highly relevant to your two-point example:

http://rocknrollnerd.github.io/ml/2015/05/27/leopard-sofa.ht...

>The software can't recognize a feather if it's never seen a feather like that. It's not a sentient being

Like humans brains?

>are quick to assume that this "AI" can make sense of a picture and understand it, when all it does is apply certain methods for a certain use case.

Like human brains?

No, not at all. If you only showed it a bunch of pickup trucks in various colors, it would be really good at identifying pickup trucks. But if you then showed it a Prius, or a motorcycle, it would have no idea that it was looking at a vehicle. A human brain wouldn't have much trouble with that, though, because it associates more information with the vehicle idea than just statistical similarity to previously seen shapes, and can extrapolate without having direct previous experience with the object being seen.
If you showed a small child 10 pictures of pickup trucks and told them "These are cars" then showed them a motorcycle and said "What is this?" what do you expect to happen?

Remember, this child has never been on the road, never driven a car, never had the mechanics of locomotion taught to them. All they know is that objects that are longer than they are tall with a flat bed on one side and wheels on the bottom are classified as cars.

Once the child (or machine) has more information to associate with the 'vehicle idea' it can call on this information when it sees shapes that are also associated with the 'vehicle idea' in order to extrapolate without having direct previous experience with that object being seen.

Trucks are generally not classified as cars, nor are motorcycles. These are all types of vehicles, per my original terminology. I actually did a similar experiment with my friend's daughter (3 years old) and she was able to figure it out just fine. Humans are generally able to extrapolate that things with wheels move, and if they have a seat, it's meant for someone to sit on, while it's moving. Hence a vehicle. It's this level of conceptual understanding and "how would this thing work" thinking that ML lacks in comparison to human brains. People use more than just sight recognition to identify new objects, while current ML models do not.
Maybe some current implementations lack the ability to make these connections but it is in now way even a small stretch to conceive a machine that understands "Wheels are for moving" "Seats are for passengers" "Things that have both wheels and seats are probably vehicles".

So when that machine learning algorithm recognizes wheels in a picture and recognizes seats in the same picture, it searches for results that include both wheels and seats.

The human brain does not inject any magic in to this process.

It sort of does, though. Let's say we train an ML implementation so that it can recognize things with wheels and seats as vehicles. Now we show it a hovercraft. What will it do? How about a helicopter? All the human brain needs is a single example of people getting in or on something, and it transporting them from point A to point B in order to infer that the thing is a vehicle of some sort. This is because we are able to infer purpose of an object even if we have never seen it before. ML is just statistics - it implies no meaning or comprehension whatsoever beyond "thing A is statistically most like thing B I have seen before". There's an important difference between recognition and understanding, and current ML techniques are solidly in the former camp.
The often forgotten difference between ML and humans is that we learn from stereoscopic video streams, not from a bunch of static pictures. There's a lot more information in a few seconds of watching cars on the road than in a thousand pictures of different cars. We get to see the 3D picture (we have dedicated circuits for that), hear 3D audio and perceive temporal data. We correlate all that and many more data sources to form categoties.

ML trained on bunch of static pictures is like humans dealing with those abstract geometrical riddles that are used on IQ tests. They're difficult for us, because they're not related to our normal, everyday experience.

Neural networks can learn new categories of things like that with about 5 examples. They are already outperforming humans on some tests. https://news.ycombinator.com/item?id=11737640
Not exactly: if you've never seen a particular kind of feather before, you may not recognize it at first sight, but most certainly you'll sit, examine it and eventually acknowledge it's a feather -- the neural networks we're using aren't prepared to do this kind of analysis yet.
Drawing your triangle upside down is enough to hit the limits!
#2 applies to humans as well. For example if I show a human something that looks and has all the properties of a car, the human will think I am showing him a car even if the thing I am showing him is actually called a feather.

Any neural net, artificial or not, can only recognize things as long as it looks similar to what it thinks the thing should look like.