dacs.doc electric

 

Computers and Creativity - Part 6
Neural Networks

by Richard P. Ten Dyke

 

Ideas that fueled artificial intelligence in the 80’s and 90’s were born in the late 50’s and early 60’s, when universities were getting their first large computers. LISP, the programming language, (LISt Processor) was conceived in 1958 at MIT, the father being John McCarthy and the mother an IBM 704 computer. Raising the child took many years and many people. In the 80’s when large internal memories were possible LISP became a favorite of artificial intelligence developers. At one time, artificial intelligence was actually defined by someone as “a program written in LISP.” LISP has some neat tools: it handles recursive functions —functions that call themselves as arguments — and it can write routines by itself and then execute them on the fly. But LISP has a deadly flaw for commercial applications. As an interpreted language, not compiled, it gives any user the tools to modify the program itself, a security hole bigger than a bus. But, because of its flexibility, it became a good way for college students to show off fancy algorithms and graphics. One can imagine graduate students and college professors becoming entranced with their power, and bestowing on computers an ability to think. Today, LISP is seldom used outside of the military and MIT.

Another idea born in the 60’s and matured in the 80’s was Neural Networks. I mentioned this in an earlier piece, but will expand on it now. It is based on a mechanical view of the brain, with neurons being connected to each other processing information. A Neural Network is a computer program that connects “nodes” to each other with various weighting factors in the connections. The program achieves its personality by adjusting the weights between the nodes. The principal concept of the neural network is the ability to learn from training. It works. Training consists of feeding the program sample data which contains features and results. The program continues to adjust the weights until it can separate the data, based on features, into a number of piles, depending on the results. It sifts through the data over and over, adjusting the weights each time, until the piles are as cleanly separated as possible.

Here is how I used it once. Some of the facts are disguised to preserve confidentiality.

We had a ton of market research data concerning a possible new product designed for engineers. The research was divided into two parts. In part A the respondents were asked about specific characteristics of the product, like speed, price, functions, features, warranty terms — about twenty items in all. One of the features was color, which had no importance to the working of the product.

In part B, the same respondents were asked to choose between pairs of potential product offerings presented to them in a randomized way. Each respondent was asked to select one each from a variety of pairs of offerings that differed in some combination of features. We used a neural network to build a model of the decision process, showing which features were the most important.

The results from part A were easy to predict — more function for a lower price was better. We were surprised when the results from the part B showed very little correlation to the results of the first part. When respondents were asked how they might make a decision they gave different reasons than they used when actually making it. The surprising result of the neural network analysis was that color was an important feature in the decision process. Apparently, engineers, like other people, have an emotional side to their ballyhooed “rational” decision making process. For these folks, and at that time, black was cool and beige was not. After all, what they bought would be seen by other engineers, and their image was at stake.
The value of neural networks is the ability to find relationships in data that may be hidden to the human eye. The term “data mining” derives from the use of neural networks to sift through huge data bases to find hidden relationships.

A commercial use of neural networks is to spot possible fraud in the use credit cards. A credit company was seeking telltale signs that a card is being used fraudulently. They fed a neural network program with a history of use, some which turned out to be fraudulent and some not. The neural network looked for events in card use that were likely precursors to fraud. Recently I received a call from my credit card company inquiring about my use. I had been to California, and the company wanted to know if I had purchased gasoline and also computer equipment, because for them that combination was a tip-off to possible fraudulent use.

Taking a walk with a friend over the holidays, we discussed the limits of the computer to make judgments about aesthetics. He cautioned me to be careful in rushing to conclusions, because, he said, in the U.K. where he lives, they use computer models to predict with high accuracy how many people will watch a particular TV program before it airs. Now, he is not saying that the model can tell whether a program is good or bad, just how many people will watch it. That recalled to me an example a neural network which was used to make human-like judgments.

An automobile manufacturer had to test, for noise, fans to be installed in an expensive car. Six human inspectors were employed to listen to them and reject the bad ones. It was not just loudness; other characteristics of the sound quality could be grounds for rejection.

The company created a data base of sound profiles gathered from a large sample of fans. Trained listeners determined which fans were acceptable and which were not. A data base of sound profiles was created using Fourier transforms to convert sound profiles into numbers. The numbers were then fed into a neural network which created a model to distuinguish between sound profiles from acceptable fans and those which were not. The six inspectors were offered other jobs and the process was taken over by a microphone and a computer. Sorry about the inspectors.

We don’t have space to detail exactly how neural networks work, but it is neither miraculous nor human. It is more like statistics. You may have many factors that can lead to a result that is positive or negative, true or false, A or B. The neural network can create a mathematical relationship using that information to come up with a model that gives similar results. It uses mathematical optimization, starting with one set of constants (weights) for the network, comparing that test result with the known results, and then modifying those constants in a disciplined way to make improvements. It is clever and it works if the problem is properly structured. In can also fail.

An important aspect of neural networks is having the skill to know what factors to test. Hundreds of factors might lead to some conclusion, but only a few might be important. Quite possibly, it might be that certain combinations, when appearing together, hold sway.

A danger when using neural networks is that past is not always prologue; historic data may not predict the future. This is a stumbling block in all such research, and it has been a particular problem for those who wish to use neural networks to predict the stock market. (It has been used with only limited success.) One can always find relationships, even within totally random data, but those relationships do not hold for future events.

In an apocryphal story, the military wanted to create a program that would be used to spot enemy tanks behind trees. After many hours of processing, the neural network was able to differentiate between photographs of trees only, and trees with tanks behind them. So they tested the resulting algorithm with new data. It didn’t work. They discovered that the photos with tanks were taken on cloudy days, and those without tanks were taken on sunny days, so the neural network solved the problem by learning to distinguish sunny from cloudy.

Next month: Evolutionary Computing.


Richard Ten Dyke, a member of the Danbury Area Computer Society, has previously contributed to this newsletter on the topic of Digital Photography. He is retired from IBM and can be reached at tendyke@bedfordny.com. All opinions are his own, and he welcomes comments.

© 2005 Richard P. Ten Dyke

BackHomeNext

© Copyright Danbury Area Computer Society, Inc. 1998-2003 All Rights Reserved
Web Site Terms & Conditions of Use