Hacker News new | past | comments | ask | show | jobs | submit login
Neurosymbolic AI – Combining neural nets and symbolic AI (knowablemagazine.org)
130 points by ralphc on Oct 19, 2020 | hide | past | favorite | 26 comments



I don't understand why what the ducklings are doing is considered desirable. So their cognition prioritizes following same-coloured shapes. So what? Why is that the right thing to do?

It reminds me of Sherlock Holmes, where he makes these completely unjustified guesses and then calls them "induction". Yes, there was orange peel in the bin outside and Mr Jenndar likes oranges but so does 32% of the population.

Combining neural and symbolic AI is exciting, I just don't get the example.


> I don't understand why what the ducklings are doing is considered desirable. So their cognition prioritizes following same-coloured shapes. So what? Why is that the right thing to do?

The important point is that a newly-born duckling can pick up the notion of "similar shapes" vs "different shapes" and show a measurable preference for one or the other, after seeing 1 example (of course, that must somehow be hard-coded in its brain, so it has probably been learned through evolution).

In contrast, a neural net is very hard to train to achieve a similar feat. Whether the feat itself is desirable or not is not relevant. It's just a measure of how different our current training methods are from the ones employed in animal brains - even relatively dumb ones like newly-born ducklings.


I don't think it matters specifically what the ducklings do, only that they are able to learn to do it. The question is then can we train an artificial model to do the same thing.

If we find that existing techniques can't easily do this, it implies a gap in our capabilities.


It's an example of few-shot learning and abstraction. Show ducklings similar objects, they will prefer similar objects. Show them different objects, they will follow different objects even a cross categories.

This type of learning based on inductive bias without a huge pretrained network could be huge for required training times and data.


I think what you are missing is that ducklings "attach" to the first thing they see after birth and follow it around. Under normal conditions this would be their parent, which is desirable as it keeps them out of trouble.

(As an amusing aside, a similar imprinting is used in some security mechanisms, where the device allows the first use without authentication, but then trusts the first user to be the privileged user).

The important bit is that this is not "training", but a single stimulus that they need to figure out who mom is. But it turns out that mom can be also abstract things, like "similarity".

Now if you compare this to a neural net, you can't get it to recognise anything after showing just 1 image, let alone the notion of similarity.


I bet you could pre-train a neural net to do exactly this, without too much trickery. Newborn animal brains aren't blank slates, they exhibit all manner of complex behaviour far too quickly to have learned it from scratch.


Is it ‘just’ one image? The sensory systems of a duck seem fantastically rich and high-bandwidth compared to a JPEG.


If you show a network 10000 very similar inputs it won't learn much, and likely overfit.


Overall, the hybrid was 98.9 percent accurate — even beating humans, who answered the same questions correctly only about 92.6 percent of the time.

While this is an important result it's important to understant why humans don't do great on CLEVR. In my experience maximum human performance is much better, but we get bored with the task really quickly and it's hard to sustain concentration on it.

(Of course this makes the AI useful in some circumstances. But it isn't always the same as reasoning better than humans)


But isn't the fact that the AI doesn't get bored and can stay focused indefinitely an important factor in the evaluation?


Yes, that's my point.


But why ignore it, is what I'm trying to say. It's an important factor and IMHO should be taken into consideration.


Reminds me of DeepProbLog[1][2] project that combines ProbLog[3][4] (probabilistic Prolog) and Deep Learning.

[1] https://arxiv.org/abs/1907.08194

[2] https://bitbucket.org/problog/deepproblog/src

[3] https://dtai.cs.kuleuven.be/problog/

[4] https://github.com/ML-KULeuven/problog


I seem to remember reading something in college back in the 90s in an AI textbook saying that the pendulum of favor has swung back and forth between neural modeling and symbolic approaches, and what would probably achieve success in the future is a hybrid of the two. Is this a new idea?


CS has this tendency to revive old ideas as we make progress with hardware. Raytracing for example is nowhere near a new idea, but with the progress made in graphics processors, real-time raytracing is suddenly the big new thing.


Also see functional programming :)


I think it's one of those ideas which is easy to state and easy to come up with by looking at the history but is very difficult to implement in practice. What does combining these ideas even mean?


Of course not. But executing it right is hard.


IIRC these nets don't actually build a knowledge base (though I may be wrong, it's been a while). They're still functioning in lossy continuous space.

This is probably fine with a low number of symbols and relations, but once you get to the level of a neural theorem prover you need to properly handle symbol binding.

If I'm working with integers and integer-valued variables, how do I represent the variables? How do I represent the operations? This gets more complex once you leave a closed domain, where all the operations and variables are defined up front, and you enter an open domain like theorem proving.

There are definitely good applications for small-scale symbolic work; you could possibly improve efficiency of warehouse robots, for example.

Highly (pro/ef)ficient neural theorem provers would be amazingly useful, though. Not to mention reasoning over medical knowledge given only the source documents (journal articles).

In either of the two domains above you need to extract symbols and relations directly from text. I think symbol-identification and relation-identification, for unstructured documents, can likely be done with some of the state-of-the-art models (particularly thinking of Diffbot[0] here).

So use something like Diffbot to identify symbols+relations, then... how do you represent them? Once you have the symbols you can use traditional reasoning tech on them, but it's going to be extremely slow for any reasonable unit of work. Which is exactly why you'd want to piggyback off of neural work.

---

Some work has been done on neural theorem proving (NTP). See [1][2]. There are justifications for replacing the existing graph search vs. providing better search heuristics, but I'm fuzzy on the details. Either approach should be eligible for reinforcement learning.

[0]: https://www.diffbot.com/products/natural-language/ [1]: https://arxiv.org/abs/1705.11040 [2]: https://arxiv.org/abs/1606.04442 (This is just for premise selection; it doesn't replace the prover machinery) [3]: https://arxiv.org/abs/1701.06972 (More guided search)


I don't think this is quite right.

I've done some work around the edges of this space (not solving, more making sure predictions were explainable by combining deep nets and Bayesian models).

The deep nets handle the object (and language) recognition, and build the vector representation (so comparisons are possible; ie, your lossy continuous space).

But then you - somehow - build a mapping to symbolic space. Then when confronted with unmapped data the net can measure similarities to previously known examples, and use them to translate via similarity measures.

I'm not entirely sure if this is the approach taken (I haven't read their paper) but my impression is that the "turn it into a symbolic program" means that the symbolic program itself is a traditional solver (whether it be a theorem solver or something like Prolog/Datalog is unclear)


Also, building symbolic models from neural models isn't the only useful way to combine the approaches. You can, for example, build symbolic models by capturing human knowledge and use the symbolic models to guide and constrain the neural ones.

As an example from work I'm doing now, you might have a sample that the neural model recognizes as A, and causally-connected sample that it recognizes as B, and a symbolic model that says that a change from A to B implies C.


Thanks for this write up, it provided some context and confusion I had.


One remaining gap between these hybrid systems and ducklings, children etc is that their deep component still is doing supervised learning, with a data set that pre-provides a vocabulary of labels, whereas humans and animals don't get that. We have to decide which distinctions are important either because of in-built neural structure, or what we're exposed to (like learning the phoneme set of a language).

While unsupervised learning can pick out a bunch of ways of distinguishing groups of data points, mapping between those and the representations required by a symbolic system still seems like a step no one has figured out.


This article started slow for me, I almost stopped reading, glad I didn’t. Great read when the discussion got into the CLEVR data sets and hybrid system.

Hybrid AI has been a keen interest after I retired from almost 5 years of work with deep learning. I just took a job on a knowledge graph team and it feels great to be working on a different approach to knowledge representation and reasoning. My personal opinion is that Hybrid AI is the future and I wouldn’t be surprised to see an exponential growth of practical results, similar to what happened with deep learning around 2013.


Many had the same thought after AlphaZero i.e. some sort of expert-iteration for any (formal/combinatorial) domain what can be tree-searched

But it turns out, that interesting problems have existing refined algorithms that are difficult to beat

I agree that (DL + something) is the next step

Do you lean more towards symbolic search + neural heuristic or neural representation of symbolic domain ?


I lean towards symbolic AI + neural models. There is an architecture diagram in the article showing one good example.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: