Reminds me of an early application of AI where scientists were training an AI to tell the difference between a wolf and a dog. It got really good at it in the training data, but it wasn’t working correctly in actual application. So they got the AI to give them a heatmap of which pixels it was using more than any other to determine if a canine is a dog or a wolf and they discovered that the AI wasn’t even looking at the animal, it was looking at the surrounding environment. If there was snow on the ground, it said “wolf”, otherwise it said “dog”.
That’s funny because if I was trying to tell the difference between a wolf and a dog I would look for ‘is it in the woods?’ and ‘how big is it relative to what’s around it?’.
Early chess engine that used AI, were trained by games of GMs, and the engine would go out of its way to sacrifice the queen, because when GMs do it, it’s comes with a victory.
You don’t use it for the rule-set and allowable moves, but to score board positions.
For a chess computer calculating all possible moves until the end of the game is not possible in the given time, because the number of potential moves grows exponentially with each further move. So you need to look at a few, and try to reject bad ones early, so that you only calculate further along promising paths.
So you need to be able to say what is a better board position and what is a worse one. It’s complex to determine - in general - whether a position is better than another. Of course it is, otherwise everyone would just play the “good” positions, and chess would be boring like solved games e.g. Tic-Tac-Toe.
Now to have your chess computer estimate board positions you can construct tons of rules and heuristics with expert knowledge to hopefully assign sensible values to positions. People do this. But you can also hope that there is some machine learnable patterns in the data that you can discover by feeding historical games and the information on who won into an ML model. People do this too. I think both are fair approaches in this instance.
Reg, why’d you just stab yourself in the shoulder?
Ah cmon, ain’t ya ever seen a movie?
Well of course I’ve seen a movie, but what the hell are ya doing?
Every time the guy stabs himself in a movie, it’s right before he kicks the piss outta the guy he’s fightin’!
Well that don’t… when that happens, the guys gotta plan Reg, what the hell’s your plan?
I dunno, but I’m gonna find out!
While I believe that, it’s an issue with the training data, and not the hardest to resolve
So is the example with the dogs/wolves and the example in the OP.
As to how hard to resolve, the dog/wolves one might be quite difficult, but for the example in the OP, it wouldn’t be hard to feed in all images (during training) with randomly chosen backgrounds to remove the model’s ability to draw any conclusions based on background.
However this would probably unearth the next issue. The one where the human graders, who were probably used to create the original training dataset, have their own biases based on race, gender, appearance, etc. This doesn’t even necessarily mean that they were racist/sexist/etc, just that they struggle to detect certain emotions in certain groups of people. The model would then replicate those issues.
Maybe not the hardest, but still challenging. Unknown biases in training data are a challenge in any experimental design. Opaque ML frequently makes them more challenging to discover.
The unknown biases issue has no real solution. In this same example if instead of something simple like snow in the background, it turned out that the photographs of wolves were taken using zoom lenses (since photogs don’t want to get near wild animals) while the dog photos were closeup and the ML was really just training to recognize subtle photographic artifacts caused by the zoom lenses, this would be extremely difficult to detect let alone prove.