Daniele Procida - Minds, machines and Python [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/minds-machines-and-python)
Are we looking in the wrong direction for artificial intelligence and machine learning?
I'll discuss an older but perhaps more satisfying approach, that has been neglected in recent years.
It begins with questions in logic and language, and can be explored using easy techniques. I'll use simple Python programs to explore three key notions in this AI research: loops, self-reference and tangled hierarchies, themselves directly reflected in important programming concepts.
In recent years, we've seen interesting and spectacular successes in artificial intelligence and machine learning, made possible by leaps in computing power and techniques able to harvest vast quantities of data.
The results are uncanny. We see them everywhere, from the personal assistants built into smartphones to the neural networks that do an astounding job of recognising images. However, they're also susceptible to the criticism that they represent not intelligence but a mere simulation of it, and that producing a convincing simulacrum has become more important than a genuine search for intelligence or learning.
At the same time, another, perhaps deeper, approach has become neglected in recent decades, along with the questions it asks about the nature of mind, intelligence and learning. This approach begins with fundamental questions in logic and language, and can be explored using some of the simplest programming techniques.
In this talk, I'll use simple Python programs to explore three key notions in this strand of artificial intelligence research: loops, self-reference and tangled hierarchies. The way these concepts directly reflect important concepts in programming suggests that for the programmer, this approach could be more interesting and satisfying, and simply more fun, than using huge ontologies and big data to create mere simulacra of intelligence.
The examples I use will be concrete and easy to understand, even for novice programmers.