Advertisement

Neural Network - Discussion

Started by July 21, 2008 02:04 AM
102 comments, last by Kylotan 16 years, 3 months ago
Quote: Original post by shurcool
He said he's working on a final year research project. Key word is research.


You have misunderstood me. I fully support the idea of doing research into these things. I was just pointing out that the academic aim of wanting to get a certain tool to be able to perform a certain task is different from the industrial/pragmatic aim of choosing the tool for the task that involves the least risk.

Quote:
Quote: You could potentially spend forever adjusting inputs, outputs, and hidden layers to try and get your neural network doing something useful, with no guarantee of getting anything that is good enough to be playable, or you can pick a method that explicitly accounts for all the scenarios a developer can envisage and get it working more reliably.

And what happens in a scenario that the developer did not originally envisage?

IMO, this is where the AI can come closest to 'making or breaking' the game - those unexpected but possible scenarios.


Yet they could still appear in neural networks, if you didn't think to include such things in your training data. Perhaps you get lucky and the net generalised to cover that case, and perhaps it didn't. You're not guaranteed to be any better off. So when you have a goal to meet and other tools available, tools tried and tested in many other applications, you use them.

Quote: I now realize I wouldn't want to go into game development if it ends up involving nothing but spitting out cookie-cut, run-of-the-mill games.


No need for the hyperbole, really. If you have a job to do, then you have a job to do. You can't just expect to be allowed to spend months on R&D to try and come up with a new way of approaching something that isn't guaranteed to work, when there are existing tools that are guaranteed to work. Do that at university, or when self-employed, or when you've worked your way up to a position where you can get funding for such approaches. You'll be lucky to find many jobs in any industry that allow you to spend your wages playing with academic toys that are unproven in the area you're working in.
Quote: Original post by sion5
Truth is academia is there to encourage innovation.

But it is also there to prepare people for industry and employment. A balance has to be struck.

Quote: I absolutely love playing games as much as I like trying to create them but it really irritates me that games should be at the forefront of A.I development yet subjects like statistics and robotics are way in front?!

These areas are in front because improved AI is essential for their functioning, so there's a lot of money pushed in that direction. Games arguably don't require great AI, and certainly not pioneering AI. It would be great if they had it... but there's no market forces really calling for it. So change is more likely to come from below, from an experimental prototype showing great potential.

You'll encounter less resistance if you try and go with that flow!
Advertisement
Ok, so since starting this discussion I have read many more journals, articles and discussions on NN's. My conclusion is that NN's are not an absolute solution, BUT they can help form a solution quite nicely.

Another thing I found with NN's is their problem specific, I think alot of people got narky because I mentioned using a NN for automating an agent. Ok, so its not the best way to solve that PARTICULAR example. Now consider you had a game (NERO is an example) where your given a team of soldiers and you have to train them by putting them through military training exercises of your choice. Once you have trained your soldiers to a level your happy with or set period of time, you are then placed in a battlefield with another human players set of soldiers and see who wins. Correct me if im wrong but the only way to create a game like this would be using neural networks?? Not only this, as Risto Miikulainen said in his paper "Creating Intelligent Agents in Games" you are now starting to create new genres of games (which in my opinion the industry needs)
Feeling #0000FF
About previous research in NN applied to games; I once came across a project which expirimented with NN's applied to a racing game, with very good results:

http://togelius.blogspot.com/2006/04/evolutionary-car-racing-videos.html
(Also check out his newer blog entries)

Also I found this talk very interesting:

Quote: Original post by sion5Now consider you had a game (NERO is an example) where your given a team of soldiers and you have to train them by putting them through military training exercises of your choice. Once you have trained your soldiers to a level your happy with or set period of time, you are then placed in a battlefield with another human players set of soldiers and see who wins. Correct me if im wrong but the only way to create a game like this would be using neural networks??

No, there are other ways of creating general, adaptive behaviour. Remember, neural networks can't do anything that can't be done using other methods. For training combat agents in an RTS-like game, I'd probably prefer Bayesian networks. Support vector machines using the kernel trick is another alternative that is often preferred over NN's. I'm sure there are several more alternatives available.
-------------Please rate this post if it was useful.
Quote: Original post by bitshit
About previous research in NN applied to games; I once came across a project which expirimented with NN's applied to a racing game, with very good results:

http://togelius.blogspot.com/2006/04/evolutionary-car-racing-videos.html
(Also check out his newer blog entries)

Also I found this talk very interesting:


I think you may be the first person to provide something the OP originally asked for (I missed some posts, so I could be wrong).

I read that blog and it was very interesting and thought-provoking, thanks.
Advertisement
Quote: Original post by sion5
Truth is academia is there to encourage innovation. I'm sorry but anyone can work in a factory pushing out the same product one after the other, but it takes academics to say "Hey wait, surely this can be done better?".

This is such a load of arrogant crap it is bordering on invalidating the usefulness of this entire thread and disqualifying you from further consideration on any relevant subject matter. 99% of the innovation in the modern world has come from outside academia. In the games industry, much the same can be said.

Quote: Graphics and Audio has come on leaps and bounds in the past few years but where is A.I??

Because they are vastly different problems. The innovation and improvement curves are not going to be similar.

Quote: If everyone's attitude is that we have found the best solution then there will never be an advancement in this domain.

Who is this "everyone" of which you speak? Every single time I sit down to work on my stuff, I'm trying to do something better. Every time I crack open the new AI Wisdom book, I see something from a front line dude that makes me say "damn... someone found a better way" - and usually it was because they were trying to solve a problem in their own projects. (You have read all the AI Wisdom books, right?)

Quote: Back to subject. Are there any readers who are working on/ have worked on high profile games that have tried using NN technology?

There used to be material on that in the early AI Wisdom books... but not in the most recent one. It just hasn't caught on because people haven't found a use for it. Coincidentally, those articles often come from academic individuals and teams and NOT from the industry peeps.

Seriously... my suggestion to you is to do a little more reading. Do a little more browsing the web. The information is not going to come to you here. You are going to need to go to the information. If you want to give the forums at AIGameDev a try, have at it - there's a more active community there with a lot of pros... but I'm quite sure you will get a similar message.

An interesting exercise for you would be this... make a list of all the possible things you think an AI agent needs to do in a game. Pathfinding, steering, animation control, cover processing, decision making, planning, state management, cooperative interaction, etc... Then cull it down to the stuff that could be dealt with by a NN. Then list all the other ways that the same type of thing could be dealt with. List the pros and cons of each method. (if you don't know, you are already working from behind.) Then cull that down by what sorts of requirements the production game space needs. (e.g. computation speed, production speed, predictability, control, stability, etc.) Rank accordingly. This may be rather illuminating.

We've been trying to tell you... but after all, we aren't academics like you - therefore we don't know shit. It's up to you and your fellows to change the world. We just turn wrenches.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by Hnefi
Quote: Original post by InnocuousFox
Regardless of the tool, any decision system is at the mercy of how many inputs are hooked up to it. If you fail to include an input as a possible critieria and yet that piece of information becomes the difference between two otherwise similar scenarios, your agent will not know what to do. Again, this is regardless of the tool used - NNs, BTs, HFSMs, whatever. It's a knowledge representation issue first.

I'm not sure I understand what you mean. Neural networks are strictly signal processors; their input domain is perfectly defined.
[snip]
I don't see how it can be a knowledge representation issue, because NN's do not model knowledge explicitly. NN's deal strictly with signals, not abstract representations.

That's the point. Make a list of all of the inputs that you would require to make a decision about a certain problem. Those are your inputs, correct? What if you were to take one away? The decision model wouldn't be able to take that into account - and the resultant decision could suffer accordingly.

So, back with your original list, what if you haven't thought of everything? There may be a contingency where that one extra input that you forgot to include is the tipping point between stupid decision A and good decision B. However, your agent is stuck with stupid decision A because it doesn't know any better. The only knowledge that your agent had of the world was what you chose to provide it. Even if it is processing that information perfectly, it could still look stupid because of something you forgot.

(Note: this is for any decision tool... not just NN's)

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by sion5
Ok, so since starting this discussion I have read many more journals, articles and discussions on NN's. My conclusion is that NN's are not an absolute solution, BUT they can help form a solution quite nicely.

YES! Holy crap... about freaking time. If you wanted to use an NN for a small, contained situation, sure. Of course, as mentioned previously, it's likely that similar sort of decisions could be made by RBS, Expert Systems, Bayesian Networks (especially dynamic ones), etc. But at least you are out of the "Holy Grail" mentality.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by InnocuousFox
Quote: Original post by Hnefi
Quote: Original post by InnocuousFox
Regardless of the tool, any decision system is at the mercy of how many inputs are hooked up to it. If you fail to include an input as a possible critieria and yet that piece of information becomes the difference between two otherwise similar scenarios, your agent will not know what to do. Again, this is regardless of the tool used - NNs, BTs, HFSMs, whatever. It's a knowledge representation issue first.

I'm not sure I understand what you mean. Neural networks are strictly signal processors; their input domain is perfectly defined.
[snip]
I don't see how it can be a knowledge representation issue, because NN's do not model knowledge explicitly. NN's deal strictly with signals, not abstract representations.

That's the point. Make a list of all of the inputs that you would require to make a decision about a certain problem. Those are your inputs, correct? What if you were to take one away? The decision model wouldn't be able to take that into account - and the resultant decision could suffer accordingly.

So, back with your original list, what if you haven't thought of everything? There may be a contingency where that one extra input that you forgot to include is the tipping point between stupid decision A and good decision B. However, your agent is stuck with stupid decision A because it doesn't know any better. The only knowledge that your agent had of the world was what you chose to provide it. Even if it is processing that information perfectly, it could still look stupid because of something you forgot.

(Note: this is for any decision tool... not just NN's)

I think I understand what you're trying to say now. Basically, if the domain is not structured as well as it could be, the decision process will suffer. I agree, but beside being trivially obvious, it doesn't really have anything to do with dealing with unforeseen situations which is what I was responding to shurcool about.

But sure, as previously stated, preprocessing/input configuration has a great effect on the performance of neural nets.
-------------Please rate this post if it was useful.

This topic is closed to new replies.

Advertisement