Tesla has a horrible car accident where a car mistakes the side of a truck for the sky. They start over and create a new ML system only for the exact same kind of accident to happen again.
His points about provable and debuggable making ML radically unsuitable for huge swaths of the tasks where AI would be most desirable are exactly on target.
Meanwhile, a tiny little slug seems to understand much more about the universe than the most advanced AI we've ever designed and it does this on nanowatts of power.
With ML there is at least a path to solve way-easier-than AGI problems like maybe (semi?) autonomous cars, given enough compute and redundancy. With anything more old-school? Maybe you'd get lane detection that works on sunny days. And yeah you will be able to "debug" and prove things more easily but what's the point if there's no real way to fix the bugs if they are inherent to the flaws of symbolic approaches? If you think Ml has a problem with edge cases (and it does), keep in mind that GOFAI methods are usually not even close to be complete enough to have "edges". "the last 1% is the hardest to deal with" becomes more of a "if we can get over 60% it's a miracle"
Also, no matter how suboptimal the tesla autopilot is, I have not seen any figure that show that they do worse than humans w.r.t to fatality or accident rates. Maybe they are worse! But just the fact that they are even remotely close is not something that could've been possible even 15 years ago.
But I'd be thrilled if we get to anything better than current DL methods. Hell, it might even pull me back into the field! I just really doubt it's going to be old school symbolic or causal methods that will get us to the next big steps.
Your eyes run on more-or-less fixed-function neural networks to see and recognize stuff.
The part of your brain that does the actual driving is much more symbolic in how it analyzes and reacts.
When you look at self-driving, there's a general pattern that it handles the 80% of easy stuff (the stuff that you could drive while texting and almost completely ignoring the road). There's a steep gradient down to "complete failure" from there. Accidents happen during a tiny, tiny subset of situations (a minuscule fraction of a percent).
Vehicle deaths are in the realm of 1-2 per 100 million miles driven (even lower total accidents if you factor in multiple deaths in one vehicle).
If you have a vehicle drive an average of 50mph for 8 hours every day (a very high average if not exclusively driving highways), it would take 700 years for that car to statistically have a fatal accident. For you to test an AI with a decent 95% confidence interval, you'd need hundreds of thousands of cars driving for years just to test a single model.
The "enough computation" or "enough data" idea simply isn't going to work here.
By the time humans have been proven superior there is a real chance that the AIs will have improved to be superhuman. The experience in gaming is that state of the art goes from ok vs amateurs to superhuman quite quickly.
Besides, non-fatal ACCIDENTS per mile are much more common, and we should be able to determine if those are reducing a lot faster.
For self driving cars specifically sure - but ML has its deployments across huge swaths of industry from communications equipment to consumer software today at this moment. To most people these are entirely transparent, but are providing better experiences in tons of products.
We don't need AGI or self-driving to make a big leap.
I want drone fleets that can roof a house or 3d print structures. Nanobots to clear arteries and destroy cancer cells. These things will not need to pass the Turing test or even close.
You get into it, and it takes you to the destination. You can space out all you like.
Yes, it is slower than driving yourself, unless there is heavy traffic, but it tends to work well.
What you're really asking for is a car that predicts when it needs to beep. I'd imagine that in most of the serious situations, the maximum warning time will be shorter than the minimum spaced-out driver reorientation time. In fact, no meaningful scenario comes to mind where the car would want help but with a handful of seconds to spare.
Do you call a white blood cell "intelligent"? Then why would you call a nanobot that destroyed cancer cells "intelligent"?
I guess you haven't used Alexa/Ok Google or machine translation or semantic photo search or Google search for several years then?
Personally I think we would be better off starting with self-driving trains, there's still a lot of train accidents even with human operators.
The first system to win against a Grand Master in chess was Deep Blue, which, despite its name, was not a deep learning system, but a symbolic, hand-crafted, rule-based, system with alpha-beta minimax, using a hand-crafted evaluation function and an opening book of moves [1].
The first system to dominate human players in draughts (checkers) was Chinook, also a hand-crafted symbolic rule-based system [2].
The first system to outperform experts in medical diagnosis, in particular, diagnosis of infections, was MYCIN, an expert system [3].
The first system to win against a human in the question game Jeopardy was the much-maligned, but symbolic-based, and very successful in that one task, Watson [4].
SHRDLU was an NLP system used to direct a (virtual) robot hand, whose capabilities remain unsurpassed by modern systems [5].
The performance of symbolic systems remains unsurpassed in various tasks such as classical search, classical planning, SAT solving, automated theorem proving, program synthesis, etc.
I assume that by "symbolic learning" you meant symbolic AI in general, btw. If you're talking about symbolic machine learning in particular, it is worth noting that decision tree learners, like CART, ID3 and C4.5, which have been wildly successful in machine learning, data mining and data science for many years, are symbolic systems that learn a propositional logic "model" (a theory).
__________
[1] https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)
[2] https://en.wikipedia.org/wiki/Chinook_(computer_program)
[3] https://en.wikipedia.org/wiki/Mycin
[4] https://en.wikipedia.org/wiki/Watson_(computer)#Comparison_w...
Commercial Mixed Integer Programming solvers can optimize massive problems to provably global optimality very very quickly, and they too have an internal learning mechanism (cutting-planes).
They excel at reasoning but they can only learn from the outcomes of the rules they are provided and how they interact, they cannot learn from data. With the advent of soft-constraints (which have an associated weight) I wonder if such systems could be adapted to learn probabilistic rules as well.
Some existing systems (like AlphaGo) already combine symbolic approaches (Monte-Carlo Tree Search) with Deep Learning, but what I'm thinking about here goes beyond that.
Anyway I'm not an expert on SAT solving. Thank you for the perspective you provide with which I was unfamiliar.
Edit: I don't think the OP meant SAT solvers when they said "symbolic learning"?
SAT solvers, however, learn from their "mistakes", at least internally, which is really interesting and I think opens some very, very interesting research questions that as far as I know don't have that much money going into.
For example, human brains can reason internally and learn in a similar manner, learning from "mistakes" of rule application in the same way (i.e. if I try to do this, then that fails, but if I do this other thing, then it works but not fully...). Just some food for thought.
Automated Theorem Proving is also a very important success of the Symbolic camp but I would argue a less interesting one, since SAT solvers can do much more than prove theorems (and ATPs that can do more than prove theorems invariably use a SAT/SMT solver internally, like Vampire does for example). SAT solvers (and extensions) are used in model checkers, software and hardware verification tools, software and hardware synthesis tools, operations research, etc.
One reason I think that theorem provers are more important than SAT solvers is that SLD-Resolution at least can be efficiently implemented.
Also, Resolution can be used for induction, from examples and a background theory. That's a relatively recent result and you won't find a very clear account of it in the literature, but for instance, see here some early work:
Meta-Interpretive Learning of Higher-Order Dyadic Datalog: Predicate Invention Revisited
https://www.ijcai.org/Proceedings/13/Papers/231.pdf
You have to unpick it from the language used but "meta-interpretive learning" means that it's based on a Prolog meta-interpreter, so an implementation of SLD(NF)-Resolution. And those "metarules" are really second-order definite clauses. The approach is really higher-order SLD-Resolution that turns out to be inductive, rather than deductive.
But what you say about learning from "mistakes" reminded me of a rival approach, "Learning from Failures":
Learning programs by learning from failures
http://andrewcropper.com/pubs/popper.pdf
Which is, incidentally, implemented by means of SAT solvers (via ASP, ultimately). I'm more of a fan of the meta-interpretive approach (I study it), but I think the Popper paper might interest you, judging from your comment.
Vampire uses a portfolio of strategies, including the application of an SMT solver (Z3). This link goes into some detail: http://smt2019.galois.com/papers/tool_paper_20.pdf
This is the most relevant bit for our conversation:
> There are only two cases where Vampire can return sat: Firstly in UF and secondly, if Vampire produces a ground problem after preprocessing it may pass this problem to Z3 and report its result (possibly sat) directly.
Essentially this refers to model building, i.e. solving existential problems. That's where SAT solvers excel. This includes producing counter-examples which are extremely useful in industry.
I totally agree that there is room and even a need for more symbolic systems within deep learning but I'd argue that you can't at this point do away with the "deep layered" approaches.
The examples you cited are very important achievements, especially the very early ones, but I think they also show that they are also very limited in a lot of ways. For example, expert systems found a niche, but they still had a very hard time with edge cases and learning which imo is essential to intelligence. More traditional logic based algos can vastly outperform say, neural networks in a lot of situations but only when the problem space is in a way "known". Plus, the GOFAI school used to promise a lot, lot more than what those performant but usually hyper specialized systems ended up doing.
I see that my comment could come off as disrespectful for what was accomplished before. But it really isn't!
It's just that I don't agree with the "nostalgics" who usually dismiss the modern approaches and idealized some sort of symbolic vision of intelligence. Those aren't common, and most of my "old school" professors were just as excited by deep learning. But there is a vocal minority imo who are viewing the past with rose tinted glass, when I don't think it's controversial that there is no real way for traditional ("pure") symbolic AI to end up achieving either general intelligence or to outperform deeplearning with finely tuned hand crafted logic.
Yes, "GOFAI" overpromised and underdelivered and that was a major reason for the two AI winters that essentially destroyed the field by freezing funding and shrinking research positions and output.
Personally, I'm neither nostalgic of older approaches, nor dismissive of modern approaches. The important thing is to have a clear understanding of the capabilities available, regardless of approach. It's obvious to me that older systems could do things that modern systems can't do (principally, reasoning and knowledge representation) just as modern systems can do things that older systems couldn't do (learning). However, there are approaches that bridge the gap, such as symbolic machine learning], like the approaches I study that learn logic programs from examples using theorem-proving techniques. There is also, of course, continued research in other branches of symbolic AI, like planning and SAT solvers, that seem to have made great progress in the last years. I think the worst that can happen now is to nip such research in the bud by denying it funding just because it's not deep learning.
Gary Marcus' article quotes Emily Bender about how overpromising, this time by the deep learning community, "sucks the oxygen out of the room" for other kinds of research. This is apposite. Research can't become a monoculture, otherwise the ability to innovate will disappear. For innovation, there must be diversity of ideas. The risk I see right now is that such diversity will be lost and that, in the long run, progress in machine learning will stall. Throwing out everything that was learned in the fist 50 years of AI will not help anyone avoid the mistakes of the past, for sure.
Oh yes sure because you have so much erudition you can make such statements? No you do not, I though have erudition in comparison to the HN crowd and there are many important instances where symbolic outperform neural networks in NLP. For example: Sentence disambiguation AKA the task of determining the boundaries of a sentence (where it starts, where it ends). The state of the art is rule based.
The task of generating a desired inflection for a given word: the state of the art is rule based.
The task of quantifier scope disambiguation: algorithms are on parity with the data driven approach although in this special cases, data sets are lacking and this in fact apply to many areas or NLP, data sets are lacking and for those places, rule based parsing is the SOTA. But for the two first tasks I mentioned, datasets are not lacking, rules engines are just more correct and efficient. Because neural networks are extremely bad at achieving more than 95% accuracy, they often hit a wall because they are only an approximation engine at the end of the day,not an automated code generation of the ideal parser.
Nobody that I know in the DL community wouldn't be excited to switch to another method if it meant achieving actual measurable improvements. So if the data was conclusive, the alternatives would be used. No one cares about the purity of the method or whatever, because the messiness is inherent to DL. Also, the current AI community is very very focused on performance and state of the art results (that can be a problem in some cases but not w.r.t to method agnosticism) rather than on any big theories on how human intelligence ought to be translated mathematically (or not)
Proponents of symbolic learning should start by just achieving results that are even remotely close go those achieved with deep learning. Nevermind outperforming it. Because the reality is, for NLP and anything related to CV, deep learning has consistently wildly outperformed every other approach. Thousands of ai researchers have tried to make "old school" AI work for those problems with only very limited success.
Now my background is in CV (not in the field anymore, but was until 2019) so I'm not sure about how well other methods stack up against DL for other use cases. But to me symbolic approaches for most of what DL excels at just seem like a completely unfeasible (and overcomplicated) pipedream.
I don't disagree with the premise that current research has kind of stalled compared to the early-mid 2010s but that mostly means we need to figure out new ways to do ML and DL, not because DL has failed as a concept . & keep in mind that the fact we can even say that things have "stalled" is because we got spoiled by the huge performance leaps that DL made possible in the first place.
The symbolic AI crowd have always had a "2 more weeks" narrative where they promise that they will figure out a given problem very soon if only x condition was true. The problem is that they have almost always terribly underdelivered, and that was true even when 99% of the research and funding was focused on symbolic or hard AI. Subsymbolic approaches could also be argued to have yielded somewhat underwhelming results (vs the hype) but the other methods are in a league of their own.