Bonsai: a Machine Teaching Startup

Marco Gillies
Machine Learning for All
4 min readFeb 22, 2018
Bonsai work in industrial control applications like wind farms.

I just listened to an interesting podcast on O’Reilly Radar which interviewed Mark Hammond, founder and CEO of Bonsai, a machine learning startup.

The interview centered on Machine Teaching, a phrase used by the fantastic Machine Teaching Group at Microsoft Research and something I have written about in the past. I thought I would highlight some of the interesting ideas that this brought to light.

Teaching as Curating Example

For Hammond, machine teaching is about using human expert knowledge to support and guide machine learning just as teachers guide and support human learners. That means curating the training data. Rather than throwing a mass of data at the learner, you carefully data that will help the learner to learn. This can mean starting with the easiest data to learn from, as we normally do when teaching humans. Hammond uses the example of teaching his son to bat at baseball, he starts by hitting balls that aren’t moving, not with fast balls. Exactly the same happens at university, I start teaching programming with a simple “Hello World” type example not a control system for a nuclear power plant. But machine teaching isn’t just about doing easy examples, later in the process it can be about highlighting difficult and important examples that happen quite rarely (Hammond uses the example of teaching self-driving cars about unusual but hazardous road conditions). Bonsai, often do this through simulations that are specifically designed to teach the learning algorithm, which is an interesting idea and echo the use of flight simulators for human learner pilots.

All this amounts to an interesting way to make use of the knowledge of subject human matter experts. In many domains expert knowledge is implicit: experts can do a task but can’t necessarily explain exactly how they do it. What they can do is teach the skill, not by explaining it, as such, but by demonstrating it a number of different examples, exactly like the machine teaching methods that Bonsai use (more on this in my other machine teaching article).

Explainability

Another interesting topic he brought up was explainability, which is very important in many areas of machine learning, it isn’t good enough for the machine to do the job we need to understand how it did it so we can check it is right. Hammond says that machine teaching solves this problem. The learning algorithm remains a black box, but you don’t need to understand that as such (he uses the analogy of a database system, where you don’t need to understand the algorithms that handle data storage, you just need to understand the data and the data schemas). Here what user understand is the machine teaching programmes, which help understand the decisions of the system.

He uses the example of a golf coach. You might have practiced a lot of golf and be able to do an excellent swing, but not really be able to explain how to do it. Part of what a coach brings to your learning is a vocabulary to talk about how you do golf swings, to distinguish between this type of swing and that type of swing.

To be honest, I don’t fully understand this part of the interview. I’m not that convinced that, just because you know how a machine learner was trained, that you will understand it, but I’m sure that there is more to how it works and I think the general idea and golf coach analogy are very interesting.

EDIT: I found this article from Bonsai that talks about explainability.

It helps understand the entire approach a bit better. Bonsai allows people to break a problem down into a number of behaviours or concepts. In the article they give an exmaple of a Lunar Lander game, where you need to land a spacecraft. The behaviours are keeping stable, going to a point in space and landing gracefully. These behaviours interact with eachother via a method inspired by Rodney Brooks’ Subsumption Architecture. Some behaviours like stability are fundamental, but their details can be overridden by other behaviours like landing.

When teaching a machine learning systems you define the structure of these behaviours, but the details of the behaviour are learned. You teach the behaviour by providing training data that is specific to that behaviour. This is an interesting use of structure for expert knowledge combined with learning.

The reason that this type of learning is more explainable, is that experts can understand what the behaviours are, even if the details of how the learning system achieves them are hard to understand.

--

--

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.