🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Neural Network Tutorial

Started by
29 comments, last by fup 22 years, 8 months ago
I have just completed a much requested neural network tutorial. I hope this will prove to be an excellent introduction to neural networks and genetic algorithms for many of you. The tutorial includes a code project and comes complete with commented source. I will appreciate any feedback, good or bad. http://www.btinternet.com/~fup/Stimulate.html A pdf version is also available on request. nb. please note you will need the flash5 plugin to access the index page. You can find it here: http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash
Advertisement
quote: Original post by fup
I have just completed a much requested neural network tutorial.

I hope this will prove to be an excellent introduction to neural
networks and genetic algorithms for many of you. The tutorial includes a code project and comes complete with commented source.

I will appreciate any feedback, good or bad.

http://www.btinternet.com/~fup/Stimulate.html

A pdf version is also available on request.



nb. please note you will need the flash5 plugin to access the index
page. You can find it here:


http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash


Nice job Fup!

The tutorial that you have created is good, but could include a bit more theory. A nice place to start is how McCullock and Pitts, the creators of the basic computational model of biological neurones to resolve logical expressions, so that the reader better understands the significance of synaptic weights. Providing templates with little mathematical background offers little knowledge to the user. An explanation of alternative neural architectures would also suffice: competative learning, recurrent networks, etc. Not that I am a game AI expert yet, but I would imagine that competative learning architectures would be better than back-propagation.

These are only suggestions to aid the learning process.

Keep up the good work, it''s a good site you got there!

Regards,
Mathematix.

The tutorial that you have created is good, but could include a bit more theory. A nice place to start is how McCullock and Pitts, the creators of the basic computational model of biological neurones to resolve logical expressions, so that the reader better understands the significance of synaptic weights. Providing templates with little mathematical background offers little knowledge to the user.


I think you have completely missed the point of my tutorials The *whole* point of them is to avoid the maths which in my opinion is almost totally unnecessary in order to use ANNs creatively. If you want mathematical models geared towards academics there are hundreds (thousands) of books and articles out there suitable for the purpose. There is, to my knowledge, nothing like my tutorial though which is why I wrote it.

As I state at the beginning the article is a primer to neural nets geared towards getting the layman excited about them without getting bogged down with technobabble. I wanted to take the mystique out of ANNS and present them in such a way that even my mother would understand(sorry mum!). The dozens of complementary emails I''ve received indicate to me that I have achieved this goal.

To be honest I''m not entirely sure you have even read my tutorial...


An explanation of alternative neural architectures would also suffice: competative learning, recurrent networks, etc. Not that I am a game AI expert yet, but I would imagine that competative learning architectures would be better than back-propagation.


I don''t use backprop, the whole article is about competitive learning and the network design in the project is recurrent. The discussion of other types of network architecture are innipropriate within the context of the tutorial.

I am grateful for any constructive critisism but I would appreciate it if you actually read the thing first!

I will be writing more advanced tutorials but I will be avoiding any complex mathematics as though it were the devil. I like to show how ANNS can be put to a practical purpose not fill up pages with intimidating equations to try and impress my peers. If there is maths which *has* to be learnt then I will teach it, but that''s as far as I''ll go. Like I said if you want to explore the mathematics more there are myriads of articles and books out there to cater for you.

I''m happy you like the site as I''m putting a lot of effort into creating these tutorials, but please, please read them carefully before you offer an opinion.
oh dear, it didn''t like the way I formatted my message! I''m sure you can still follow it ok though.
quote: Original post by Anonymous Poster

The tutorial that you have created is good, but could include a bit more theory. A nice place to start is how McCullock and Pitts, the creators of the basic computational model of biological neurones to resolve logical expressions, so that the reader better understands the significance of synaptic weights. Providing templates with little mathematical background offers little knowledge to the user.


I think you have completely missed the point of my tutorials The *whole* point of them is to avoid the maths which in my opinion is almost totally unnecessary in order to use ANNs creatively. If you want mathematical models geared towards academics there are hundreds (thousands) of books and articles out there suitable for the purpose. There is, to my knowledge, nothing like my tutorial though which is why I wrote it.

As I state at the beginning the article is a primer to neural nets geared towards getting the layman excited about them without getting bogged down with technobabble. I wanted to take the mystique out of ANNS and present them in such a way that even my mother would understand(sorry mum!). The dozens of complementary emails I''ve received indicate to me that I have achieved this goal.

To be honest I''m not entirely sure you have even read my tutorial...


An explanation of alternative neural architectures would also suffice: competative learning, recurrent networks, etc. Not that I am a game AI expert yet, but I would imagine that competative learning architectures would be better than back-propagation.


I don''t use backprop, the whole article is about competitive learning and the network design in the project is recurrent. The discussion of other types of network architecture are innipropriate within the context of the tutorial.

I am grateful for any constructive critisism but I would appreciate it if you actually read the thing first!

I will be writing more advanced tutorials but I will be avoiding any complex mathematics as though it were the devil. I like to show how ANNS can be put to a practical purpose not fill up pages with intimidating equations to try and impress my peers. If there is maths which *has* to be learnt then I will teach it, but that''s as far as I''ll go. Like I said if you want to explore the mathematics more there are myriads of articles and books out there to cater for you.

I''m happy you like the site as I''m putting a lot of effort into creating these tutorials, but please, please read them carefully before you offer an opinion.


Point taken. But I fail to see how you can call it a neural networks tutorial without the required mathematics! After all, the internal model as defined by the synaptic weights after training is very much heavily dependant on mathematical manipulation. If you wish to omit it, then at least provide examples as to why it may be important! Have you had feedback from persons reading your tutorial/primer with a good understanding of neural nets? No, I did not read the primer in its entirety, but I saw enough to know that it only really provides classes that implement the functions of neurodes without proper advice on their usage.

Like you, I have been at neural nets for about four years now, and am still learning about them. There is no quick and easy way to learn about the subject; the specifics of the implementations of the various architectures are a numerous as the applications themselves! As I said on the previous posting, I like what you have done so far, but more theory is required.

If you inspect the discussion boards on this site, there are many actual game, and even AI programmers, who have little knowledge of neural nets. This may be because of the regular use of templates. I don''t know.

Regards,
Mathematix.
------------------------------------
As I said on the previous posting, I like what you have done so far, but more theory is required.
--------------------------------------

Do you need to know how an engine works to drive a car? Do you need to know Newtonian physics before you can hit a bottle with a catapult?

More theory is not required in my opinion. I don''t think many people care if they truly understand the guts of neural nets so long as they understand enough to make practical use of them. And that''s what I''m going to be teaching... the practical side. If you want the theory (and there isn''t any solid theory really, no one to date has put ANNS on a solid mathematical foundation although plenty have tried... its still very much a black box technology) you can get it elsewhere.

Don''t get me wrong, If you want to write a mathematical approach which beginners will understand then that''d be fantastic and I''d be happy to add it to my web site. Prepared to try?
I read it, and although I am familiar with the concept of NNs, I could never see how they would act even remotely intelligently... after reading this tutorial, I started to understand... and leaving the exe running for a while was fun too

Anyway... I think the problem is that Mathematix doesn''t fall into the target audience, and I do. As simple as that. If you want more theory, there is plenty of it around, and I have read a lot of it just I didn''t understand a lot of it because a lot of the notation I don''t understand (still doing high school maths... I used to freak out at the sigma ). What this tutorial tries to do and claims to do, it does really well. What it doesn''t try to do, it doesn''t do.

Although, I think I''m smack bang in the middle of the target audience... I learn a lot better by teaching myself. The first person who made an ANN didn''t have all those theory papers and tutorials didn''t complain. And I find I learn really well if I put myself in their position, starting with the very fundamentals and then experimenting.

Trying is the first step towards failure.
Trying is the first step towards failure.
I read it and am because I''m not well versed in NN''s. It seemed pretty good for me. I think that maybe I could impliment a simple (really simple) NN by just going off your tutorial.

Invader X
Invader''s Realm
very nice work you got! just wanna say thank you for the tutorial, I been looking for these kind of tutorial for a long time!

Now back to reading

THM
quote: Original post by fup
------------------------------------
As I said on the previous posting, I like what you have done so far, but more theory is required.
--------------------------------------

Do you need to know how an engine works to drive a car? Do you need to know Newtonian physics before you can hit a bottle with a catapult?

More theory is not required in my opinion. I don''t think many people care if they truly understand the guts of neural nets so long as they understand enough to make practical use of them. And that''s what I''m going to be teaching... the practical side. If you want the theory (and there isn''t any solid theory really, no one to date has put ANNS on a solid mathematical foundation although plenty have tried... its still very much a black box technology) you can get it elsewhere.

Don''t get me wrong, If you want to write a mathematical approach which beginners will understand then that''d be fantastic and I''d be happy to add it to my web site. Prepared to try?


To build an engine, you need to know what is the role of each and every component of that engine, and its relationship to the other components if you want it to work. You are not driving a network here, you are building one!!

The practical theory behind neural nets IS solid, it''s the relationship between a network and its application where everything becomes fuzzy!

I understand your goals! All I suggested was a little more theory - what''s the problem???

Should I have the spare time, then I am prepared to supply the mathematical foundations, but don''t expect anything too soon!!

Regards,
Mathematix.

This topic is closed to new replies.

Advertisement