Skip to main content
GameDev.net gamedev.net
🔒 Locked

Real Learning Machine

Started by lukar Jun 29, 2004 at 3:40 PM 14 replies 2.4k views
Original Post
lukar
lukar
I have started out the documentation of a project I am going to get into with several people that will be helping me out from now on to the future. This project does not have a name yet but it consists of a machine that can really learn, not just save data in a form that must be later on interpreted so the machine just does some symbolic interpretation and uses this information for a purpose the machine itself doesn't need to understand.Our goal is to make it possible for a machine to learn, be able to apply this new knowledge directly and know to a greater level what this knowledge means. We are not trying to make a concious machine. Currently our ideas are to use neural networks to represent knowledge, divide the functionabilities of this brain into three... Pattern Recognizing, Pattern Generating and Information Prioritizing. The information prioritizing is used in order to recognize which incoming information is relevant to the current processes, to the current information needs, future information needs and stuff like that, this relevant information is stored, compared and processesed by pattern recognition. The pattern generating is later used to make new information based on previous one and also used to control whatever outputs to the external world the brain might have. This kind of outputs could be extremities, sound or screen. Now just remember this is not for a game, it is for research and we're barely starting and we intend to go on until we make something useful and innovative. Now the intention is not to leave this brain in just Neural Networks, the brain itself can use genetic algorithms as a tool by means of neural networks outputs in order to generate solutions for problems, in order to generate new patterns that fit new needs. In our philosophy being able to learn and apply what has been learned in any situation needed is the key into stepping somewhat further into the making of an ultimate AI. A team must start with a goal and means to it, if it is not the right track, the team must change whatever is needed. If you got any opinions, ideas, or simply would like to flame me go on :) or ask :)
I have neurons in my butt!!!
Sneftel
Sneftel
What formal AI experience and knowledge do you have?
lukar
lukar
I did some GA, ran a bit of neural nets to recognize colors. I intend to go on with normal AI before even touching source code for this type of AI but i want to make a solid theoritical background to it. I've been reading about Hebbian nets, Neural Nets and chaos theory. And in 6 months im gonna take a course on FUzzy Logic in University. I am studying Mechatronics Engineering. oh and I forgot to say I'm taking AI seriously, i want to make a Ph.D. in it already am making a layout of my studies for that
I have neurons in my butt!!!
lukar
lukar
are there any real opinions about this¡?
I have neurons in my butt!!!
Sneftel
Sneftel
Good, you're headed in the right direction. Too many people try to approach AI such as this without first getting a good handle on the existing body of research, and end up reinventing the wheel (and not getting much further).

If I were you, I'd stay away from ANNs as a representation. While fun and elegant, there are other representations with better learning capabilities and more useful side effects.
lukar
lukar
I was trying to use ANN's as information representation because for me it was the most direct approach to make the machine think with its knowledge, me and another mate are talking about the hardware currently avaialable for Neural Nets and how others use CPU power like this lab in arizona that used 30 Pentium III in order to use thousands of Neurons in an experiment about sound recognition, so our current concern is not saving cpu time.
I have neurons in my butt!!!
DeVla
DeVla
Go on man, really awesome project !

I'm currently reading Artificial Intelligence - A Modern Approach - Russel, Peter And Norvig ... it's really interesting :) i recommend it.

Do you think your machine will be capable of this ? (I hope it will) :)

a. Playing a decent game of table tennis (ping-pong).
b. Driving in the center of Cairo.
c. Playing a decent game of bridge at a competitive level.
d. Discovering and proving new mathematical theorems.
e. Writing an intentionally funny story.
f. Giving competent legal advice in a specialized area of law.
g. Translating spoken English into spoken Swedish in real time.
...

But seriously :

- Which language do you want to use to implement your project ?
- Not saving cpu time ... are you kidding ?

lukar
lukar
No im not kidding about CPU time, if/when this project comes to live it will also be ran with newest hardware for AI and as a Machatronics Engineer will also go on with research on creating new hardware, of course it will be optimizable but since ppl know that lots of ANN's use lots of CPU i don't want opinions such as "not doable with current hardware... NEXT!"

And I think it would be able to do all of what you said if it can learn the backgrounds of all of that, and one of the applications I want it to have is one of what you mentioned, driving. I don't know which of you have read about the contest that took place in a desert in which various teams made a completely independent vehicle which was "capable" of getting from point A and onto point B without any human help. In my opinion, no vehicle finished the race, cause of the lack of knowledge, if this vehicles had the capability to learn and were to be taken on a drive to terrain, programs ran in simulations, etc. some would've been very capable of finishing.

And about the funny story, the most probable thing is no... because i don't want to get into making this machine have a conciousness and in order to know what funny is the machine would have to be conscious about it. But as i said, it is the most probable thing to happen... You never know the capabilities and weaknesses of a system that is not to run in linearity nor logic at its 100%

About the language, i dunno yet, but it certainly will not be a scripting one. THe most adapt until now is C++ or D. But my tendencies are into D Programming Language
I have neurons in my butt!!!
Sagar_Indurkhya
Sagar_Indurkhya
Quote:
Original post by lukar
No im not kidding about CPU time, if/when this project comes to live it will also be ran with newest hardware for AI and as a Machatronics Engineer will also go on with research on creating new hardware, of course it will be optimizable but since ppl know that lots of ANN's use lots of CPU i don't want opinions such as "not doable with current hardware... NEXT!"

And I think it would be able to do all of what you said if it can learn the backgrounds of all of that, and one of the applications I want it to have is one of what you mentioned, driving. I don't know which of you have read about the contest that took place in a desert in which various teams made a completely independent vehicle which was "capable" of getting from point A and onto point B without any human help. In my opinion, no vehicle finished the race, cause of the lack of knowledge, if this vehicles had the capability to learn and were to be taken on a drive to terrain, programs ran in simulations, etc. some would've been very capable of finishing.

And about the funny story, the most probable thing is no... because i don't want to get into making this machine have a conciousness and in order to know what funny is the machine would have to be conscious about it. But as i said, it is the most probable thing to happen... You never know the capabilities and weaknesses of a system that is not to run in linearity nor logic at its 100%

About the language, i dunno yet, but it certainly will not be a scripting one. THe most adapt until now is C++ or D. But my tendencies are into D Programming Language


not doable with current hardware... NEXT!
lukar
lukar
See what i mean
I have neurons in my butt!!!
Timkin
Timkin
lukar,

In addition to learning as much AI as you can (not just ANNs and GAs, but search, reinforcement learning, natural language processing, probabilistic knowledge representations,...) I HIGHLY advise you to do some study in neuroscience/neuropsychology. In particular, you should look at current models of the hippocampus which attempt to explain human memory. Furthermore, you might want to look at the difference between working memory and long term memory and the computational models for each. The past 5-10 years has seen rapid advancements in computational modelling of functional aspects of the brain and this is a burgeoning area that you could sink your teeth into (the merging of AI and neural computational models), with plenty of interesting unanswered questions that would lead to exciting research (especially with regards to memory; our research team is doing a little on this at the moment with a new PhD student taking on a good project in aspects of working memory).

Good luck and keep reading (read everything you can get your hands on)!

Cheers,

Timkin
lukar
lukar
thanks very much, and yeah i've been reading on neurophisiology, learning psychology and also been very much into memory models such as hebbian logic. Am gonna buy some books in my bday (next month)

EDIT: Timkin what kind of stuff is your team doing on research?
I have neurons in my butt!!!
Timkin
Timkin
Quote:
Original post by lukar
Timkin what kind of stuff is your team doing on research?


At the moment the focus is on working memory and how sequence encoding is performed for spatial and temporal strings. For example if I give you my phone number, how is it that you can recall the digits in the correct order... and why are some people not able to do this properly.

Of course, we do a whole lot of other neuroscience and neuropsychology research as well...

Cheers,

Timkin

Addictman
Addictman
Oh, the lovely concept of Chunking. 7+-2, - the magic number. *cringe* - cant say I miss those days, using MHP to model the efficiency of the brains ability for recognition, and the dynamics of STM/LTM. And then you try to prove how N-gram's can be used to represent symbolic recognition. Not to mention semantic. huch.
Development blog, The Omega Sector -- http://www.omegasector.org
Sagar_Indurkhya
Sagar_Indurkhya
If you contact me at SIndurkhya@yahoo.com, I can give lots of info for this stuff. Me an my friend have been doing something like this for more then a year now!
Isogen
Isogen
Look for a project called 'Magus' on the web somewhere. I think Igor Alexsander was heading the project (he's written some good Neural Nets books).

It was an atempt in the early 90's to develop a concious machine, done by the computer science teams at Imperial College in London. It met with some success, even to the extent that the machine begain to dream when its inputs were deactivated. It was taught using semantic content and images rather than the usual pre-computed logic. Quite an interesting project...

For those that are telling you that it isn't possible, well... they are far to stubborn or predudiced to see the truth. They don't seem to understand that not every neural net has to produce instant results, and taking a second to process a single 'thought' is not necessarily a problem, nor that simple studies on intelligence can be achieved using relatively few neurons. I developed a NN architecture for my masters thesis in Java, and even that was capable of processing about a 500 million cell updates an hour running on a 1GHz machine. More than adequate for an intelligenge study.

True, you won't be able to achieve human level intelligence, nor will you achieve lighting fast results, but if Magus could be run on early 90's hardware, then I'm sure that you can achieve something too!

If you are desperate to achieve lightning results then a small C implementation or even assembler level neurons can be used. The main advantage of neural nets is that precision is not an issue for most applications, so small numbers of bits can be used (as low as 5 bits are used for hidden layer weights in many commercial applications, switching back to 16-bits for the output layer). This means that you can pack multiple words together and operate on them in a single instruction, (SSE/SSE2 Packed Ops) although this takes some careful design...

Hope this provides some encouragement...

Iso

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.