2 ms·
>> I mentioned ARC because based on your description it should be "the kind of problem that ILP eats for breakfast". But based on what you say about required ef
by YeGoblynQueenne 5y ago
>> I mentioned ARC because based on your description it should be "the kind of
problem that ILP eats for breakfast". But based on what you say about required
effort it does not appear to eat it for breakfast and requires significant
engineering fine-tuning, so I call foul on your previous description of your
work.
Yep, you caught me. ILP is not magick. You actually have to do
some work to train ILP algorithms.
To clarify, there is no "engineering fine-tuning" required. ILP approaches rely
on background knowledge, which can be thought of as a library of sub-routines
from which target programs are composed. ILP is unique in that the
representation of background knowledge is the same as that of target programs
(they're all logic programs) so they can learn their own background knowledge
incrementally. So the effort to solve ARC would include training an ILP system
to learn core priors from some initial set of low-level primitives. Once
learned, core priors would be included in the background knowledge needed to
actually solve ARC tasks (along with other stuff like rotations, translations
etc that don't have to be learned because they're straightforward to hand-code).
Clearly, that would take time and work. Deep learning approaches simply replace
time and effort with data and compute. But there is always a cost to be paid.
You can't have learning for free.
Learning core priors is not going to be simple. First of all, we don't even know
exactly what they look like. Chollet gives a list, which I think is not
exhaustive, but there's no dataset with examples that can be used in training.
So there's a lot of work to be done, even just to figure out how to learn the
core priors. Or you could do like on Kaggle and solve a sub-set of tasks with
some geometric manipulations and a brute-force search. But that, too, would be
cheating and it wouldn't generalise well anyway.
>> Requiring that all 3 benchmarks are solvable by one unified system IMO would be
a reasonable test for general, visual intelligence.
I don't think that addresses the real issue with benchmarks. Machine learning
benchmarks don't work because we have no idea what we want them to test, and
that in turn because we don't have a theory of intelligence and artificial
intelligence. Benchmarks like the Bongard problems, or ARC, now, are just
educated guesses about the kind of behaviour an intelligent system should
exhibit. Because they are just guesses, we're not really going anywhere and
every few years someone comes up with a new benchmark, claims that this one is
better than earlier ones, and then watches in horror as some dumb machine rips
it to shreds. This will continue for ever until someone comes up with a
plausible theory of what, exactly, it is that we are trying to test. Chollet
actually tried that, but I think wrapping it all up in yet another new benchmark
removes the focus from the theoretical work and focuses it on racing for SOTA
again, thus exposing his work to the same old big-data shennanigans.
For example, 72% accuracy on a language understanding task should indicate
pretty strong language understanding ability already _if_ the benchmark was
actually testing language understanding. 72% accuracy would certainly beat a
dog, or a chimp, it would probably beat a toddler and may even beat an educated
adult who is not a native speaker of the test language. So it's clear that
testing "few" or "any" shot makes no difference because no language
understanding ability is being tested anyway. The benchmarks are fundamentally
broken. They won't get any better by tweaking them. You can't make a thermometer
measure luminosity no matter how much you tweak it.
Anyway pre-training, as I noted earlier, removes all legitimacy from any claims
of "few shot" learning. First we need to undersand what is being learned during
pre-training and if that has anything to do with some element of intelligent,
then we can decide what "few shot" performance tells us.
>> Real market performance is the ultimate benchmark of whether "performance
degrades precipitously once exposed to real-world data".
That sounds like you're saying that a neural network model's performance has
something to do with how well it does as a commercial product. You can't mean
that, so please explain. What's the market got to do with anything?
P.S. Interesting stuff on Metaculus.