In traditional software systems, outcomes are discrete and the creators are aware of the behaviour of these systems (rigid set of instructions). AI/ML based systems bring a fundamental shift to this way of thinking where instead of programming a system to do a certain action, it’s creators provide data and nurture them to curate outcomes based on the input. These systems learn over time.
What role do designers, managers and HCI practitioners play in defining guidelines and design of these systems when much of the workings of these systems are largely inaccessible to it’s creators?
Before getting into the details of whether your problem needs AI, let’s understand some basic terminologies.
Machine Learning (ML)
Machine learning comprises techniques and methods that make computer programs do something without programming super-specific rules. It’s creators help computers discover patterns and relationships from a dataset. Popular examples where ML is used include object detection, voice recognition, OCR or recognizing cats from youtube videos.
In machine learning, instead of the creator specifying rules to the program, the program learns by discovering patterns and relationships from a dataset. The job of the creator then is to nurture, guide and provide feedback to this ML algorithm to behave predictably.
An important thing to remember is that techniques like machine learning don’t actually bring intelligence, but rather they bring a critical component of intelligence — Prediction
A model is a specialized mathematical function that represents steps for a computer to arrive at a decision. When programming traditional software, we are used to strict rules; if this then that. For eg. If you click the button, send an email, press the shutter and a picture is taken . On the other hand, machine learning models are ‘soft’: they don’t follow a strict logic. ‘Write’ and ‘right’ sound the same but have different meanings depending on the context. Maybe a bald person’s head looks really similar to a duck egg from a certain angle, a bunch of skin colored pixels. We can grasp the workings of ML models better if we embrace this ‘softness’ and understand how these algorithms make the mistakes that they do.
How do you tell a computer what Biryani looks like?
Explaining a computer what Biryani looks like is a really difficult problem to program traditionally. Here’s how you would go about it:
Here’s how you’d go about the same problem with a Machine learning approach: