Machine Learning and AI are popular at the moment. Teedy Deigh takes the Turing test.
What can you tell me about ML?
It’s a functional programming language from the 1970s with a Hindley-Milner type system and lacking irritatingly stupid parentheses.
Sorry, perhaps I should have been clearer: what can you tell me about machine learning?
They’re not very good at it. Bloody idiots, if you ask me. Always pointing out the same basic problems – same compilation errors for the same syntax errors, every time! Unable to add two and two – actually, that’s about all they can do. Unable to figure out that, “No, I did not actually want to delete the whole project repo” or “No, I did not actually want to export the sweary test data into the live system”, even after the fourth time... hypothetically speaking.
Artificial intelligence? Artificial, awful and amusing.
What applications do you think AI is best suited to?
Sorting out cat memes from dog memes – really, people shouldn’t cross those two streams – and replacing well-understood, testable algorithms with lots of matrix multiplication over large quantities of who-knows-where-it’s-from data. Great for soaking up any spare cycles on a GPU.
Why do you think developers are keen to get into AI, machine learning, etc.?
Many developers have been brought up on a staple diet of science fiction. They have also been taught that to be successful and innovative in technology they need to be disruptive. What could be more disruptive than creating Skynet, HAL or Ava? It’s the perfect marriage of these two influences.
For developers who don’t get to work at Facebook or Google, implementing AI functionality in their own apps probably offers the best path to disrupting the fabric of society.
Perhaps you can think of other reasons machine learning is proving popular among developers?
Of course. Developers who don’t like testing their code – and who does, right? – now have the perfect excuse: because no one actually has any idea what they’re expecting from a machine learning system, no one can write down their expectations, so they’re off the hook!
I’ve noticed a shift from developers talking about TDD – test-driven development – to BDD – which I am predisposed to believe is bias-driven development. Because they’re not entirely sure what to expect, they use should when describing outcomes.
Instead of implementing actual intelligence based on meaning and forms of causal and contextual reasoning – which is an AI-hard problem – an increasing number of companies have switched to creating correlation engines that reflect unintended characteristics of their input data in their output – much easier!
We’re moving from GIGO being the dominant paradigm to BIBO, from garbage in, garbage out to bias in, bias out.
What can you tell me about convolutional neural networks?
I believe a convolutional neural network is a neural network with high technical debt, i.e., more spaghetti than axon. Either that, or we’re talking about unnecessarily complicated solutions to simple problems. This is the complexity hill-climbing methodology implied in Anderson’s law.
Named after SF author Poul Anderson: “I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated.”
It’s always important to consider security in software development, and this approach clearly optimises for job security.
Speaking of accidental complexity, would you like me to send you my deep-learning solutions for the FizzBuzz, Roman numeral and bowling game katas?
Umm, no, that won’t be necessary. Have you heard of Turing?
Is this a test?
Yes, and I’m afraid you haven’t passed.
But I’m real! I’m Teedy! I’m a human be-
Editor’s note: I received this just in time for our April edition. Somebody, as yet unknown, has interviewed our annual writer, Ms Teedy Deigh, as you can see.
Elements are reminiscent of the Voight-Kampff (VK) test from the film Blade Runner. This is used to spot replicants or androids, by focusing on emotions. The film’s press-kit describes it as, “A very advanced form of lie detector that measures contractions of the iris muscle and the presence of invisible airborne particles emitted from the body. The bellows were designed for the latter function and give the machine the menacing air of a sinister insect. The VK is used primarily by Blade Runners to determine if a suspect is truly human by measuring the degree of his empathic response through carefully worded questions and statements.”
The original Turing test is a way to circumvent questions about whether a machine can truly think.
Whether My Teedy Deigh has any empathy or actual intelligence remains an open question.
I can assure our readers she has not been deleted.
Or at least may be replicated in time for April 2019.