Advertisement

Neural Networks

Started by June 28, 2002 10:55 PM
6 comments, last by AntonyW 22 years, 4 months ago
Hiya, I''ve been trying to get my head around Neural Networks over the last couple of months, and mostly have(Thanks to fup''s tutorial) But, although I''m at the point where I have a neural net coded(Simple feed-forward network) I simply don''t know how to implement this into anything half-decent. Simply because I don''t know how to use the network(if that makes any sense). How I have it now is, take inputs from a vector then go through each neuron in the layer, but, if a neuron fires or doesn''t fire won''t make any differnce, because it''s going through in a linear fashion.. And lastly, back..(the name escapes me..) learning... I know there are tutorials out there besides fups, but they *all* assume you''re good at maths, I''m not. I''m a good enough coder, but I just don''t understand why these ''programming'' tutorials can''t use stright c++ code.(Well, to make it univseral I suppose) but... I don''t know what I''m even asking for, just a little help I suppose..
-----Antony
Glad you found the tutorial helpful.

The name of the most commonly used supervised learning technique for multilayer networks is backpropagation . Unfortunately, if you want to learn this you are going to have to learn a little math. Only a little mind you, just notation really because you don't have to understand how the algorithm works to use it, you just need to be able to convert the equations into code. To understand how the learning process works you will need to have an understanding of calculus. To be really effective at using a supervised training approach you do need to improve your maths skills. No way around it I'm afraid. That's the reason my tutorial uses GAs to evolve the weights - much easier for those with math anxiety.

I'm not sure I understand what you are trying to say in your first few sentences. If you followed the ants part of my tutorial then I show you how to use a net to control movement. Play around with the code a little, make ants that avoid 'poisoned food' then try and see if you can evolve ants that eat normal food and avoid poisoned food. Try creating bots that chase after prey, or run away from predators.

Once you start to get a feel for ANNs I'm sure other ideas will spring to mind. But don't forget ANNs are not an AI panacea. They are simply a good tool to have in your belt for the appropriate problem.

And most of all... have fun with 'em!





Stimulate

[edited by - fup on June 29, 2002 11:38:23 AM]
Advertisement
Damn, I wished I could help you. The problem is that the backpropagation method can not be explained in a couple of lines. I''ve written my end-year-thesis about backpropagation, but..., in Dutch. Obviously, I can''t translate it right now.
If you have some questions about it, maybe I could help you if it''s not too difficult.
Hope you''ll find what you search.

===========================
UNKNOWN caused an invalid page fault in module unknown at 0000:bff80eb6
: win98 with multiple sclerose

- Glad you found the tutorial helpful.

You wouldn''t believe, almost went bald at 20 before I found yours
-

The name of the most commonly used supervised learning technique for multilayer networks is backpropagation . Unfortunately, if you want to learn this you are going to have to learn a little math. Only a little mind you, just notation really because you don''t have to understand how the algorithm works to use it, you just need to be able to convert the
equations into code.
-

I do know a little, I mean I''ve coded software 3d engines etc so I''m not totally clueless, I just cannot understand all those wierd alien symbols. If a tutorial just took the time to say,

() < Is called ''blah''

Blah takes var 1, does this, and returns the blah of the blah.

I would be fine.



To understand how the learning process works you will need to have an understanding of calculus. To be really effective at using a supervised training approach you do need to improve your maths skills. No way around it I''m afraid. That''s the reason my tutorial uses GAs to evolve the weights - much easier for those with math anxiety.
--

You''d think so

It''s wierd, I''ve had that ''Euraka!'' moment more than once, but as quick as I fully get my brain around it it slips away.. It''s like the old Homer Simpson joke, ''Everytime something new goes in, something old is pushed out''

But, is there a maths tutorial etc online you''d suggest? The reason I''m no good isn''t because I couldn''t get maths, it''s because while most were in school learning I was walking train tracks and smoking cigs with me mates..(regret it now...)
-

I''m not sure I understand what you are trying to say in your first few sentences. If you followed the ants part of my tutorial then I show you how to use a net to control movement. Play around with the code a little, make ants that avoid ''poisoned food'' then try and see if you can evolve ants that eat normal food and avoid poisoned food. Try creating bots that chase after prey, or run away from predators.
-

I have gone through your whole code, but to be honest with you, it was the genetics section of the code that totally threw me off. Everything about your tutorial etc I found excellent but GA isn''t something I know about, and to start to learn that before I even master NN''s would probably hinder me more than help..
-

Once you start to get a feel for ANNs I''m sure other ideas will spring to mind. But don''t forget ANNs are not an AI panacea. They are simply a good tool to have in your belt for the appropriate problem.
-

I know, just I''m sooo close to reaching the point of understanding..

And most of all... have fun with ''em!
-

Thanks for the reply


-----Antony

- Glad you found the tutorial helpful.

You wouldn''t believe, almost went bald at 20 before I found yours
-

The name of the most commonly used supervised learning technique for multilayer networks is backpropagation . Unfortunately, if you want to learn this you are going to have to learn a little math. Only a little mind you, just notation really because you don''t have to understand how the algorithm works to use it, you just need to be able to convert the
equations into code.
-

I do know a little, I mean I''ve coded software 3d engines etc so I''m not totally clueless, I just cannot understand all those wierd alien symbols. If a tutorial just took the time to say,

() < Is called ''blah''

Blah takes var 1, does this, and returns the blah of the blah.

I would be fine.



To understand how the learning process works you will need to have an understanding of calculus. To be really effective at using a supervised training approach you do need to improve your maths skills. No way around it I''m afraid. That''s the reason my tutorial uses GAs to evolve the weights - much easier for those with math anxiety.
--

You''d think so

It''s wierd, I''ve had that ''Euraka!'' moment more than once, but as quick as I fully get my brain around it it slips away.. It''s like the old Homer Simpson joke, ''Everytime something new goes in, something old is pushed out''

But, is there a maths tutorial etc online you''d suggest? The reason I''m no good isn''t because I couldn''t get maths, it''s because while most were in school learning I was walking train tracks and smoking cigs with me mates..(regret it now...)
-

I''m not sure I understand what you are trying to say in your first few sentences. If you followed the ants part of my tutorial then I show you how to use a net to control movement. Play around with the code a little, make ants that avoid ''poisoned food'' then try and see if you can evolve ants that eat normal food and avoid poisoned food. Try creating bots that chase after prey, or run away from predators.
-

I have gone through your whole code, but to be honest with you, it was the genetics section of the code that totally threw me off. Everything about your tutorial etc I found excellent but GA isn''t something I know about, and to start to learn that before I even master NN''s would probably hinder me more than help..
-

Once you start to get a feel for ANNs I''m sure other ideas will spring to mind. But don''t forget ANNs are not an AI panacea. They are simply a good tool to have in your belt for the appropriate problem.
-

I know, just I''m sooo close to reaching the point of understanding..

And most of all... have fun with ''em!
-

Thanks for the reply


-----Antony

- Glad you found the tutorial helpful.

You wouldn''t believe, almost went bald at 20 before I found yours
-

The name of the most commonly used supervised learning technique for multilayer networks is backpropagation . Unfortunately, if you want to learn this you are going to have to learn a little math. Only a little mind you, just notation really because you don''t have to understand how the algorithm works to use it, you just need to be able to convert the
equations into code.
-

I do know a little, I mean I''ve coded software 3d engines etc so I''m not totally clueless, I just cannot understand all those wierd alien symbols. If a tutorial just took the time to say,

() < Is called ''blah''

Blah takes var 1, does this, and returns the blah of the blah.

I would be fine.



To understand how the learning process works you will need to have an understanding of calculus. To be really effective at using a supervised training approach you do need to improve your maths skills. No way around it I''m afraid. That''s the reason my tutorial uses GAs to evolve the weights - much easier for those with math anxiety.
--

You''d think so

It''s wierd, I''ve had that ''Euraka!'' moment more than once, but as quick as I fully get my brain around it it slips away.. It''s like the old Homer Simpson joke, ''Everytime something new goes in, something old is pushed out''

But, is there a maths tutorial etc online you''d suggest? The reason I''m no good isn''t because I couldn''t get maths, it''s because while most were in school learning I was walking train tracks and smoking cigs with me mates..(regret it now...)
-

I''m not sure I understand what you are trying to say in your first few sentences. If you followed the ants part of my tutorial then I show you how to use a net to control movement. Play around with the code a little, make ants that avoid ''poisoned food'' then try and see if you can evolve ants that eat normal food and avoid poisoned food. Try creating bots that chase after prey, or run away from predators.
-

I have gone through your whole code, but to be honest with you, it was the genetics section of the code that totally threw me off. Everything about your tutorial etc I found excellent but GA isn''t something I know about, and to start to learn that before I even master NN''s would probably hinder me more than help..
-

Once you start to get a feel for ANNs I''m sure other ideas will spring to mind. But don''t forget ANNs are not an AI panacea. They are simply a good tool to have in your belt for the appropriate problem.
-

I know, just I''m sooo close to reaching the point of understanding..

And most of all... have fun with ''em!
-

Thanks for the reply


-----Antony
Advertisement
quote: But, is there a maths tutorial etc online you''d suggest? The reason I''m no good isn''t because I couldn''t get maths, it''s because while most were in school learning I was walking train tracks and smoking cigs with me mates..(regret it now...)


Unfortunately I don''t know of any good online tutorials. It would be worth your while buying ''Calculus Made Easy'' by Silvanus P.Thompson which, IMO, is a work of art. This book will also help you a little with basic algebra skills.

quote: I have gone through your whole code, but to be honest with you, it was the genetics section of the code that totally threw me off. Everything about your tutorial etc I found excellent but GA isn''t something I know about, and to start to learn that before I even master NN''s would probably hinder me more than help..


Are you aware that there is a GA tutorial on my site too? It''s a bit brief (going to rewrite it soon) but it gets the basics across.




Stimulate
Going to re-write your GA tutorial? sweetness ^^ Make sure to start a thread on it so I can jump on it right away! I though your old one was a bit... foggy, yet basic? It was still good though, too bad I already understood them or I would have learned more hehe (I still learned some, mind you!) But your NN tutorials are great and I learned tons from those. Cant wait till you write more tutorials or add-on to your old ones. I wont rush you though since your busy on your book. (HURRY OR DIE!). .sen
"I want to make a simple MMORPG first" - Fenryl

This topic is closed to new replies.

Advertisement