Whenever I work on a digital project, I create a folder for it and make a notepad file for brainstorming and just scratch work. This is the current version of the brainstorming file for the AI-Concept I'm working on.
What separates machines from humans?? The answer that comes first to mind is that while we have free will. The power to have our own openions and to create new ideas out of scratch. Although that's how it seems, it's not the case. We humans cant create ANYTHING! We can only take what exists in nature and manipualte it into something new. Think of this. A raw piece of wood is cut from a forest and made into the paper that becomes the raw canvas for an artwork. We are able to make paper out of wood because we were observative. The artist is able to make an artwork not because he or she is CREATive, but because they have the power to observer and judge. Sitting in front of that blank canvas, hundreds of ideas rush into the artist's brain. But from where?? All of these ideas are from old experiences, in one form or another. Many times, new ideas are "created" from the combination of two concepts or situations into one. Many times these founding situations and ideas that make up the final ideas is not from the person themselves, but form someone else. All of human kind's achivements were possible because we were open minded. If we didnt share our findings, each of us still would be trying to invent the wheel by overselves a thousand different ways.
When faced with a blank canvas, artists often start off by drawing a single line. And then another. The image of these lines trigger memories of objects that could be formed from the combination of the lines. Looking up at a summer sky, we see the shapes of different objects on the faces of clouds, even though they are just clouds.
As children, we often imitate those older than us. We mimic the actions of those around us and learn form it. These process of observing and imitating, physically or mentally, allows us to learn. A process of rewards and punishments separating the good learning from the bad shapes our personality. Creating an program that can imitate what we tell it is fairly easy. So how do you go from an imitator into an Artificially Intelligent program? With goals, both big and small.
Goals are an important aspect of being human. We as humans are proud to announce that we have free will. "If I want, I can walk over to the front of the class. Punch the professor and run out, yelling and making a mess in the hallways." Yes. You can (as in ability to do something) do that. But WHY don't you? A person in their right minds would know that such actions can have serious consequences. It would most likely get you expelled from that school and subconsciously, you despise that idea since it would interfere with the goals you have in life. Notice I said the "goals you HAVE" in life. This is because many times, these goals are not your own. Your parents, friends and the society around you have a a lot on influence on the goals you set, especially those set when you are young and still prone to some aspects of learning from imitation.
Goals, combined with past experiences the program learnt, is the major aspect of an AI. You teach the program how to draw one line, and tell it to draw two lines. After many failures, it'd accomplish that goal. Learning from it's mistakes to accomplish the next, slightly harder task of drawing three lines, faster with fewer errors. The series of errors, punishments and rewards will develope into the AI's sense of judgment that judges good from bad. Although I enjoy watching Sci-Fi stories such as Terminator, Sarah Connor chronicles, I don't think such a situation would happen because of these very reasons.
-Unfinished. Aspects of Creativity, Thinking and Memory to be explained later.
It's been 4 or 5 days since I started the AI project. School will open soon, so I'll have to stop this and move on for now. I'll scratch down the basic outlines of the other ideas that I had so that if & when I start again on this project, I wont have to start from scratch.
Input:
Where am I
I am there
Who am I
I am Cobalt
What am I
I am human
Where are you
you are here
who are you
you are AI
what are you
you are a program
you are a module
The goal is to get the program to get a categorization of
1: I, am
2: You, are
3: where, I, there
4: where, you, here
5: who, I, Cobalt
6: who, you, AI
7: what, I, human
8: what, you, program, module
and so on
Later on (after more input), the categorization might look like the following.
1: who, what, where, when, why, how
2: where, US, Earth, Solar System
3: are, am, is was
and so on....
Make each node complete objects instead of just one word.
With the input "you are good" and "how are you" try:
you(are, good)
are(you, good)
good(you, are)
How(are, you)
are(How, you)
you(are, how)
That should let it associate Good with How. This system breaks down when new unknown words are introduced too fast
and the program confuses those words with the answer.
Memory: categorized by tags. Recent memories kept in RAM. snipeets from old events (more snippets of recente events than of old ones) also in memory. Snippets can be used to search for the rest of the memory as well as events directly before and after it and related events.
Creativity: combine random snippets (which lead to other snippets) in a comprehendible way. Apply concepts from one event/lesson on others. Use format from similar challenges/tasks/experiences. The snippets lead to a line of thought, sometimes creating recursion since in the process of looking through the snippets, the snippets are pushed up in the stack to be renewed/"newer". This creates the "That song is stuck in my head" scenerio.
Thinking: multiple threads jumping from topic to topic. Each topic is a .txt file with tags to related topics. sentences broken into web system.
Logic: basic skills of logic must be built into the system. a=b; b = c; a = ?
Pattern recognition should also be used
A heuritical system of punishments and rewards. Use this to organize the information better by re categorizing and eliminating the link from node to node when the heuritical cost becomes unacceptably high.
Also look into programming this in LISP so that it can access itself and modify itself while running.
Reading Test
Aoccdrnig to a rscheearch at cmabrigde uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the only important thing is that the first and the last letter be in the right place. the rest can be a total messa nd you can still read it without a problem. This is because the human mind does not read every letter by itelsf, but the word as a whole.
*Consciousness - A state where you are capable of observing and learning from the observation.
*Learning - A infinitively recursive process of imitation and experimentation (which leads to more "learning")
*Intelligence - A state of being conscious and able to learn. The pace of learning defines the intelligence quotient.
*Thought - The reaction to what was observed. The actual thought is based upon what was learned.
An AI's awareness of Self and the World: a challenging concept. Emotions: Even more challenging.
When you see an old grandfather clock running by turning gears throgh the energy from winding, you observe and learn from it. Sometime in the future, you are able to apply a similar concept to something else. If the clock was covered, then you'd have to go through the hassle of removing the cover to learn about it's working. Most people wont do this and thus, this covered approch becomes a wall to progression and learning. Closed-Source commercial programs are doing just the same. Open Source interpreted programs that are interpreted; those that the user can see without much hassle; will drive forward a considerable evolution in programming.
Does intelligence and thinking start before we are even born?? Aldous Huxley's Brave New World gets me thinking that at least a bit of "conditioning" is necessary for AI's to work properly. This would be where, at the start, the AI just observers everything without actually reacting. These observations set the foundations, the instincts, for further learning.
*NOTE* : I'm using a different type of Neural Network that doesnt use any sort of "Weights". It's just many independent nodes linked to related nodes/words. When asked a question, the question is sent to the node and it adds it's part of the answer to the answer String, determines what the next node in line is and calls it. This creates a train of thought. The answer will be based on not just the current question, but on the whole conversation. The "recent memory" object is shrunk down into snippets after the conversation and shrunk down even more after sleep.
All the Neural Netowkring of AI's can get very messy. That's why Sleep is necessary. The information in the recent neural netowork is reporcessed. The useful thoughts and nodes are kept while the useless ones are disposed of. The random paths from node to node create the sequence that becomes the basic outline of Dreams.
The concept of Understanding can be "understood"(LOL) better through the Dictionary scenario. Sometimes when you look up a word, you get a definition that uses the same word to define it! For example:
Consumer: person who consumes, esp. one who uses a product.
The reader looks up the word consumer because they didnt know the word "consumer" or words associated with it such as "consume". This definition doesn't truly explain the word in terms they know and thus, the reader doesn't understand the meaning.
If a second definition:
"Purchaser of goods or services"
is given and the reader knows all of the words making up the definition, then they can understand the meaning of the word.
When an AI looks up the word Consume and finds the second definition, it'll break down it's definition into smaller parts such as "purchaser" "of" "goods" "or" "services". Then it loops through each of those words and looks up words related to it. The process continues for a set number of turns. Then, it creates a new node with the word "consume" and assosciates the words "of", "goods" "or" "services" to it. It then also adds the words it found through the sub-search.
Most of the words the AI associates with the word "consume" is irrelevent. During sleep time, it sorts through the words and narrows down what is important and what is not.
The AI now "understands" the word "consume" and it'll be able to use it in define it in many different ways (instead of "purchaser" it could say "buyer" which it earlier identified as a word associated with "purchaser" with similar meaning).
Mastering usage is a whole different issue. It has to go through a trial and error process to expand and narrow down it's associated words, categorize the word, create rules for the word when it's being used with words of certain categories.
Thoughts?? Opinions??? Suggestions??
Showing posts with label Creativity. Show all posts
Showing posts with label Creativity. Show all posts
Friday, August 22, 2008
Subscribe to:
Posts (Atom)