The Unlikely Intersection of Dog Training and Computer Programming: Q&A With Dr. David Roberts
Sure, your computer can fetch data, but is it as well-trained as Fido? Dr. David Roberts of NC State is the only computer scientist in the country working in the field of machine learning — smart devices that learn through experience — through the lens of dog training. A dog owner himself, Roberts believes that computer programming and dog training share surprisingly similar roots. We talked to Roberts about thermostats, treats and learning-by-demonstration.
How did you make the connection between machine learning and dog training?
The field of machine learning is focused on developing algorithms that enable computers and devices to improve their experience through experience. Think of the Nest thermostat or Google search results that are personally customized based on your browsing history. Machine learning actually has its roots in reinforcement learning, also called operant conditioning, which is traceable back to work by psychologists in the 1950s, like B.F. Skinner. Over the years that model has drifted away from its psychological underpinnings of reward and punishment, and today’s machine learning devices use sophisticated mathematical models that translate user feedback into numerical signals. The problem is that these algorithms have to make all sorts of assumptions about that feedback, in very context-dependent situations, in order to make it a numerical signal.
With dog training, the most basic communication is achieved through rewards and punishments. So, we started to think about how we can make computers respond to the types of feedback that humans use in pet training. This approach helps to take some of the guesswork out of some of the algorithms for programmable devices. It’s a more natural way of modeling feedback from humans.
Why use dog training as opposed to some other model?
About 40 percent of households in the U.S. have a dog, so dog training techniques are familiar to many people. Even if only half of that 40 percent are well-versed in training methods, and if we can come up with ways for computers to learn from the same training methods used with pets, then we’ve opened up the possibility for 20 percent of the population to customize the behavior of their computers and devices through a much more natural, easier paradigm.
I also see overlap between computer programming and dog training. For example, I try to avoid using forms of positive punishment in dog training because there is the risk of a misattribution occurring. The dog could associate the punishment with something that is not actually what you are trying to discourage, ultimately causing more problems. The same can be true of some of the smart devices on the market today. The Nest thermostat uses a learning-by-demonstration model, so it learns your behavior over time. If it learns your habits incorrectly, it can be really hard for it to unlearn those and get the results you were looking for.
What might the interaction between a user and a computer with your training paradigm look like in the future?
The goal is to open up personalization for not just computers, but also programmable devices like coffee makers, thermostats and light timers. For example, you could train your thermostat to adjust the temperature automatically when you have guests over without having to sit down and set programming rules. It might also send a message to your phone that says, “Based on the temperature outside, I will set the inside temperature at X degrees.” You can either ignore that and give it an implicit reward, or use explicit rewards and punishment by saying “yes” or “no.” It depends on your training style.
My personal theory on dog training is that in order to communicate something more meaningful than the basics of reward and punishment to a dog, you have to effectively manipulate the dog’s environment. Thinking about that in a more formal way has allowed me to communicate more sophisticated things to my dogs. Like, what is the variable that I’m changing or tasks that I’m asking of the dog? Have they been exposed to this before? Can I change more than one variable at once? And those same concepts can be applied to computer science — that’s what our research is all about.
Also, these aren’t competing paradigms. One could combine our paradigm with others used in machine learning devices today and they might actually work together to improve the performance of both.