This is the nineteenth article in a series dedicated to the various aspects of machine learning (ML). Today’s article will focus on the design of learning systems, providing an overview of essential concepts like target functions and representations of target functions.
If you’re not a parent, then please do a little imaginative work for this opening paragraph to translate: It’s summer vacation, and you’re a parent of three smart, beautiful children that are wise beyond their years, something that it feels everyone you know tells you, like you hadn’t already realized your children are awesome. You are proud of your children, but, although you don’t play favorites, you have special hopes for your middle child, Lisa, who in her 8 years of life has gotten more A’s on schoolwork than you ever did in your entire academic career.
Though you wish she would get out more and socialize, there is a certain contentment that you feel when you pass by Lisa’s room and see her reading a book, and not just one of those weird “some ten year old casts spells that make people tap dance” books that the publishing industry markets to children, but books about the natural world, books about science, things you never paid much attention to in grade school through college—you were a marketing major—and especially not today.
However, it’s summer vacation, and you’re a little worried about how she is spending sixteen hours a day by herself in the garage, working on some gadget or gizmo that’s way above your head in terms of what it is and does. She says it’s an “automatic bread loaf slicer,” whatever that means, and when you say “English, please,” she looks at you blankly and says “it cuts bread,” to which you reply, “I cut bread,” and she returns with “I know, but this will do it for us,” and you tell her “I already do it for us,” and she says, “but this will make it easier,” and you say “it’s slicing bread, it’s easy enough as it is. Hey, how much money are you spending to make this thing?” and she tells you something about this thing being on her college applications and whatnot, so you just shrug it off as probably okay and go back to watch baseball.
But, during the national anthem that opens the ball game, you start to tear up thinking about the American dream, and how your daughter working night and day on that strange device that you are funding is fulfilling the dream of being a semi-independent workaholic, and this inspires you to turn off the game and learn some more about what your smartypants daughter is working on.
“Hey, honey,” you ask sheepishly as you step back into the garage, “mind telling me a bit about what you’re doing?”
“Well, dad,” she says, without looking up from the laptop—your laptop—that she is tinkering on. “Right now I’m in the designing phase of the learning system.”
“Uh, English please, sweetie.”
“I’m making a program that will make the slicer slice bread.”
“Okay, but how does it know how to slice bread at all?”
“The bread slicing motion will be the target function, which basically means the action that is the main goal of any AI agent, like this bread slicer.” She points to the thing, which you realize isn’t like a normal bread slicer, but is a small robot with a rather large arm with a slicing knife for a hand, and another equally large arm with a humanoid loaf-and-bread-grasping hand. It scares you a bit, and sort of looks like one of the toys that the disturbed neighbor boy from Toy Story would make. “So, as I write the machine learning algorithm for SliceBoyBot, my main focus is on getting it to understand how to best perform the target function, SliceBread.”
“Wait, if slicing bread is such a simple motion, then why does it need machine learning capabilities, and learn on its own?”
“Because it can always get better at the task. Perhaps if it exerts just a little more Another possible target function may be the evaluation of a sliced piece of bread, and scoring it based on how well it was sliced. You see that the robot has camera eyes?”
You notice the creepy, soulless camera eyes.
“Those camera eyes allow the robot to see how well it sliced the bread, and I’ve already inputted scored pictures of bread to let it know what a well-sliced piece of bread looks like. In fact, I’ve run tests already where I’ve inputted unlabeled pictures of bread and had it rate the pictures, just to make sure that it’s able to tell the difference between a heavenly slice and a botch job. But, once it is in our kitchen, slicing our bread, it will need to slice and evaluate unique pieces of bread every day. If it wasn’t a machine learning agent, then it would just repeat the same dull motion every time a loaf of bread was placed near it, but because it is able to learn from evaluating its own slices, it will be able to be a better bread slicer than you could ever hope to be!”
Your ego smarts at that the thought of being bested by what you surmise to be a dangerous toy, but you go on. “Okay, so if were to describe SliceBoyBot’s target function, we would say that it is to slice bread and evaluate its slices so that it can improve how to slice bread without our help. But how do you make that happen?”
She continues to hammer away on her laptop.
“Well, I need to choose how to represent the target function in the learning program. I could go the deep learning route, where neural networks will evaluate each sliced bread and offer an output judgment. There’s the option of just creating a list of rules that tells it how to make a better slice based on the value of the previous slice, like how much harder or softer it should slice or how thick or thin it should be. Or make a step-by-step guide for both slicing and evaluating, where things like how much of the loaf is left or how much of a mess of crumbs is made per slice can lead to figuring out whether any change in slicing technique is needed.”
You nod, understanding now that not all agents learn the same way, and that certain methods of learning are better for certain tasks, like how using a blackboard and chalk to solve problems can be good for teaching the concepts of math but that verbal lectures are better for teaching kids history lessons. It all just depends on the target function, like solving for x in x=10+1,000,000,000,000. Knowing this, you go back inside to the living room, where you are safe with baseball, potato chips, and a nice couch.