If brute force is more effective... then it's better. There's probably a post in the sequences about this. Do you care about machine vision, or do you care about fancy algorithms? If you care about machine vision, then you should want the most effective approach (the one that is best at "winning"), whatever its nature. There is no such thing as "cheating" in pursuit of such a goal. On the other hand, if you care about fancy algorithms (which is a legitimate thing to care about!), then brute force is by definition uninteresting.
I don't think that it's quite this easy to depict the problem. In applications where I think the brute force SVM approach is fundamentally a more correct way to model and attack the problem, I'm all for its use. At the same time though, I don't care at all about "fancy algorithms." What I think is that the landscape of modern research is far too risk averse (there is a book coming out soon by Peter Thiel and Garry Kasparov of all people on this very topic -- that human ingenuity and insight has actually slowed in the last few decades despite advances in computing technology).
I think that to solve hard machine vision problems, like perception and cognition, you have to depart from the machine learning paradigm. Machine learning might be a low-level tool for dealing with feature extraction and selection, which plays a role, but is far from effective for higher end problems. For example, I work on activity and behavior understanding. On any timescale above about 1-2 seconds, humans consistently recognize activities by projecting protagonist style goal structures onto their observations (i.e. the cue ball is trying to hit the black ball into that pocket... the cue ball becomes an agent with volition instead of merely a pawn in some sort of physics experiment). Currently, machine vision researchers approach the task of activity understanding as they approach everything else, just train a giant SVM (or some other kernel classifier, sparse coding, dictionary methods, etc. etc. etc.) The performance is state of the art for specific applications, but we don't actually know anything about how to perceive activities. It offers no insight whatsoever into the real cognitive structure that's underlying the task of perception. There are obviously many controversial opinions about a question like this, but my perspective is that probabilistic reasoning and graphical models are a much better way to work on this sort of problem, but even those methods need to be researched and extended to a much more theoretically mature level than where they currently are.
But no one (and I mean no one) will pay you money to do that style of research. Unless you produce a widget that performs task X for company Y at state of the art levels and can deliver it very soon, you get no funding and you get shunned by the major computer vision journals (ECCV, ICCV, CVPR, NIPS, SIGGRAPH). To get your work published and to win grants, you have to market it based primarily on the way you can promise to deliver pretty pictures in the short term. Machine learning is much better at this than advanced mathematical abstractions, and so advanced mathematical abstraction approaches to vision (which will benefit us all very much further into the future) are not being funded by risk averse funding sources.
Nobody is demanding that machine vision must succeed at preposterously difficult tasks anymore. Most consumers of this sort of research are saying that computing power is sufficient now that, as far as commercial applications go, we just need to hammer away on efficiency and performance in very controlled, specific settings. Being a "general vision theorist" has utterly no place anymore, in academia or in corporate research.
This is the root of my specific issue. My goal is to study difficult problem in computer vision that cannot be well-solved with the machine learning paradigm. I believe these need advanced theory to be well-solved, theory which doesn't exist yet. Just like the A.I. winter though, someone would have to fund me without knowing that the end result will benefit them more than their competitors, or if there will be any commercial benefit at all. My goal is to understand perception better and to only start to worry about what that better understanding will do for me later on.
Also, can you be more specific about how this works at Wolfram Research. I frequently attend their career presentations here at my university and then try to talk to the technical representatives afterward and learn about specific opportunities. It doesn't seem to be related to the kind of tool-creating research I'm talking about. In fact, I think that proprietary programming platforms like Matlab, Mathematica, and Maple, are a large part of the problem in some respects. These tools teach engineers how to be bad programmers and how to care more about hacks that produce pretty pictures than about really insightful methods that solve a problem in a way that provides more knowledge and more insight than merely pretty pictures.
When I mentioned "creating tools that go in the toolbox of an engineering" what I mean was inventing new techniques in say, calculus of variations, or new strategies for simulated annealing and Markov random field analysis. I mean theoretical tools that offer fundamentally more insightful ways to do modeling for engineering problems. I did not mean that I want to create software tools that make easier interfaces for doing machine learning, etc.
Machine learning is much better at this than advanced mathematical abstractions, and so advanced mathematical abstraction approaches to vision (which will benefit us all very much further into the future) are not being funded by risk averse funding sources.
Okay, that's a "local maximum" objection.
Also, can you be more specific about how this works at Wolfram Research.
I don't work there. Mathematica was just the first example that came to my mind of something that might be used in the sciences.
...I mean theoretical tools that offer fundament
I was inspired by the recent post discussing self-hacking for the purpose of changing a relationship perspective to achieve a goal. Despite my feeling inspired, though, I also felt like life hacking was not something I could ever want to do even if I perceived benefits to doing it. It seems to me that the place where I would need to begin is hacking myself in order to cause myself to want to be hacked. But then I started contemplating whether this is a plausible thing to do.
In my own case, there are two concrete examples in mind. I am a graduate student working on applied math and probability theory in the field of machine vision. I was one of those bright-eyes, bushy-tailed dolts as an undergrad who just sort of floated to grad school believing that as long as I worked sufficiently hard, it was a logical conclusion that I would get a tenure-track faculty position at a desirable university. Even though I am a fellowship award winner and I am working with a well-known researcher at an Ivy League school, my experience in grad school (along with some noted articles) has forced me to re-examine a lot of my priorities. Tenure-track positions are just too difficult to achieve and achieving them is based on networking, politics, and whether the popularity of your research happens to have a peak at the same time that your productivity in that area also has a peak.
But the alternatives that I see are: join the consulting/business/startup world, become a programmer/analyst for a large software/IT/computer company, work for a government research lab. I worked for two years at MIT's Lincoln Laboratory as a radar analyst and signal processing algorithm developer prior to grad school. The main reason I left that job was because I (foolishly) thought that graduate school was where someone goes to specifically learn the higher-level knowledge and skills to do theoretical work that transcends the software development / data processing work that is so common. I'm more interested in creating tools that go into the toolbox of an engineer than with actually using those tools to create something that people want to pay for.
I have been deeply thinking about these issues for more than two years now, almost every day. I read everything that I can and I try to be as blunt and to-the-point about it as I can be. Future career prospects seem bleak to me. Everyone is getting crushed by data right now. I was just talking with my adviser recently about how so much of the mathematical framework for studying vision over the last 30 years is just being flushed down the tubes because of the massive amount of data processing and large scale machine learning we can now tractably perform. If you want to build a cup-detector for example, you can do lots of fancy modeling, stochastic texture mapping, active contour models, fancy differential geometry, occlusion modeling, etc. Or.. you can just train an SVM on 50,000,000 weakly labeled images of cups you find on the internet. And that SVM will utterly crush the performance of the expert system based on 30 years of research from amazing mathematicians. And this crushing effect only stands to get much much worse and at an increasing pace.
In light of this, it seems to me that I should be learning as much as I can about large-scale data processing, GPU computing, advanced parallel architectures, and the gross details of implementing bleeding edge machine learning. But, currently, this is exactly the sort of thing I hate and went to graduate school to avoid. I wanted to study Total Variation minimization, or PDE-driven diffusion models in image processing, etc. And these are things that are completely crushed by large data processing.
So anyway, long story short: suppose that I really like "math theory and teaching at a respected research university" but I see the coming data steamroller and believe that this preference will cause me to feel unhappy in the future when many other preferences I have (and some I don't yet know about) are effected negatively by pursuit of a phantom tenure-track position. But suppose also that another preference I have is that I really hate "writing computer code to build widgets for customers" which can include large scale data analyses, and thus I feel an aversion to even trying to *want* to hack myself and orient myself to a more practical career goal.
How does one hack one's self to change one's preferences when the preference in question is "I don't want to hack myself?"