Over the past years we've heard about the recent buzz in "Artificial Intelligence" through ideas like Machine Learning, Deep Learning or Reinforcement Learning.
Many have believed an "AI" would transcend humanity with cognitive awareness. We explore(and maybe go off topic 😉) the answer to the old age question of Alan Turing in his Imitation Game section of the paper Computing machinery and Intelligence--Can machines think?**
While we have achieved tremendous levels, have done amazing things with machine intelligence and it is seen in the news many do not know that the majority of these ideas and the algorithms implemented were actually created in the 60's. I also read about reaching the singularity where machines will gain consciousness and overtake us. I don't think that will happen. I personally don't think we will ever be able to achieve "consciousness in machines" whatever that might be. I mean we're still talking about ones and zeros -- actual metal though with extreme levels of abstraction. Generally abstraction in the domain of computer science have helped us achieve a lot doing less and less work Example: Writing Dev.to in machine language instead of Ruby 🙂. If the machines actually "overtake" us it will not be because of consciousness but because of the errors and biases we encoded in the training processes.
Don't get me wrong we will be able to achieve a lot and so much more with the advances in the field.
Machine Intelligence will assist us the same way software is assisting us in our various tasks today it's just that it will assist us in a much more powerful way than before but not necessarily replace us.
One of the issues I have with this field is the hype that's being built around it--the misconception that "AI" is about duplicating Human Intelligence entities. It is about algorithms. It is about inventing algorithms to solve problems that have previously been attributed to only human cognition. Technically, all computer programming is taking human processes, inventing algorithms and code, and then running the code on a computer. The first computer programmers were the human computers that understood the numerical methods for the numerical solution to statically processes and differential equations. It was never considered “AI” as the term had not been invented when these first programs were developed.
Another misconception is the fact that "AI" can solve all problems. The "AI" Winter of 80’s was the over selling of “Expert Systems.” The current algorithms we have are “Deep Learning” and “Machine Learning.” With these hammers, programmers are looking for the ML nails in the world. With experience and lots of failures, the boundaries of solutions for DL and ML will be marked out.
From the experience of a very old programmer;
A number of AI algorithms are now simply, algorithms. They were developed from AI research and found so useful to be members of algorithms and data structure textbooks. I expect this trend to accelerate. Examples are Depth First Search, Breadth First Search, Garbage Collection, sorting, and pattern matters matching, just to name a few. (Yes! I included sorting. Quicksort was invented to support a natural language translation program.)
Most algorithm are classified as AI because of the name of the institution it was developed in. Like the “MIT AI Lab” or “Stanford Artificial Intelligence Laboratory’s” or SAIL.
From talking with people who have been programming in the field for the last 50 years(Yes you read that right!) I have been told that most of the algorithms we use in software development today were as a result of "AI" research.
"AI" has always said it would replace everything. It has not.
The singularity invented by Vernon Vinge is cool. But does not reflect reality.
The double of computing power that he anticipated has not come to pass. Computer processor power had continued to scale with Moore’s Law and has been almost flat since 2005.
"AI" has developed wonderful and useful algorithms. Once those algorithms are put in a Algorithms / Data Structures textbook, the AI origins are forgotten! We are using "AI" algorithms on a daily basis, but we have forgot that this critical algorithms came from "AI" research. Quicksort was invented to support a program to translate Russian into English. Quicksort has a "AI" pedigree, but who remembers that? Read what Toney Hoar wrote about the invention of Quicksort.
Most of the algorithms used to do the amazing things we can now do with them were already developed(or at least started) in the 60's and 70's. Right now we see that the compute power and the amount of data needed has increased so as to use them to their seemingly full potential. An example I can think of is that of the self driving cars experiment at the Strategic Computing Initiative (1983-1993).
Navlab 1 was a Chevrolet Panel Van containing 5 racks of hardware include 3 SUN workstations, a Warp supercomputer and video hardware. With a lot of effort on the software it could do 20 mph in the late 80s.
Navlab 2 was a Huvee which could do 6 mph on rough terrain and 60 mph on the highway. It used 3 Sparc and several 68000s for its computation.
I don't know but I find it strange when it is said "AI" will wipe out software engineers in 10 years(Yes it will but in the same way compilers did in the last 50 years).
On the thought of "AI" replacing software engineers I think that they will be able to accomplish more and more with less and less but there is no path on the horizon that would do away with programmers in the general sense.
Right now you already don't need programmers for certain tasks. You can use Microsoft Word to write a long, complex document, without needing to write custom typesetting code. You can use Excel to create quite complex spreadsheets that act as mini programs in their own right. You can use Wix or Squarespace or similar to create a web site with limited categories of interactivity.
Machine intelligence, in its current state, is not even close to being able to move the needle on any of this. It's not a matter of tweaking an algorithm a bit, or throwing more hardware at it, either.
The reason is that the core problem software engineers solve is that they translate high concepts into specific solutions. Meaning they need to understand the problem from a human perspective.
Whereas the very best AI software is currently just pattern matching and guessing at results. The absolute best you could hope for with that kind of approach is to have it create something that's already been created. Most software, on the other hand, is new. At least a little bit. So there aren't a million examples of how the result should look to train the AI on.
And even then, the exact results need to match what the users need, which again looks back to understanding what they need.
And considering the cutting edge of AI research is still mistaking the side of a truck for sky, or mangling absolutely clear speech into something laughable, the fact that “understanding” isn't anywhere near current AI is painfully evident.
I want to conclude with a more philosophical than scientific take. Is every thought and feeling we have simply a bunch of numbers being multiplied and added in linear algebra fashion? Are our brains, in fact, simply a neural network doing dot products all day?
That sounds almost like a Pythagorean religion that reduces our consciousness to a matrix of numbers.
I think this is why so many scientists believe general artificial intelligence is possible, as being human is no different than being a computer. (I’m just pointing this out, not commenting whether this worldview is right or wrong).
If you do not buy into this Pythagorean philosophy, then the best you can strive for is have AI “simulate” actions that give the illusion it has sentiments and thoughts. A translation program does not understand Chinese. It “simulates” the illusion of understanding Chinese by finding probabilistic patterns. When your smartphone “recognizes” a picture of a dog, does it really recognize a dog? Or does it see a grid of numbers it saw before?
I have some reservations on if we will ever be able to pass the Turing test.
As in Turing's paper I don't think we have formalized what is actually Intelligence so it will be difficult to determine if a machine can pass it.
Also if we are able to transfer "consciousness" to a computer is it really your consciousness being transferred or you are just dead then there is a computer that just imitates you perfectly?