Blind Development

Published on Aug 16, 2019

Your mission – To walk down a hill, blindfolded. When you think you have reached the bottom you can take your blindfold off. However, if you haven’t reached the bottom you will have to make some mission critical decisions. Each decision will again be on limited knowledge. You can abandon the mission, start over or continue with your decent.

About the journey. You have no idea about the hill. All you know is that others have started the journey and that at the end there are great opportunities. You do not know how steep the hill is or about the terrain. The one fact you know is that the hill can be deceiving. At times it may appear that you have reached the bottom, it levels out, but is this the bottom? If you take the blindfold off, you would realise this is just a part of the hill and the journey looks no more complete than when you started. So where to go now?

You only have a basic guidance system that suggests you are reaching level ground, but the guidance system is very localised as it’s only providing you data on your current location and not the complete hill. The guidance system can measures two factors if slope is declining or inclining, if the slope is declining this means the loss is decreasing and you could continue, if the decent of the hill increasing then this means the loss is increasing and you should change your path or start over again. What on earth am I talking about? What relevance is this to you and an engineer or a manager? This sounds more like a frustrating adventure story not a tech blog!

Well is it not kind of like an adventure story when you’re developing Ai software? Your development journey can be unknown when you start, and you only have a general goal of when it finishes. Along the path there are many times when it feels like it should be the end, yet throw in one more factor and, bang, you are at the start again.

This ‘walk down the hill’ analogy was given to me when I was discussing training data for our Ai computer vision application to describe the progress we were making. When you’re training an Ai module with your data it can appear that the training has been a success and the ground you’re walking on has levelled out but when you remove your blindfold and integrate the new training weights you discover that you have not reached the bottom of the hill, you just reached a little level step.

Now that you have removed your blindfold, tested your success (you’re somewhat happy with your results) and looked around where you have landed, you now must make a decision as you have not landed at the bottom of the hill.

Do you: A) start over again because you believe you can do better a second time or B) do you put the blindfold back on and train some more data and continue to walk down the hill?

If you decide to put the blindfold back on and walk down the hill this doesn’t grant you instant success as you may end up walking back up the hill (i.e. one step forward two steps back). By starting again you can map where you went wrong and add some more data to your set and aim to end up in a better place than you did the first time. Try explaining that to the manager. What you want to start again? You said you have been making such good progress!

How do you know when you have arrived? Maybe the use-case for the Ai works and this feels like progress. You can now show off and say your Ai does something – we see the videos all over the net…However, extend the use-case a fraction – say from Pictures to Video or from 1,000 users to 1,000,000 users and oh dear, you realise the hill is not in Wales but in the Himalayas.

Ai has been around for decades. However only in recent years we have gained the ability to develop commercial Ai applications. Ai can appear extremely intelligent (fast and doing boring things) while appearing extremely unintelligent. For example, in computer vision, you can train and teach an Ai about cars but the moment you show the same Ai a van or a truck, which to a human seems a relatively simple and straight forward difference, for the Ai it can be a near impossible challenge. i.e. you are not at the bottom of the hill – now you need to add vans and lorries and maybe the whole of your chosen path is wrong.

How do you know you have reached the bottom? Just like reaching a bottom of a hill Ai can be measured and tested by the success of reaching the bottom or the accuracy of the Ai, measuring success and accuracy (reaching the bottom) should be understood before scaling the hill otherwise you can have a car vs van situation.

Ai is a journey; so is development. Ai may understand what a car is but not a van or what an apple is but not an orange does this mean the Ai does not work? No, it means the Ai was trained to understand cars or apples etc.

To develop an Ai, the company must understand this journey, computer vision is a path, what it can do along the path is the journey. The end of the journey is when you have reached a goal. But the fun part (the adventure!) is that having got somewhere, there are multiple more journeys and use-cases to go on and solve.

Posted in Business Technology on Aug 16, 2019