Showing posts with label #artificialIntelligence. Show all posts
Showing posts with label #artificialIntelligence. Show all posts
The Ultimate Cataclysmic Computer Virus That's Coming - The Invisible Apocalypse
Way back in March of 1999, the Melissa virus was so virulent, that it forced Microsoft and other Fortune 500 computers to completely turn off email so that it could be quarantined. The Mydoom worm infected over a quarter of a million computers in a single day in January 2004. The ILOVEYOU virus was just as bad. A virus worm called Storm became active in 2007 and infected over 50 million computers. At one point Storm was responsible for 20% of the internet's email. This was the magnitude of the virus threats of the past. Nowadays there is a shrinking habitat because most people have antivirus software.
The website AV-Compartives.org measures the efficacy of antivirus software, and as a whole, the industry is pretty good at winning the battle of virus and malware protection. Here is their latest chart on the performance of various players in the field. It measures their efficiency at detecting threats. There are just a very few players at below 95% detection rate. It seems that virus infection affects mostly those who aren't careful or knowledgeable about intrusion and infection threats.
Viruses piggyback from other computers and enter your computer under false pretenses. Anti-virus code works in two ways. It first tries to match code from a library of known bad actors. Then it uses heuristics to try and identify malicious code that it doesn't know about. Malicious code is code that executable -- binary or byte code instructions to the CPU as compared to say photos or files which do not have these coherent binary instructions in them.
Viruses now have to come in from the exterior, and when you have programs looking at every packet received, the bad guys have to try and trick you to load the viruses with links in emails or by tricking you to visit malicious sites where code is injected via the browser. As such, it is possible to keep the viruses at bay most of the time.
But we are due for a huge paradigm shift, and an ultimate, cataclysmic computer virus is coming, and its emergence will be invisible to the current generation of anti-virus programs. It will be the enemy within. And it will reside in the brains of the computer -- the artificial intelligence component of the machine. Let me explain.
Artificial intelligence programs which rely on artificial neural networks consists of small units called neurons. Each neuron is a simple thing that takes one or more inputs, multiplies it by a weight, and does the same to a bias. It then sums the values and the sum goes through an activation function to determine if the neuron fires. These neurons are arranged in layers and matrices, and the layers feed successive layers in the network. In the learning phase, the weights of the inputs are adjusted through back propagation until that machine "knows" the right response for the inputs.
In today's programs, the layers are monolithic matrices that usually live in a program that resides in memory when the AI program is fired up. That paradigm is a simple paradigm and as the networks grow and grow, that model of a discrete program in memory will become outmoded. Even with the advances of Moores Law, if an artificial neural network grew to millions of neurons, they all cannot be kept in active memory.
I myself have built an artificial intelligence framework whereby I use object oriented programming and serialization for the neural networks. What this means is that each neuron is an object in the computer programming sense. Each layer is also an object in memory, each feature map (which is a sub layer sort-of, in convolutional neural networks) is also an object containing neurons. The axons which hold the values from the outputs of neurons are objects as well. When they are not being used, they are serialized, frozen in time with their values, and written to disk, to be resurrected when needed. They fire up when needed, just like in a biological brain. The rest of the time, they quiescent little blobs of files sitting on the disk doing nothing and looking like nothing. These things would be the ticking time bomb that would unleash chaos.
These types of Artificial Neural Networks are able to clone themselves, and will be able to retrain parts of themselves to continuously improve their capabilities. I see the day, when one will install trained AI nets instead of software for many functions. And there is the vulnerability.
An AI network can be trained to do anything. Suppose one trained a neural network to generate malicious code among other more innocent functions. It would create the invisible apocalypse. The code would be created from a series of simple neural nets. One cannot tell what neural nets do by examining them. There would be no code coming from external sources. The neural nets that create the code could be serialized as harmless bits and bytes of a program object whose function is incapable of being determined until you ran those neural nets AND monitored the output. The number of neurons in the neural nets would be variable because of synaptic pruning, recurrent value propagation, genetic learning and various other self-improvement algorithms that throws up and sometimes throws out neurons, layers and feature maps.
This would be the most clever and devious virus of all time. It would be virtually undetectable, and synthesized by the artificial intelligence of the machine inside the machine. Stopping it would be impossible.
So Elon Musk and Stephen Hawking would be right to fear artificial intelligence -- especially if it were subverted to create an AI virus internally without ever being discovered until it started wreaking destruction.
That day is coming. I'm sure that I could turn out a neural network to write a virus with today's technology. Viruses are simple things that cause great harm. A complex AI network could generate them surreptitiously, hold them back until needed and strike strategically to cause the most damage. This is something that security companies should be thinking about now.
Machine Learning In A Nutshell ~ Behold The Wonders Of A Grade 10 Math Book
The tsunami of Information that bombards us was supposed to sink us in a quagmire of bits and bytes and paralyze us with Information overload. That was the scenario painted by Alvin Toffler in his usually prescient book called "Future Shock". The premise was that our some three million years of evolution in a non-technological world left us poorly prepared to handle the onslaught of the information stream that assaults us almost every waking minute.
As it turns out, the computer that is responsible for creating the problem is now being used to solve the problem. If you scan the tech section of any publication, the words "Big Data", "Machine Learning", "Deep Learning" and "Artificial Intelligence" will jump out at you. This jargon all points to computing machines digesting the vast amounts of data that they produce and creating usable information.
Most of the data generated is generated by machines, and by itself it is junk. You can't learn much from it. However, a thousand pieces of information may have valuable data in it, or it may not. But the value in that huge collection of data may be in the exceptions of the average values or the data outliers. For example, if there were deviations in a usual buying pattern of consumers, it could signal the beginning of a new trend. These are called weak signals, and may give a competitive edge to those data miners who are able to isolate them, and to capitalize on them. Another term that you will hear is "fat tails". This is data that doesn't fit into a standard bell curve, and it creates bubbles at the beginning or end of the curve if you plot it on a graph. Usually it means that something very interesting is happening that is out of the ordinary and could provide valuable intelligence to the data analyst. That information is not apparent from watching the big stream of machine generated data go by.
So how does a machine actually learn? The old way of doing things was to store each piece in a database and then try to look it up. It was like going to the library, and reading every card index of the subject matter of the information that you are trying to look up. Needless to say, it doesn't work very well if you have millions of cards to go through. There had to be a better way, and that better way was the artificial neural network. It is the basis of machine learning.
An artificial neuron is a very simple thing, and is quite stupid actually. All that it can do, is add, multiply, compute just one math function (a formula) and compare the result. However this little virtual, self-learning thingie is the basis of all machine learning. You can gang hundreds and even thousands of them together in a massively parallel system, and they can do very complex things like recognize faces and handwriting, find doorways for robots, and tease out the latest trends in footwear.
This is how it works. Let's suppose that you want to teach your machine to recognize the number 42, which according to the "Hitchhiker's Guide To The Galaxy" is the answer to the Ultimate Question of Life, the Universe, and Everything as computed by the Earth which is a huge organic computer.
You could do this with the simplest example of an artificial neural network. It is a single neuron consisting of an input and an output. All of the knowledge of recognizing the number 42 is stored simply as a number, in a value called the weight. And no, the weight is not 42. The weight is the numeric value that determines if the neural network hoists up a flag indicating that it has seen the number 42.
There is another hidden input number that is unchanging in value for all inputs, and it is called the bias. The bias is like a control number. A very simple analogy, is that it is like a thermostat. In real life, a thermostat controls the range at which a furnace will fire. In an artificial neural network, it has the same function. It determines the range at which the neuron will fire to indicate the number 42.
So when you present a any number to the input, the neuron takes it and multiplies that number by a weight. It also multiplies the bias by a weight. It adds the two together. Then it spoon feeds the number down the chute into the activator. This is a go-no go threshold. The activator consists of a mathematic formula that defines a function. It puts out a number between zero and one. This activation function is very unique in the fact that no matter what number you feed into it, it always gives the answer in a very long decimal from zero to one. It is like a thermometer. The closer to the right answer it gets, the closer to the value of 1 comes out of the activation function. If the answer is less than one, it is a failure or a no-go. The neuron doesn't fire.
You don't even have to determine the weight. The neuron can be trained. The training is called back propagation. In the training mode, you show it a whole bunch of numbers called a training set, and when the input number is 42, you ask the neuron to indicate the right answer by responding with a value of 1. Any other wrong number will show a zero at the output. When run it, and it gets the answer wrong, it adjusts the weight a little bit and tries again. You keep running the training set until it knows the right answer. It is that simple.
What makes this a powerful concept, is that you can gang hundreds of neurons together, and machine learning can do quite complex stuff. Behold the amazing Dark Arts of a Grade 10 math book.
Subscribe to:
Posts (Atom)