But... where's the room for doubt? This isn't an article from 1930 about theoretical possibilities of what may happen someday when we have a lot of computational power. This is an observation about how perception has proved to be much more complicated than more pure reasoning, one quite old, robust, and well-established. The question is more about why that is true than whether it is true.
In a further comment you reply about how you could not convince your neural net to play chess... but again, we are not theorizing that computers may be good at chess someday. We live in a world in which, if they are not already simply better than humans, we only a couple of years away. Certainly better than all but the absolute very best. Whereas we still get excited when we see a robot that can walk up or down a normal, rocky hill at all.
Also, it baffles me how you think that explaining why logic is easier than perceptual problems is somehow disproof of that very fact. It doesn't matter that it's "really" the programmer that knows how to play chess (even if I'd observe the machine is still doing it better) when we still can't hardly make machines walk at all, regardless of whether the programmer or the computer is the one "knowing", a concept that in this context comes perilously close to a tautological assertion that if a computer can do it it must not be true "knowing". If we were really good at both sensorimotor and logic, but with two radically different toolkits, that might be an interesting point, but that's not the world we live in.
That does not necessarily imply that perception is intrinsically so much harder than logic, merely that it is using those tools.
It may turn out for example that there exist (in a mathematical sense) functions which are good at recognizing characters which are simpler than the simplest function which is good at playing chess. If that were the case it would make sense to say that chess is intrinsically harder than character recognition, even if humans have historically had a harder time discovering the recognition functions than the chess playing functions.
On your last paragraph there's a huge difference between a program discovering a good solution to a problem, which is what happens in machine learning, and a programmer discovering such a solution then creating a program to implement it. In the first case we may begin to consider the program to be showing signs of intelligence while in the later it's just a really fast calculator which isn't doing anything the programmer couldn't do.
Is there circularity here - yes because we can say the same thing of the learning program if we treat it at a lower level of abstraction and therein lies perhaps the core of the problem of understanding what we mean by intelligence.
Again, this might follow if, say, nobody had ever tried to come up with such tools, and we were going to try for the first time this year. But people have been trying, and failing, and failing. Of course it will be easier when the tools exist; robot.walk_to(grocery_store) is as easy as any other function to call, but it is obviously much harder to implement.
In the "mathematical sense" I can simply assert the existence of "recognize_character(image_matrix)". In reality, the complexity of such a function is obviously much higher than, say, a Prolog implementation.
You keep retreating into theory, but again, that's not the world we live in. The world we live in is one in which the problem of sensorimotor perception and manipulation has received immense work on it, and remains in a state in which it is still wildly less capable than my dog in most ways, whereas we were knocking out things like SAT solvers that blow humans away (which are notably incapable of holding very many symbols in their heads at once) decades ago. It doesn't matter if you can theorize a world in which perceptual problems are easier than sensory problems; we don't live there.
So why is robot.walk_to(...) "obviously harder to implement"? How could we know that simpler implementations will never be discovered? What you call "immense work" is not even a century's worth. In hundreds of years, making a robot walk convincingly might be no more difficult than implementing an effective chess AI.
I suppose I'm getting at a concept of minimality (like Komolgorov complexity). Just having a solution does not mean it's a minimal solution. We know enough to say perception is harder right now but not enough to say perception is intrinsically harder. We can't know that new breakthroughs (or just lots of gradual development) won't make these problems simple ones.
(*Actually, I do agree that lots of smart people failing at a problem is probably a good indicator that the problem is hard. This is still no guarantee though.)
It can be difficult to understand this from our present-day perspective where we have so thoroughly internalized this idea that it has apparently passed into invisibility for some of us. Go back and read Asimov's robots work, in which he has robots walking, talking, socially interacting with humans, even pondering great ethical conundrums, while at the same time it requires massive resources to attain the raw numerical computational power available to a Commodore 64.
Go is a good example of a game that can't effectively be brute-forced. There are a lot of other examples out there; that was just the one I happened to pick.
The point is that something like crossing a room and picking up a pencil seemed easy, and to this day is still a significant achievement for robotics, still requiring fairly controlled circumstances.
Just because you failed to do one thing doesn't mean you succeeded in doing another.
Yes, it's still far from the level computer chess was 15 years ago (beating top pros), but they're getting there. And I don't think it will take any major breakthrough in AI itself.
"Trying to teach a neural network to play chess is probably much harder than teaching it to recognize images (at least my very limited experiments suggest this to be true)."
That, sir, depends on your definition of "hard". The rules of chess are, after rules, so you could just set a neural network free within those constraints to play until it found a way to win, and continue to play until it reached a certain performance level.
My attempts to train similar networks to learn the rules of chess (just the rules, I'm not even talking about trying to win) have not led to good or steadily improving performance, despite the fact that there's effectively no limit to the amount of training data that can be generated for chess.
There are a number of possible reasons for this of which I think 2 likely ones are that:
1) The networks I'm using have insufficient computational/storage capacity to learn the rules of chess.
or
2) Even if (1) is not the case gradient descent is unlikely to find a sufficiently good near optimum because the response surface is too complex.
As a conjecture, do you think splitting the logic up into several smaller neural networks with different objectives (i.e. for chess, one evaluates defensive maneuvers, one for attack, and so on) would alleviate the problem? Or at least improve the performance of the machine as a whole...
I'm not so sure you start a good argument though. 'Harder' is all about the tools at hand. If you have the right tools, everything is easy. So to me this is all semantics. To me all the wikipedia page basically says is 'we haven't invented a good artificial tool for generalized, fast perception'.
Of course the other way to think about it is that humans and other animals devote generally much larger amounts of physical space (in the brain and otherwise) to subconscious things like perception and subconscious memory than they do to conscious things like logic...
Ok I'll rephrase. "After 30+ years of intense research it has hard to develop the tools to generalised fast perception". Whereas in that time we have developed tools that make higher level reasoning computationally cheap in comparison. But as you yourself say that's just semantics.
If you try to do something for over 30 years and make little progress, compared to another area of activity were many of the hard problems are solved in just a few years and the solutions to harder problems keep on coming, that's pretty good evidence that the first problem area is a hard one, however you try to finesse the description of the problems.
This was in response to the above post using phrases like "intrinsically harder" and "highly dependent on the representations and models used".
Apart from that I agree with you...
It's also not clear that there's really a valid comparison here. In order for computers to recognize objects we need to program them to learn recognition on their own (because programming them explicitly to do it would be far too hard). When we program a computer to solve a logic problem the computer isn't learning to solve that problem, it's the programmer, not the program that "knows" how to solve it.
Trying to teach a neural network to play chess is probably much harder than teaching it to recognize images (at least my very limited experiments suggest this to be true).