School for wayward bots.
Our world is governed by invisible technology; behind the screens there are a countless number of simple decisions being made for you, running our daily existence. Depending on your level of tech savviness, you may or may not have any idea of how these “thingys”? programs? Algorithms? bots? actually work, but it turns out, even experts don’t really know.
We put a lot of faith in computers, cold and calculating machines that are the right sort of magic, as most of us have literally no idea how they work, just maths and coding, and I imagine most of us like it that way. It allows for an air of mystery and blind trust and if the computer says so, then it must be right! However, the basics of how computers work is actually pretty simple (kinda), it’s just a matter of “this or that” questions, cheating branching paths for information flow. These as known as logic gates, a simple choice; “yes or no”, “on or off”, a “1 or 0”, but for a program to be useful it has to be able to answer hundreds if not thousands of these questions almost instantly.
Programmers once worked in the physical realm, with electrical fuses and punch cards used in computers which occupied entire rooms. But with the onset of tiny silicon computer chips, computers could truly move into the digital age. Instead of physical “gates”, diodes and fuses controlling the flow of electricity, programmers now write these logic gates in code, digital languages used by computers. But these algorithms are only as good as their programming, and as computers became more integrated into our daily lives, we started needing them to do more complicated things, things impossible for a human to articulate in any computer language. So, programmers took the problem out of their own hands and started designing computer programs which can make other programs, and so Machine-Learning was created.
How bots are built with machine-learning is very complicated and their exact workings are a closely guarded trade secret, however the simplest process that we can “explain” here is using an Evolutionary Algorithm. It may be impossible for a human programmer to create a bot that does the exact job, however, it is possible for a human programmer to design a bot which builds bots, and a bot which can test the capability of the builder-bots creations. Neither of these man-made bots can do the task the programmer needs, but that does not matter.
With orders from on-high, the builder bot gets to work creating bots. Not really knowing what it is doing, the builder bot creates a set of “working” programs almost at random, perhaps functional but not especially good at what they do. These creations are then tested to see how well they can “perform”, and the results of these tests are graded by the tester-bot. At this early stage, none of these newly created bots will do well, performing no better than random chance. However, by the same logic, some bots will do better than others, due to dumb luck. The failing bots are scrapped and the ones that performed better are kept as reference, and are regenerated by the builder bot, but with random alterations. The process starts over, with each subsequent generation of bots tested and graded on a curve, with some performing better than others. With this artificial selection pressure and the almost endless capacity of replication with alteration, you have artificial evolution, better than the real thing. Infinite monkeys with infinite typewriters.
When this process is complete what you are left with is a creation which is capable of doing a particular task very well, but only this task, and because of the nature of its creation, the result of countless random changes to its base code, it is virtually impossible to decipher the code with no way to untangle it. It may seem somewhat disconcerting that these virtual machines are running rampant without anyone knowing how they work, but if the system works, so what??. However, what happens when it doesn’t?
In 2015, the Google Photos app was rolled out to the public. An online album where you could upload all of your digital photos without the need to sort them, Google’s new AI could work out the when’s and where’s the photograph was taken, as well as identify the photograph’s subject …. most of the time. Soon after its release, software engineer Jacky Alciné was looking through his photo albums, Google had managed to sort his pictures into groups of skyscrapers and bicycles. However, one album containing pictures of his black friends had been labelled “gorillas”. It almost seems too on-the-nose to be true; even seemingly infallible online entities, built on “data”, had reaffirming one of the deepest ingrained racial slurs used against black people.
We might like to believe that the unthinking and logical computers we make are immune to any of our human nonsense, but alas, human nonsense can even taint the ways computers work, with implicit bias either being written into the code or by the data used to hone their abilities. These bots are only as good as the code that is written for them; monkey see, monkey do, but at least if a person had written the original code, there might have been some way to address these unsettling bugs. However, if these were created by no one, just a product of a builder with a biased slant, and a tester provided with unsound results, you may just end up with a destructive piece of code, optimised to perpetuate unseen bias. How many of these algorithms are there running behind the curtain, silently perpetuating racist or other troubling ideals without anyone realising?
It is impossible to say how this mistake with Google Photos occurred: inherent bias written into the code? insufficient data fed into the development of the AI for it to be able to differentiate between either black faces or gorillas(1)? the AI’s inability to distinguish certain features on faces which lack the contrast produced on white faces? We can only speculate, but as we all know now, computers are stupid.
Perhaps what is more egregious is that this issue was not picked up earlier, during countless beta tests to work out the kinks; while figuring out the subtle nuances between pedal bikes and motorbikes, how did no one notice this blind spot? Although Google has claimed that people of colour did work on this project and the AI had been tested with black people’s faces, it is hard not to conclude that this was not a result of a homogeneity within the industry. Google were obviously very quick to apologise and started working on a software patch. Unfortunately, it really was just a patch, as it was later revealed that instead of going back to the code and fixing the issue at its source, they just removed these problematic categories (2). Google has not explained this decision, perhaps it was too costly to scour the AI code for the offending commands, or it would have taken too long to recreate an equally effective bot using different testing parameters. But, we are left with a blunt tool that does a job well to some degree, without any knowledge of how or why it works.
And while you may currently have the best image sorter, or fraud checking algorithm, these bots are only as good as what we have provided to them. So perhaps moving forward, if we shift the demographic of programmers to include more people of colour, women and other minority groups, and with a mindfulness of what information we feed into our next evolution algorithm, maybe we can build better uncontrollable bots, which are a little less bigoted. Let’s have a slightly more civil robot uprising, shall we?