Advertisement

Neural network driving project

Started by April 03, 2006 04:44 AM
2 comments, last by averisk 18 years, 7 months ago
I'm working on a school project involving neural networks. I've never done any work with them before, but it was coming along fine until recently. Anyway what I would like is for some neural network veteran that has a minute to spare to do a sanity check on my ideas. Ok, so the idea is to use 3-layer NN for obstacle avoidance when driving a vehicle. At the moment its 2d. The inputs into the network are: angular velocity angle from current direction to goal position angle from current direction to nearest obstacle distance to nearest obstacle Note that all the angles can be and often are negative, and that the distance is bounded between 0 and 1 (0 being representing max distance and 1 representing min distance). The 2 outputs are: forward/brake (0 = brake, 1 = full acceleration) left/right turn (0 = turn left, 0.5 = no turn, 1 = turn right) It works by moving the goal position along some path as the vehicle traverses it, like a 'dangling carrot'. I'm using back-propagation to train the network. So, I actually take the controls and drive around, avoiding obstacles and trying to stay on the track. And for each frame, I record all the inputs and the decision I made (ie. whether I was turning left at the time, going forward, etc.). This works *alright*. But it still crashes into the obstacles occasionally. I'm trying to train it more, but progress is slow. I'm using 8 hidden nodes, a learning rate of 0.2, and a momentum factor of 0.9, if that means anything to you. Any idea how I could improve this? Thanks for reading :)
The action set (network ouputs) is very small, which would mean that it would be easy for your vehicle to end up in a state for which the controller cannot avoid a collision. You're also assuming that as the domain expert, your control of the car is perfect, which it wont be. Any errors in your control and in particular, any biases, will be learned by the controller. These will make it that much harder to avoid collisions.

Just one question... do you find that your network parameters are converging to fixed values for a given set of training data?
Advertisement
I don't know if you know this but the learning rate can be automatically adjusted just like the weights and biases.


... I don't remember ever using momentum in bp, although it sounds very familiar...
Quote: Original post by Timkin
The action set (network ouputs) is very small, which would mean that it would be easy for your vehicle to end up in a state for which the controller cannot avoid a collision.


You're saying that more outputs would improve the net?

Quote:
Just one question... do you find that your network parameters are converging to fixed values for a given set of training data?


I think so, yes. Most of the weights hover around a certain value, though there are some that seem to just keep increasing or decreasing slowly, but the error is slowly decreasing at the same time, so maybe this is normal. Why do you ask?

Quote: Original post by johnnyBravo
I don't know if you know this but the learning rate can be automatically adjusted just like the weights and biases.


I didn't know that actually.

At the moment I'm researching how to use genetic algorithms here, so that those nets which give the fastest, safest, run through a given track are given priority. Not much success here yet though.

This topic is closed to new replies.

Advertisement