Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

neural net learning

Jesrad Seraph
Nonsense
Join date: 11 Dec 2004
Posts: 1,463
08-30-2005 03:02
Hi everyone !

I've been toying with a LSL neural net lately, that makes decisions based on environmental and internal conditions, and would like your advice on perfecting it.

Here's how it works:

- it has a list of neurons, each neuron being a vector
- each neuron is attached to a given condition (presence of owner, presence of group member, chat in vicinity, collision happened recently, touch happened recently, etc...)
- the direction where a neuron points indicates which state it favors

Periodically, it'll evaluate all neurons and determine which state to go to next. This is done by activating all relevant neurons (they are set on if the condition they are associated with is fulfilled), and sums their vectors. The resulting vector points in a direction associated with a state.

I think it is possible to train this system by feeding back the direction of the correct state into activated neurons (simply adding a fraction of the associated direction into all the neurons that are activated). Thoughts ?

This feedback could be automated, and then the list of neurons can be used as DNA for evolutionary selection of the best sets of values.
_____________________
Either Man can enjoy universal freedom, or Man cannot. If it is possible then everyone can act freely if they don't stop anyone else from doing same. If it is not possible, then conflict will arise anyway so punch those that try to stop you. In conclusion the only strategy that wins in all cases is that of doing what you want against all adversity, as long as you respect that right in others.
Surina Skallagrimson
Queen of Amazon Nations
Join date: 19 Jun 2003
Posts: 941
08-31-2005 05:39
Sounds like a wonderful plan, unfortunately I don't know anything about neural nets so I can't comment. Learning is something I'd like my fish to be able to do though, beyond simply storing values.
_____________________
--------------------------------------------------------
Surina Skallagrimson
Queen of Amazon Nation
Rizal Sports Mentor

--------------------------------------------------------
Philip Linden: "we are not in the game business."
Adam Savage: "I reject your reality and substitue my own."
Maxx Monde
Registered User
Join date: 14 Nov 2003
Posts: 1,848
08-31-2005 06:53
I've messed with training back-prop neural nets in the 90's, and it is fascinating. However, I don't know if the directional method you mention would be the same. Maybe train it on something simple, like the trajectory needed given the speed of an object to hit a target? You'd be dealing with only a few inputs, and you'd know what the 'ideal' result should be as a comparison.

One danger in back-propagation networks (where the 'learning' occurs by adjusting the bias of the neural components) is over-training, and selecting training sets that actually have a lot of local 'minima' that end up 'trapping' your training result in an inefficient solution space, where a far more optimal one exists 'below' you. (If you view the solution set space as a n-dimensional surface where your converged network is a 'ball' on that surface. Like a marble on a deformed rubber sheet.)

I know there are a lot more complete descriptions and all, but it would be kinda cool to make one in SL, regardless. Did you decide to use values between 0 and 1 as the normalized inputs? Or did you choose -1 to 1? Regular sigmoid curve?

Ok, I'll finish rambling.
_____________________
Opensim Tutorial - http://opensimuser.wordpress.com/2008/06/15/opensim-install-and-configuration-tutorial/

Run your own simulator on your personal machine!
Jesrad Seraph
Nonsense
Join date: 11 Dec 2004
Posts: 1,463
08-31-2005 07:27
I'm using 0 or 1 for most conditions (since they are either fulfilled or not), and integers for a few others (number of same group members, for example), I thought I might use this as a multiplier of the associated neurons. I'll see if using -1 bears any better results, thanks for the suggestion :)
_____________________
Either Man can enjoy universal freedom, or Man cannot. If it is possible then everyone can act freely if they don't stop anyone else from doing same. If it is not possible, then conflict will arise anyway so punch those that try to stop you. In conclusion the only strategy that wins in all cases is that of doing what you want against all adversity, as long as you respect that right in others.