3 ms·
It seems like the big question is how can the gap between statistical and symbolic ML be bridged. How can the same architecture both learn to e.g. recognize cat
by agent008t 8y ago
It seems like the big question is how can the gap between statistical and symbolic ML be bridged. How can the same architecture both learn to e.g. recognize cats in images, and perform logical inference on symbols?
- YeGoblynQueenne 8y agoThe δILP paper from DeepMind did something like this using one architecture, trained end-to-end: https://deepmind.com/blog/learning-explanatory-rules-noisy-data/ https://deepmind.com/blog/learning-explanatory-rules-noisy-d... They have one experiment were they learn the less-than relation between images of digits. Pretty cool stuff. However- my preference would be a system that combined statistical and symbolic learning. For machine vision specifically, the statistical learner (a CNN most likely) would extract features and these would then become the universe of discourse for the background knowledge of the symbolic learner. This is highly speculative and I haven't done any sort of practical work towards that but I've discussed some of the complications with coleagues and I think that they can be overcome.
- agent008t 8y agoI have only briefly looked through their long paper, and it looks like what you suggest is pretty much exactly what they do. Their main contribution seems to be that they have incrementally improved on a symbolic learner. They explicitly tell it to search a predefined set of programmes. They use pretrained MNIST CNN classifiers as inputs into it, which already know that e.g. MNIST has 10 classes. What I was talking about is symbolic reasoning somehow 'emerging' from a connectionist approach, without being explicitly designed. The cool thing about deep nets is that they are both kind of biologically and evolutionary plausible (except back-propagation, I suppose), and are able to achieve great performance on a bunch of traditionally difficult perception tasks (vision, hearing - again, with some caveats). But how such a system could develop symbolic reasoning is not at all clear. Are any other biological systems apart from humans capable of symbolic reasoning? Of course, planes don't flap their wings and so a practical system will probably have a symbolic reasoning engine designed top-down rather than emerging from some neural net. But it is still an interesting question that would give us more insight into how our brains work.
- YeGoblynQueenne 8y agoI see what you mean- thank you for the clarification. Well, I'm not really the right person to discuss this issue since I can't claim to understand how the brain works. However, I do understand a few things about connectionist methods and it's my understanding that they are not very good models of the way the brain works at all (am I misrepresenting your turn of phrase, of "biologically plausible"?). In that sense, I doubt it's possible that a neural net would develop symbolic reasoning by dint of being in some way similar to a biological brain. In general, my experience with neural nets and gradient optimistation techniques is that unless a great deal of effort is spent directing their learning, they are prone to learn whatever is convenient, which is very often not what the human users want it to. For instance, see the following collection of anecdotes of evolutionary algorithms lerning whatever they please, rather than what the researchers were trying to teach them: https://arxiv.org/abs/1803.03453 https://arxiv.org/abs/1803.03453 Or the descriptions of the difficulties of training Deep Reinforcement Learning models in this article: https://www.alexirpan.com/2018/02/14/rl-hard.html https://www.alexirpan.com/2018/02/14/rl-hard.html Also, while I'm a staunch symbolicist myself, I'm not 100% convinced that symbolic reasoning is "natural". I think it rather took a lot of effort to develop such systems and most people still have a great deal of trouble using them with precision. If you meant to say that symbolic reasoning should arise spontaneously in a neural network, I see that as very unlikely.
- hopler 8y agoBut does that learning generalize to comparing 3 digit numbers? That's the challenge of arithmetic: induction-- learning to predict results on larger problems.
- YeGoblynQueenne 8y agoAh, but this is the great thing about ILP, including the δILP system in the article- that the "models" are actually logical theories that can be directly inspected (by reading them!) and verified. So we don't have to wonder whether the model learned by the algorithm will generalise outside its training data- we can just check the learned theory. This is one of the theories learned by the δILP system for the less-than relation between images of numbers, taken from the pdf version of the paper [1]. Using Prolog as the notation (the transformation from the article is trivial): target:- image2(X), pred1(X). pred1(X) :- image1(Y), pred2(Y,X). pred2(X,Y) :- succ(X,Y). pred2(X,Y) :- pred2(Z,Y), pred2(X,Z). succ/2 is the successor relation; succ(X,Y) is true when Y = X+1. image1/1 and image2/1 are the numeric values of the compared images as read from the neural net. So the first two clauses of target/0 collect the two compared images' numeric values, then they pass them on to pred2/2, which actually does the comparison. pred2/2 itself is true when one of the following relations holds: a) Y = X+1 b) Y > Z AND X < Z Where (b) is equivalent to X < Z < Y. In other words, target/0 is always true when the value of image1 (which is the X in pred2/2) is less than the value of image2 (the Y). It's a bit fiddly to follow because pred1/1 inverts the order of the arguments passed to pred2/2, and because the predicate names don't mean anything, but you can see that's what's going on: the above is as general a definition as is possible to have of the less-than relation. So, yes, totally, it will generalise to integers with any number of digits. ________________ [1] https://arxiv.org/pdf/1711.04574.pdf https://arxiv.org/pdf/1711.04574.pdf The learned theory is on page 34.
- andyjohnson0 8y agoMaybe a hybrid architecture? Some elements working symbolically and others taking a statistical/DL approach.