Forum Home | User Profile | Register | Members | Groups | Search | FAQ | Back to:OnIntelligence.org
onintelligence.org Forum Index -> Models and Simulation Topics -> Open source project of Memory-Prediction Framework

 
This topic is locked: you cannot edit posts or make replies.   This forum is locked: you cannot post, reply to, or edit topics. View previous topic :: View next topic  


Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

02-13-07, 07:39 pm
PostPost subject: Open source project of Memory-Prediction Framework Reply with quote

magdeburg wrote:

Do you have any plan to give your implementation as open-source Very Happy


Hello again!

Due to an overwhelming demand and encouragement from many, many people, I now have an idea to make my implementation of memory-prediction framework an open source project Shocked Very Happy . The idea is to share all the code and thus foster further interest, development and buzz about this exciting technology. I envision it as a SourceForge project with a public license to download, use and change the code. This should happen within the next 10 days or so. Meanwhile, any comments/suggestions about this idea and the method of hosting/managing the open source project will be greatly appreciated!

Some other good news: my paper on memory-prediction framework has been accepted to the 20th International FLAIRS Conference (Florida Artificial Intelligence Research Society). So the scientific community is going to know more about this research field, which is great. If you want to discuss memory-prediction on May 7-9 in Key West, it is not too late to register and participate in the conference (you can do so here: http://www.cise.ufl.edu/~ddd/FLAIRS/flairs2007/). My updated paper is available from my site.

You can read more about my implementation of memory-prediction framework in previous thread "Training and experimenting with Dileep's Matlab code" or by visiting my website.

Saulius
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
Tom11


Joined: 21 Jan 2007
Posts: 16

02-14-07, 11:28 am
PostPost subject: Reply with quote

I can train and test the entire test and training folders, but if I try anything with the individual subfolders, I get an "Invalid floating point operation".
Back to top
View user's profile Send private message

Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

02-14-07, 07:16 pm
PostPost subject: Reply with quote

Tom11: If you want to try training with just one subfolder of any subset of subfolders, do the following:
1) Create a new training folder, say TomTraining
2) Copy one or more subfolders from training images folder to TomTraining folder
3) Specify your folder TomTraining in the MPF program to train just the subset of categories.
You can restrict testing categories in the same way. Or you may draw/load a single bitmap and let the program recognize it.
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
Tom11


Joined: 21 Jan 2007
Posts: 16

02-14-07, 08:02 pm
PostPost subject: Reply with quote

Elite wrote:
Tom11: If you want to try training with just one subfolder of any subset of subfolders, do the following:
1) Create a new training folder, say TomTraining
2) Copy one or more subfolders from training images folder to TomTraining folder
3) Specify your folder TomTraining in the MPF program to train just the subset of categories.
You can restrict testing categories in the same way. Or you may draw/load a single bitmap and let the program recognize it.


Yes, I discovered that simple solution myself a little while ago. Always best to do a little experimenting before asking for support, I suppose.

It's a very well-done program and I will certainly be following your open-source project with great interest! Very Happy
Back to top
View user's profile Send private message

Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

02-22-07, 06:42 pm
PostPost subject: Reply with quote

Finally! After years of analyzing, developing and testing applications modeling the memory-prediction framework, I am releasing the latest working version of the framework including all source files on an open-source basis. Here comes....

Project Neocortex Cool

On the web at http://sourceforge.net/projects/neocortex/
Sample applications, training and testing examples and the full C++ source code are available for download as Release 1.0. CVS repository also contains the source and is ready for teamwork. As always, feel free to contact me with any questions or suggestions.

I invite you to take a look at the project, play with the programs, experiment with the code and, most importantly, join the further development of the framework. As I describe in my paper, there are lots of performance issues and conceptual problems waiting to be solved. Now YOU may be the one who envisions the next great idea, eliminates a bottleneck or devises another way of modeling the framework. In any way, you will be contributing to the goal of building the first human-like, truly intelligent machines. Let us make it happen!

Saulius Garalevicius
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
Cerin


Joined: 26 Feb 2007
Posts: 4

02-26-07, 12:17 pm
PostPost subject: Reply with quote

Your project is impressive. How difficult would it be to extend the model to handle color-images and decision-making applications?
Back to top
View user's profile Send private message

Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

02-26-07, 01:55 pm
PostPost subject: Reply with quote

Hello Cerin:
1. In theory, extending the model to handle color images should be fairly straightforward. (Here I am talking about the version with the unified view of the learning region, not the one that uses predefined classification of inputs in the lowest level.) All the main algorithms would stay the same, you would only need to define to what extent can two similar colors be treated and memorized as the "same" color. The practical challenge to this, of course, would be the increased number of combinations/patterns that the system would need to remember. If that is solved, then it should have no major problems in handling color images.
2. Decision making: it depends on the exact kind of application. It may or may not be easy to adapt the model to that application. While the principle is universal, the current model deals with visual patterns only.
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
Cerin


Joined: 26 Feb 2007
Posts: 4

02-26-07, 03:04 pm
PostPost subject: Reply with quote

I ask about decision making because my interest is in applying this model towards game-playing. Specifically, the game of Go.

The model would need to accept a three-color image of the board and output a value for each empty position representing the likelyhood that playing at that position would lead to a win.

Is this possible? I'm having trouble imagining this model applied to anything other than pattern classification. Would you have to train the system on an image of each board and the resulting score of the game, or is there a more direct method?
Back to top
View user's profile Send private message

Author Message
Tom11


Joined: 21 Jan 2007
Posts: 16

02-26-07, 08:31 pm
PostPost subject: Reply with quote

This particular program pertains only to vision, but the general theory behind it can be applied to all sorts of things, including Go.

Read the whitepapaer over at www.numenta.com for more info.
Back to top
View user's profile Send private message

Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

02-27-07, 05:00 pm
PostPost subject: Reply with quote

Now I see how you want to use colors in the Go "image".
Pattern recognition (based on the memory-prediction theory) could definitely be employed to play Go. Another question is what kind of patterns can be memorized and later recognized for the game of Go?

Here we see a big difference from recognizing visual patterns. A pattern in Go can be related to topology of the structure of same-colored stones, the notion of surrounding stones and the number of "lives" left for that structure and so on. Hence, the possible transformations of the pattern that need to be recognized are again very different from transformations of a visual object. In Go board positions, the difference of one or two stones could be crucial, while in an image the difference of one or two pixels usually has little meaning. Again, Go structure would need to be treated differently if it is at the side of the board vs the center of the board, unlike the task of recognizing a visual object.

Therefore, it is not really feasible to adapt a system designed for image recognition to the game of Go by feeding it with an "image" of the board. Its not that the memory-prediction theory cannot be applied for the Go problem (we humans also play Go using the pattern recognition capabilities of our brain!), but the patterns in Go would be much more complex to identify, remember and recognize and thus would require a more complex cortical hierarchy.
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
Grand Apeiron


Joined: 22 Mar 2007
Posts: 1

03-22-07, 06:59 am
PostPost subject: Reply with quote

Hi,

I just stumbled into HTM theory some days ago and since then have read the Numenta HTM introduction and tried to make my own thoughts about the theory. So just see my comments on this topic as pretty simple and general.

When I think about the Playing-Go question, I think there is a big difference to pattern recognition (at least what I know about it so far) when it comes to deciding which move to make next. In addition I think you need more than "just" pattern recognition to build an intelligent machine which decides itself which next move would be best but doesn't know all possible moves beforehand.

I think I can explain my thoughts best, using the human example. When analysing the game situation you surely use your eyes as sensors to make something like visual pattern recognition. This leads to having the picture of the game board in mind. In the second step you use your brain as a sensor to analyse the situation. Let's say you try to find an answer to the question "is the current game situation good for me or good for my opponent".
In my opinion for this first two steps you don't really have to think. You are just analysing the current game board using your eyes and your brain to get an idea which the actual situation means to yourself. So you do something like pattern recognition and this also could be done using an HTM.

The really interesting step comes now. What move do you make next? If you would be a machine with a real big memory you maybe would have learned all possible moves before, or remembered them, and so just have to recall a situation you saw before and use that information to decide what move you make next.
But since you are a human you play differently (at least in my humble opinion). You don't try to remember if you had this situation on the game board before (at least not pretty long). You rather would try to think about as many possible next moves and then you would decide for one move because you "think" it's the best move.

The interesting part in this is, how you come to the decision that the move you decide for is the best possible move. I can't currently answer this question myself. But I don't think you use pattern recognition. Because your moves in a game are normally not clearly rational. You decide by feeling instead of knowing. If it would be different it would not be a game, it would but an algorithm.

I also think pattern recognition wouldn't help to solve this "machine plays game like a human" problem because you are not trying to find a cause when deciding your next move but you are doing something which you think would be best in the future.
It's like you are deciding for a certain behaviour just by a feeling.

To rebuild this decision process in a machine the machine would have to do something like the following:
- If I do this, happen would that
- It I do that, happen would something other
- I do that because something other seems to be better than that in the current situation

I am really interested what you think about this problem. I hope I get new ideas out of it.

- Gran Apeiron
Back to top
View user's profile Send private message

Author Message
Cerin


Joined: 26 Feb 2007
Posts: 4

03-22-07, 10:05 am
PostPost subject: Reply with quote

Thanks for your input Apeiron. You've basically reinvented what's known as Game Theory.

When you describe making decisions "...by feeling instead of knowing" you're essentially describing a heuristic. Go is a fully obserable, fully deterministic game, which means a simple alpha-beta search algorithm could theoretically compute the best moves given an infinite amount of time and memory.

Of course, we don't have those kinds of resources, so we need to learn a heuristic that gives our program a "feeling" about what moves the AB search shouldn't waste time analyzing. However, this is no trivial task.

This is why I'm interested in HTMs. If they can learn to extract patterns from experience and accurately predict good/bad moves in previously unseen boards states, then it could potentially be used to play Go. Of course, how you would create useful training data from games given the difficult nature of assigning credit/blame is no easy task. This is why the game of Go is currently one of the most difficult problems in the field of machine learning.
Back to top
View user's profile Send private message

Author Message
Elite


Joined: 04 Oct 2005
Posts: 22
Location: Bensalem, PA

03-24-07, 09:41 am
PostPost subject: Reply with quote

This description of thought processes during Go playing makes sense. We only need to remember that the brain uses pattern recognition and then uses prediction based on the recognized pattern.

So a memory-prediction system could view the last few moves in the Go game as a temporal sequence and then try to predict the best possible continuation of that temporal sequence (a number of future moves).

I think pattern recognition does come into play as the first step before doing any prediction. Even if you don't recognize the overall board position as a familiar pattern, you may recognize a small configuration of stones as something seen before. Your later predictions and actual moves will depend on the accuracy and complexity of such pattern recognition.

Humans are not that good at analyzing possible moves based only on logic. Therefore, a beginner may play Go using his analytical skills only, but he will likely lose very quickly to a more skilled player that has learned to identify and recognize common patterns on the Go board.
_________________
My research page on memory-prediction framework: http://www.phillylac.org/prediction/
Open-source version of the framework: http://sourceforge.net/projects/neocortex/
Back to top
View user's profile Send private message Visit poster's website

Author Message
adriaya


Joined: 08 Nov 2009
Posts: 1

11-10-09, 09:43 pm
PostPost subject: Reply with quote

What is the best Open Source Server Operating System? im setting up a home server n i have 5/6 computers + 3 laptops attached to my LAN and i want to use my server for mainly storage and possibly in the future web hosting. But im looking for a Open source server operating system something similar to Microsoft 2003 SBS ... any suggestions, places to download and reviews on others operating systems ?
Back to top
View user's profile Send private message

Author Message
althea06


Joined: 11 Nov 2009
Posts: 1

11-11-09, 07:19 pm
PostPost subject: Reply with quote

This would be very interesting idea. It would be easier for us to know the codes behind this project and would love to share if there's any enhancements to be done. It would be very useful.Thanks in advance.
_________________
hard drive rescue
Back to top
View user's profile Send private message

Display posts from previous:   
This topic is locked: you cannot edit posts or make replies.   This forum is locked: you cannot post, reply to, or edit topics.    Page 1 of 1 All times are GMT - 8 Hours

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group

Please contact the board administrators if you have any questions regarding the OnIntelligence.org forums.