Hacker News new | ask | show | jobs
by antipaul 2139 days ago
Perhaps. It seems it’s still an open question whether AI is just about memorizing your data, or can it actually make reliable decisions during previously unseen scenarios.

Have we already observed, or collected, all that is possible in the “driving” world?

3 comments

> It seems it’s still an open question whether AI is just about memorizing your data,

No - it's not at all, and this is a well understood problem in building machine learning systems. There are some cases where this occurs but usually this is just overfitting.

Good AI systems generalize well on unseen data.

To the downvoters, I give you AlphaZero.

Not only is every game of Go it plays and wins brand new (so no memorisation), the same system learnt to play Chess without knowing the rules, and plays in a "style .. unlike any traditional chess engine"

https://deepmind.com/blog/article/alphazero-shedding-new-lig...

I've yet to see an "AI" that is not just memorizing data.
Just memorising data is simple, use a file on disk. The hard part is recognising data when it is slightly different than what the model 'memorised', deciding which of the millions of things it learned best fits the answer we desire.
Then you haven't really looked.

Most credible machine learning systems work well on unseen data, which by definition isn't memorizing.

> Most credible machine learning systems work well on unseen data, which by definition isn't memorizing.

Sorry, but no. ML models don't generalise well outside the training data, but they can interpolate inside. This question becomes very interesting in the case of GPT-3 which has had a huge corpus of text to train on, so it's probably seen 'everything'. It's still memorising for GPT-3 but also learning to manipulate data, like software algorithms.

ML models don't generalise well outside the training data, but they can interpolate inside.

I'm unsure if you just misstated this or don't know, but this is wrong.

ML models don't generalise well on data outside the distribution of their training data. But that's an entirely different thing, and doesn't mean at all they are memorising data.

Imagine something training on the US unemployment rate until 2020 being hit with the COVID rate. It wouldn't know what to do, but that doesn't mean it wouldn't work fine on a rate of 5.342% even if it had never seen that rate before.

This is a simplified example, but applies to everything.

GPT-3 generation of text does pull from memorised training data. There's a lot of stuff going on there, and amongst other things there has never really been a system that does textual generation well. It's also hugely overparameterised, so lots of potential for overfitting. I don't think it's a good example of a "good" AI system - it's very interesting, full of potential, but there are lots of issues.

Can you link an example you find to generalize particularly well?
Sure. Apple's Face Unlock.

It generalises to almost every face, and the ones it doesn't its failure mode is safe.

Or something like word embeddings. Works incredibly well, and most "failure" modes are around things like bias, where the behavior reflects the real world.

Or something like AlphaZero. Not only is every new game of Go it plays brand new, it learnt to play Chess without knowing the rules. That just isn't memorization.

https://deepmind.com/blog/article/alphazero-shedding-new-lig...

Word embeddings suck. Take a look at the graphs under " 2. Linear substructures" in

https://nlp.stanford.edu/projects/glove/

and note that they all involve looking at a small number of points. It is easy to reproduce plots like that but if you try to increase the number of points the result breaks down completely.

It is a curve fitting problem: for a small enough set of points compared to the number of dimensions, you can find a matrix that projects a set of random points to an exactly specified set of points in the plane. If you relax the problem to something like "put colors on the left side, put smells on the right side" you will get better than random performance from that kind of model, but not that much better than random.

Word embeddings are a strategy that approaches an asymptote. Systems that are destined to low performance will perform better if you use a word embedding, but they throw away information up front that makes high performance impossible.

This is true, but I don't think you are using word embedding like most people use them.

The linear relationship between things like king/queen etc is a cute demo but not really useful or used in practice.

The real usefulness of word embeddings is that similar concepts are close to each other so they make a great representation for other models (vs something like TF-IDF). These days they have been mostly surpassed in terms of state of the art by full language models, but the point is that simple techniques like average embedding of words in sentences generalised really well to unseen data.

And if you add in subword embeddings they generalise to unseen words, too.

We could talk about how context lets language models do this even better, but I'm still back trying to persuade the OP that this isn't just memorisation and good ML models work well on unseen data!

https://arxiv.org/pdf/1805.12177.pdf

I only read the abstract.

Not sure what you think this shows, but there's a lot of reasons why the results they show don't really matter much - or at least might actually reflect an accuracy approximatly what a human would also achieve.

Their headline claim is a "1 pixel change reduces accuracy by 30%". The test process for that number is this:

We choose a random square within the original image and resize the square to be 224x224. The size and location of the square are chosen randomly according to the distribution described in (Szegedy et al., 2015). We then shift that square by one pixel diagonally to create a second image that differs from the first one by translation by a single pixel.

So... they are taking a random square, downsampling to 224, moving and then predicting on that subset of the original image, and measuring the performance against the accuracy of the original prediction.

What this seems to show is that "CNNs aren't as accurate at making predictions on subsets of an image as on the whole image". This is of course to be expected, and is exactly how a human would perform.

There are a bunch of other criticisms too.

Read the ICLR (for which it was rejected) reviews: https://openreview.net/forum?id=HJxYwiC5tm

But then again, how does something like the following work?

https://twitter.com/GoogleAI/status/1293970520753369088

Any idea how it could be fooled?

What do you mean by "fooled"?

I'm very familiar with the BlazeFace and FaceMesh models (which are related to this in Google's MediaPipe framework).

They have weaknesses - they aren't designed for running upside down for example, so if they get data that is that way oriented they will tend to fail.

They aren't designed for "life" detection, so you can show printed pictures of a face and it will detected it.

But they give you confidence scores etc, so if you give it something like a caricature of a face it will return reasonable confidence numbers indicating it isn't as sure of its predictions.

Most self-driving companies use simulations to see how the model performs in unseen scenarios.
I'm sure that's tremendously helpful but isn't exactly an antidote, is it? You can't really simulate an unforeseen situation. If you can simulate it accurately - then you've foreseen it, and are thus able to account for all relevant variables. If you are randomly generating scenarios, something like fuzz testing or property testing, then I am sure you will discover bugs before they hit production, but you can't be sure you're simulating it accurately.

For example, maybe when your car is T-boned while climbing a steep hill, the suspension behaves in a way you didn't expect and which isn't replicated by your simulation. Or maybe you're sent a batch of decals with bad adhesive, and in the hot sun the begin to slip down the windshield until they end up obscuring or otherwise interfering with a sensor.

The only simulation that can account for every variable, regardless of whether you've anticipated it, is reality.