content {:toc}
On the internet, the algorithms are all around you. You are watching this video because an algorithm brought to you to click which you did, and the algorithm took note. When you open a tweetbook, the algorithm decides what you see. When you search though your photos, the algorithm dose the finding, maybe even makes a little movie for you. When you buy something, the algorithm sets the price and the algorithm is at your bank watching transactions for fraud. The stock market is full of algorithms tradeing with algorithms.
Given this, you might want to know how these little algorithmic bots shaping your world work, especially when they don’t.
In the olden days, humans build algorithmic bots by giving them instructions the humans could explain.”If this, then that.” But many problems are just too big and hard for a human to write simple instructions for. There’s a gazilion transactions a second, which ones are fraudulent? There’s octillion videos on NetMeTube. Which eight should be user see as recommandations? Which shouldn’t be allowed on the site at all? For this airline seat, what’s the maxmium price this user will pay right now? Algorithmic bots give answers to these questions. Not perfect answers, but much better than humans could do. But how these bots work exactly, more and more, no one knows, not even the human who built them, or “built them”.
As we will see… Now companines that use these bots don’t want to talk about how they work, because the bots are valuable employees, very valuable. And how their brains are built is fiercely guarded trade secret. Right now the cutting edge is most likely very (I hope you like linear algebra) but what the current hotness is on any paricular site, and how the bots work, is a bit “I dunno” and always will be. So let’s talk about one of the quaint but understandable ways bots can be built, without understanding how their brains work.
Say you want a bot that can recognize what is in a picture, is it a bee, or is it a three? It’s easy for humans (even little humans), but it’s impossible to just tell a bot in bot language how to do it, because really we just know that’s a bee and that’s a three. We can say in words what makes them different, but bots don’t understand words. And it’s the wiring in our brains that makes it happen anyway. While the individual neuron may be understood, and clusters of neurons’ general purpose vaguely grasped the whole is beyond. Nonetheless, it works.
So to get a bot that can do this sorting,you don’t built it yourself. You build a bot that builds bots, and a bot that teaches bots. These bots’ brains are simpler, something a smart programmer can make. The builder bot builds bots, though it’s not very good at it. At first it connects wires and mudules in the bot brains almost at random. This leads to some very special student bots sent to teacher bot to teach. Of course, teacher bot can’t tell a bee from a three either.
If the human could build teacher bot to do that, well, then, problem solved. Instead the human gives teacher bot a bunch of “bee” photos and “three” photos, and an answer key to which is what teacher bot can’t teach, but teacher bot can TEST. The adorable student bots stick out their tongues, very hard, but they are bad at what they do, very bad. But it’s not their fault, really, they were built that way. Grades in hand, the student bots take a march of shame back to builder bot, those that did best are put to one side, the others recycled. Builder bot still isn’t good at build bots, but now it takes those left and makes copies of changes in new combinations. Back to school they go. Teacher bot teaches and test again, and builder bot builds again, and again.
Now a builder that builds at random, and a teacher that doesn’t teach, just test, and students who can’t learn, they just are what they are, in theory shouldn’t work, but in practice, it does. Partly because in every iteration, builder bots’ slaughterhouse keeps the best and discards the rest, and partly because teacher bot isn’t overseeing an old-timely, one-room schoolhouse with a dozen students but an infinite warehouse with thousands of students. The test isn’t ten questions, but a million questions. And how many times does the test-build-test loop repeat? As many as necessary. At first students that survive are just lucky, but by combining enough lucky bots, and keeping only what works, and randomly messing around with new copies of that. Eventually a student bot emerges that isn’t lucky, that can perhaps barely tell bees from threes. As this bot is copied and changed, slowly the average test score rises, and thus the grade needed to survive the next round gets higher and higher. Keep this up and eventually from the infinite warehouse. A student bot will emerge, who can tell a bee from a three in a photo it’s never seen before pretty well. But how the student bot does this, neither the teacher bot nor the builder bot, nor the human overseer, can understand, nor the student bot itself.
After keeping so many useful random changes, the wiring in its head is incredibly comlicated, and while an individual line of code may be understood, and clusters of code’s general purpose vaguely grasped the whole is beyond. But this is furstrating, especially as the student bot is very good at exactly only the kinds of questions it’s been taught to. It’s great with photos, but useless with videos or baffied if the photos are upside down, or things that are obviously not bees, it’s confident are. Since teacher bot can’t teach. All human overseer can do is give it more questions, to make the test even longer, to include the kinds of questions the best bots get wrong. This is improtant to understand. It’s a reason why companies are obsessed with collecting data. More data equals longer tests and better bots. So when you get the “Are you human?” test on a website, you are not only proving that you are human, but you are helping to build the test to make bots that can read or count, or tell lakes from mountains, or horses from humans. Seeing lots of questions about driving lately? What could that be building a test for? Now figuring out what’s in a photo, or on a sign, or filtering videos requires human to make correct enough tests.
But there is another kind of test that makes itself, test on the humans. For example, say entirely hypothetical NetMeTube wanted users to keep watching as long as possible? Well, how long a user stays on the site is easy to measure. So, teacher bot gives each student bot a bunch of NetMeTube users to oversee, the student bots watch their user watches, looks at their files, and do their best to pick the videos that keep the user on the site. The longer the average, the higher their test score. Build, test, repeat. A million cycles later, there’s a student bot who’s pretty good at keeping the users wathchiing, at least compared to what a human could build. But when people ask:” How does the NetMeTube algorithm select videos?” Once again, there isn’t a great answer other than pointing to the bot and the user data it had access to.
And most vitally, how the human overseers direct teacher bot to score the test. That’s what the bot is trying to be good at to survive. But what the bot is thinking, or how it thinks it, is not really knowable. All that’s knowledge is this student bot gets to be the algorithm, because it’s point one percent better than the previous bot at the test the humans designed.
So everywhere on the internet, behind the scenes, there are tests to increase user interaction or set prices just right to maximize revenue, or pick the posts from all your friends you’ll like the most, or articles people will share the most, or whatever. If it’s testable, it’s teachable, well, teachable.
A student bot will graduate from the warehouse to be the algorithm of its domain, at least, for a little while. We’re used to the idea that the tools we use, even if we don’t understand them, but with our machines that learn we are increasingly in a position where we use tools, or are used by tools, that no one, not even their creators, understand. We can only hope to guide them with the tests we make, and we need to get comfortable with that, as our algorithmic bot buddies are all around, and not going anywhere.
OK. The bots are watching. https://www.youtube.com/watch?v=R9OHn5ZF4Uo