It started with that first computer programming class, when I was struck dumbfounded by the notion that I would be able to program a computer to talk. I loved the idea of artificial intelligence. To think that I could fashion a set of instructions in such a way that a machine could interact with people. Well, it just blew my mind, and I never got over it.
I wrote several programs that received English sentences and answered with sentences it had already stored. It was exciting, but it became less so as I realized that these programs would never reach a level that you could call intelligent. They didn’t understand these sentences. They were just words, which are symbols for objects in the world. The computer had no conception of the world because it had never sensed it by any means such as sight, sound, or touch.
A machine has to sense the real world as we do, as animals, fish, birds, and insects do. Then you can place a word on that sensing experience. Now we’re getting into real intelligence. What? Did you think that intelligence is all about logic and reasoning? Sure, that’s part of it. But logic deals with symbols, which have to be “grounded” in reality, in the senses, in order to have a link to the real world – to “know” it. Otherwise it’s all fantasy.
I began thinking about the sense of vision when I took on a programming project for a customer. A video camera snapped pictures of promotional credit cards. I needed to create software that could recognize the digits in the images. It takes something that has an architecture similar to the vision handling part of the brain to do this well. Existing software didn’t work well enough. Desperate for some work, I told the customer I could do it and set about inventing a new type of artificial neural network that would recognize those credit card numbers.
It was tough because I couldn’t learn about it. I had to invent it. So I stared into the abyss, at what might be. Then I had to fill it up with something that worked. Ideas were transformed into computer code. The camera took pictures, ran simulated electrical charges through the ANN, and produced strings of digits. The digits matched the cards! I got paid.
Reflecting on the project, I realized that I could extend the technology to make it recognize any object in an image. There were lots of challenges to overcome, many more things to figure out, but it is definitely possible! This was a bigger task because it couldn’t be done in a fast and dirty way. To design this ANN, you have to answer some fundamental questions, like “what is the purpose of a layer” and “how does one program a layer”. Then you have to fit layers into sections, and finally fashion the sections into a module that recognizes objects.
I created test designs and programmed them. When the dust settled, I analyzed the results. Then I did it again, and again and again… And now the theory has been created and documented. The test designs have been programmed and they work as they should. It’s time to put everything together. It’s time to put together the complete design for an artificial neural network that performs object recognition of objects in images, and to program it!
Oh, and that means it’s time to rustle up enough cash to be able to do it. I created a page on a crowd funding site for the project. It was my good fortune that my friend Larry, who has excellent sales and editing skills, helped elevate it from its rough beginnings to something much better. The video shows an overview of the final project, and the text and images give more detail. The video is fascinating because it stars yours truly in his first major speaking role. AI is fascinating!