Advertisement

Neural Networks in Practice?

Started by December 20, 2003 03:50 AM
14 comments, last by kevmo 21 years, 1 month ago
When I first started learning about neural networks, I was very excited about their uses, until I learned more about them. Here are the practical uses for neural networks that I know of: - Pattern Recognition - Pattern Classifier - A few more non-game related topics Has anybody used a neural network in a game effectively? If so, what was it used for and why did you decide to use it? On a side note, has anyone had successful experiences with self-organized/self-learning neural nets? I started a project with those ideas in mind a few years ago, but stopped short from getting any exciting results.
Neural networks effectively map a set of input states (vectors of data) to a set of output states and, once trained, they are able to generalise output for previously unseen states. Therefore if your game’s AI can make use of such a feature then an ANN may be applicable. For example, Colin MacCrae’s Rally2 uses a neural network for the computer driven cars. Because it’s difficult to design rules to drive a rally car successfully around an arbitrary driving line it was decided to train an ANN with data recorded whilst a human drove around a series of test tracks. The ANN was then able to generalize and drive around previously unseen tracks. Additional logic was added to the AI for specialized manoeuvres such as overtaking and recovering from crashes.

As far as unsupervised learning goes, I don’t know of any commercial games that have used ANNs trained in this way to date, but I do know of a project that is experimenting with this idea, to provide an original game playing experience (the player trains troops, which are then sent to war).




My Website: ai-junkie.com | My Book: AI Techniques for Game Programming

[edited by - fup on December 20, 2003 5:50:38 AM]
Advertisement
quote:
Original post by fup
As far as unsupervised learning goes, I don’t know of any commercial games that have used ANNs trained in this way to date, but I do know of a project that is experimenting with this idea, to provide an original game playing experience (the player trains troops, which are then sent to war).



Thats an interesting idea ... Is there a website for this project? What kind of results have they seen? (I am just really curious about peoples success with neural nets right now).

http://gamedev.ic2.org/tiki-index.php?page=LegionsOfInfluence

although there''s not much info there at the moment


My Website: ai-junkie.com | My Book: AI Techniques for Game Programming
I have not used a NN in a game, but I have used neural nets; specifically I used an off-the-shelf package called NeuroSolutions (or was that the company name; I never can remeber). Anyway, besides clasification you could also do function approximation along with time-based prediction.

Truthfully I''m not too impressed with what I''ve seen so far. I get the feeling like there''s far more hype in regard to NN''s than is waranted. They''re cool, they are powerful in certain realms, but they are far from a panacea.

Oh yeah, and they are pretty slow to train. I can''t really imagine training a NN in any kind of real-time setting. Generally I''d say if you''re considering using a NN in a game, 9 times out of 10 there are probably better solutions for what you want to do.
Have you ever played a game with voice recognition? What about Black & White''s gesture-based spell system? Hmmmmmmm.
Advertisement
The general design of a Neural Network is the way to go to design at least the core of an intelligent, problem-solving agent.

I''m on a team that is working on some of the major problems regarding NNs. We currently have code which we can plugin to any input/output source (completely abstracted C++ code, where input[0] could be information coming from a robot on the serial port, across the internet, or from a probe on another planet).

We also work on the speed of the learning algorithms, and we have crafted a new learning algorithm. I could say that current back-propagation algorithms are to a molecule as this algorithm is to an atom (it looks for a solution in a more atomic way).

The NNs are also self-managed. This means that any NN allways starts with a single Neuron, which will spawn other Neurons. Socially inactive neurons die naturally.

We also have a "score" funtion. This function works on several levels, for example, each neuron consumes 10 calories per simulated minute. The "simulated-organism" with the highest score (the one that solved the problem in less time, and requiring less brain power) is given the chance to procreate...

Yes, we do mix several aproaches, like Genetic-Evolution of the internal brain design of each "sim-org". We believe in macro-mini structures, where the mini is the neuron itself, and the macro is the overrall design of the brain, how each section is connected to the others.

"sim-orgs" can also develop their own senses. The simulated world works from the principles of radiation. If there is a certain cube of food, it irradiates on the frequency 712.0.

What that means is that the more a "sim-org" is fine-tuned to that frequency, the further away it can "hear" it...

Because our team also has Lamarckian beliefs, the body of the "sim-orgs" develops not only by natural mutation, but also by means of intentional mutation, compliments of the central nervous system, and a DNA library.

Once a species, that has evolved for simulated millions of years, has a good genetic library, it can "remember" optimal body parameters for a certain environmental parameter.

In other words, if the weather suddenly turns very cold, the "sim-orgs" can remember that a thicker skin, and a layer of fat can help them (just an example, the simulation doesnt go into that detail)...

We can even convert a tested NN pattern into assembly code. (NN->Asm).

Just to let you know that, the same way our team is working on NN, and believing them, others most probably are too.


[Hugo Ferreira][Positronic Dreams][Colibri 3D Engine][Entropy HL2 MOD][Yann L.][Enginuity]
The most irrefutable evidence that there is intelligent life in the Universe is that they haven''t contacted us!

quote:
Original post by bob_the_third
Oh yeah, and they are pretty slow to train.



How slow is "slow"? I hear people say this alot, but my experience has been that, once data preparation is done (which is a big and important job), actual neural networking is usually pretty fast. Specifically, I have trained neural networks for mutual fund companies (typically, over 100,000 examples and >30 input variables) in a few minutes at most, using fairly conventional backprop on ordinary (what is now rather slow: 800MHz) desktop PC hardware.

-Predictor
http://will.dwinnell.com











[edited by - Predictor on December 26, 2003 5:45:05 AM]
I guess that really depends on what you''re fitting to. It may just be the network is having a hard time learning what I want it to. In my case though, come to think of it, we''re looking at 20 minutes tops. So it really depends on the complexity of thing it needs to learn.
I''ve seen a Quake 2 bot based on a neural net. It basically computed a truth value for how much a target was to the left/right/up/down and adjusted it''s view to target. It worked OK, It was more of a proof of concept than anything else. Interesting work though. I can''t find the webpage now, I''ll dig around my old stuff (I save everything) for a link or the actual web page and repost it here.

Cheers,

Bob



----------------------------------
Halfway down the trail to hell...

[size="3"]Halfway down the trail to Hell...

This topic is closed to new replies.

Advertisement