Machine Teaching: Reflective Practice, Tacit Knowledge and Machine Learning

Marco Gillies
Machine Learning for All
5 min readApr 14, 2016

Machine Teaching is a phrase I heard from Saleema Amershi at Microsoft Research when we were talking about what to call our workshop on the role of people in Machine Learning.

The more I think about the phrase “Machine Teaching” the more I like it. I think it is because it reminds us of the analogy between Machine Learning (a statistical technique) and human learning and teaching. It also makes us think about the potential value of human expertise in helping machines learners. After all, I work in a university, an institution whose whole reason for being is that students learn better when taught by experts than they can on their own.

Expert systems

The idea of teaching machines does have a history. Expert Systems were a popular A.I. technique of the 70s and 80s. They were based on using the knowledge of human experts to design computer systems to perform a task. The experts would teach the computer to do a task (for example diagnosing a disease). The expert does this by describing their knowledge as a set of rules, which were then translated into a machine understandable form (e.g. logic). This is a bit like a lecture, where I come up with some rules about how something (e.g. programming languages) works, turn them into student understandable form (e.g. PowerPoint) and tell them to the students, who can now use them.

But, there was a big problem, a lot of expert knowledge simple isn’t made up of clear logical rules. A lot of knowledge is tacit, we can do something perfectly well without being able to explain how we do it. Michael Polanyi describes how we effortlessly recognise a face without being able to describe in detail that features that allow us to recognise it (we know this is a hard problem in computer science) and driving a car is similar, we do it without thinking. Expert knowledge is also often tacit. When I teach programming it is easy for me to teach what, say, an if statement is, but its much much harder to explain how and when to use it in a way that covers all the possible uses. My knowledge of programming language syntax and semantics is largely explicit, but a lot of my knowledge of how to program is tacit.

Machine Learning

Now expert systems are out of fashion, for those very reasons and the technique of the moment is Machine Learning. We no longer try to make our knowledge explicit, we just give the computer lots of data and let it learn things for itself. This works for a lot of things that expert systems could not do (including, up to a point, face recognition) and it seems to handle the problem of tacit knowledge OK.

But, are we not missing something? We’ve forgotten about human experts, isn’t their knowledge still useful? I like to think that my students learn better (or at least faster) when I teach them than they could on their own. Might not the same be true of computers?

Learning tacit skills

People do learn tacit skills ranging from art to psychotherapy in schools and universities, aren’t they taught? Surely they are getting something valuable that they can’t learn from themselves.

When I teach Programming I give lectures that explain the explicit rules of the language, which then helps them when they go out and do their own programming practice (learning the tacit skills). We could do something similar in machine learning, putting in some explicit rules before the learning starts (Bayesian Networks do something like this, and we can also think of hand authored features doing something similar).

Reflective Practice

But that isn’t really how teaching works. I don’t just give my students some rule and then tell them to get on with learning to program. Most of the real learning in my courses happens in labs. Sure, a lot of lab time is independent work, but it is also a place where students can ask me or my assistants for help and also get feedback from us. Something very important happens during this feedback.

Donald Schön described how this one to one coaching works in his books The Reflective Practitioner and Educating the Reflective Practitioner. He looked at teaching across several professional domains (Architecture, Music, Psychotherapy) and in all of them one to one coaching was key. Teachers can’t teach explicit rules of how to do any of these things (an approach he calls “Technical Rationality”). Instead students have to grapple with problems themselves (e.g. how to design a school to fit in a difficult landscape). But teachers can help students when they become study by giving feedback and demonstrating new ways of approaching the problem. While they cannot teach general rules they can show how to act in particular situation and so help students come to their own general understanding.

Reflective Machines

So could this work for machine learning? Could we teach machines tacit knowledge by coaching in the same way we teach tacit knowledge to people?

The key idea is that teaching isn’t just giving explicit rules, or even giving a few rules and then letting the students get on with learning for themselves, it is a cycle of interaction where students try to do something and then teachers give them feedback or help them improve what they have done.

I believe that this type of learning cycle is implemented by an approach called Interactive Machine Learning which was introduced to me by Rebecca Fiebrink, who I am now very lucky to have a colleague at Goldsmiths. Interactive Machine Learning doesn’t see machine learning as a batch process where you give a load of data to the machine and let it get on with it. It sees it as a cycle where a person lets the computer learn a bit, but then looks at the result and gives feedback to improve it (for example by supplying more data).

One think I really like about Interactive Machine Learning research is how it really values the role of human experts, while also acknowledging that they can’t always know everything ahead of time, that they need to engage interactively with the learning process to understand what the challenges are. I am really optimistic that it has the potential to bring how machines learn a bit closer to the way people learn.

--

--

Marco Gillies
Machine Learning for All

Virtual Reality and AI researcher and educator at Goldsmiths, University of London and co-developer of the VR and ML for ALL MOOCs on Coursera.