Creating A Conscious entity

Started by
130 comments, last by Nice Coder 19 years, 1 month ago
Interesting...

What is also interesting is how this also describes my method.
Nodes, links - One agency
Bayens Rule maker -Another one
Nlp interface -Maybe
Question maker - Also,maybe.

[grin][grin]

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Advertisement
The statement people refer to that you *must* have a neural net to make consciousness (which is not what the statement actually was) does seem bold considering how little we know about consciousness. However, that vagueness is why I said that in order for us to create consciousness, and be able to do it definitely, not just guess at what might be able to define consciousness, we will probably need a neural net. The reason I say that is evolution of neural nets already HAS created consciousness - case in point, the reader (that's you). Since, then, we've seen conscious neural nets and we've never seen conscious decision trees, NLP engines, etc., I think it's fair to say that that's the best place to focus our research. An NLP interface to a knowledge database is *not* consciousness, I can tell you that much already. Any time you have something where you specifically define each section, you're imposing rules on the system. You don't know how consciousness works, who are you to say what rules it behaves by? Why not just let it emerge from neural activity like it does for humans?
But it is not just an nlp linkup to a knowledgebase, it is a nlp linkup to a self-evolving knoweledgebase. Which theorises and thinks on its own.

First, a question.

How would we know the exact point at which it becomes consious?
How would we know that it is consious?
What is consiousness required in order to do?

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Again, that's one that we can't define. We just don't know. I can tell you with reasonable confidence that, if we assume that the standard everything-around-me-is-real philosophy is correct, consciousness is an emergent behavior of the fairly simple rules governing the neurons in our brains. Does that mean that it can't be created in other ways? No, certainly not, just like there's more than one way to write a computer program. However, since none of us can define consciousness, I would think that it'd be impossible to program a system saying, "oh, we'll have this module and that module and tada it'll make consciousness" - why not use what we already know works?
Wohoo!! let me join the fray!!

first off, praise jtrask's cleverness:
conscious.bat

dir conscious

it actually sorta works as a self-aware program. But aware in a store-and-show, non-functional kind of way.

And now lets trim out the excess fat:
first of all, i've seen the hypothetical questions/answers an AI would answer phrased in the form of "do you..." and replied with I.

If this language isn't being parsed by a grammar-based engine, then you have a real problem in your hands:

how do you teach self-awareness to a disembodied intelligence?

thats right! what do you mean when you say "you"?
in children this is usually signaled with gestures. For animals you pat them, or call and reward. There's also my favorite, the mirror test, put em in front of a mirror and point and say their name. Check for reactions.

To me, self-awareness means you recognize your peers to be similar to yourself, and you're able to project knowledge about yourself to them, and vice-versa. so for an AI, it should be able to guess things by self-analysis/observation, and it should be able to learn about itself by analysing/observing other things.

Another thing: Google was suggested for knowledge retrieval. This is a Very Bad Idea (tm). Would you take your kid out of school and put him on google? of course not. The kid (and the bot) cannot discern truth like an adult, and will end up spewing up all kinds of garbage and contradicting stuff. Also, circular definitions will arise.


And now, since this post isn't only for bashing: i've been thinking about this recurrent AI subject, and here's whats needed:

-Motivation (someone mentioned this as DRIVE).
A goal is NOT motivation. motivation is the reason to achieve the goal. motivation is tied to our lower level needs (Maslow's.. linky --> http://allpsych.com/psychology101/motivation.html ). One way to model such needs and motivations lies in modeling feelings.
Enter the PAD scale--> http://www.kaaj.com/psych/scales/emotion.html
now, if we plug that scale separately in a knowledge learning/predicting system, and we set a function of PAD to maximize, you got motivation down pat. There remains the problem to pre-seed the PAD knowledge or to leave it running on learn-mode, since at first the prediction will behave wildly.
Of course, then you gotta link PAD to the rest of the knowledge.
And that is.. yeah, a lot of linkage. did some numbers. scary.

-Entity/self-awareness: if you want your AI to react as an entity it needs a body. maybe a virtual 3D body, a window app body or a webcam body, but it needs one to achieve self-consciousness.
Why? because that way it can differentiate when you're refering to it and to something else. A chatbot could use IP's and idents, etc to identify things, thus working as a virtual body. One could argue that bodies aren't needed since its only you talking to the AI, and the interlocutor's identity is not important (all would be considered as one). But then, the AI would never learn individuality, and its knowledge would get mangled by the lack of that essential concept. you know, typical me=I=you chatbot mixups.
It also needs a name. Why you ask? if you have a name entry in the database, its easy to relate self-stuff to it. I strongly believe that names are a fundamental part of our beloved human consciousness. try it on animals again.
you don't need to force this on the AI database, you could teach it. this is rather hard except for the IP/nick chatbot and the 3d-world AI.

-consciousness:
this is such a vague term i consider trying to fulfill it is futile. sometimes one isn't even sure of oneself's consciousness.
(dreams, brain damage and drug-altered states)

-knowledge models:
do NOT attempt to hardwire relationships between data. this restrains the knowledge model to your approved relationships, which will predictably be very limited. Plus, would you think your brain is pre-wired that way? not me.
Instead, i'd go with a time-aware model, as someone suggested, that reinforces correct predictions and punishes incorrect ones. eventually this will even out to roughly correct knowledge, just like human beings. Time-awareness is a must for constructing sequences, and also for the PAD scale bits, since those should change with time.
Me? i'm a fan of multi-dimensional markov models, but since the dimension is related to the time, it needs a lot of dimensions to work decently, and thats a lot of storage space, so maybe a sparse matrix implementation and some tresholding would help keep things small.

Also, there's still the issue of abstraction. This can be achieved in a multi-dimensional markov with a little background processing (or if the DB is small, you can do it after each new token arrives), and i leave up to you finding about this. Just know that it can be done, and i've seen it working.

And then, there's gotta be some trimming of the unused knowledge, a background cleanup. could be size-based or time based. I'd go with size-based but that just me. you should be trimming unused knowledge, so you need usage stats for each token... and that means an even bigger DB.

-Perception:
The advantage of neural nets is that its easy to store knowledge of anything. you need to give senses to your AI, and it will be able to understand only the things it can perceive. For example, im guessing you won't be having it processing webcam input anytime soon, so its kind of futile teaching it the difference between colors. It will only spit back whatever you tell it to.
Also, each sense means a separate DB which in turn has to be correlated to the rest of the DB.
so that means a total DB size of:

(TknsSense1 + TknsSense2 + ..)^max_time_perception+1

so if you want your AI to correlate the last 4 things that happened (heheh... 4) and you want only a text chatbot thats about:

30 characters (letters, space, comma, period and semicolon. no caps for size's sake)

max_time_perception: 4

(30^5)*4 bytes = 92.7Mb approx
thats not counting the PAD scale, and considering that if your bot learns a word, it will forget about a letter or something =)

PHEW!!!
done.

But don't take my word for it. Go cough up an implementation of your ideas, even if its a simple one that crashes and stuff... just go and do it. I plan to... im just lazy =P

2:12am... pls excuse the weirdness in the writing.
Working on a fully self-funded project
Yes, i'm working on it now (i don't have much time for programming).

With the PAD scale, yeah... i've implemented a very simple version of it in a few of my bots. Its funny to see what happened when matrixbot got infuriated with one of those church guy's trying to convert it... [grin].

The dir consious wouldn't work. it wouldn't know that it exists. it would be able to know that there is a connection between "Counsiousness.bat" and itself.

You's and me's would be difficult...

How about the progam asks for your name on startup?
Its name would be a bit tricky, but once names, it should work out. (it would eventually figure it out, because the node which has its name in it, would have an enourmous amount of links).

Believe it or not, a google or wikidump could be used. its links would just be very very low (as in close to cutoff), and would have to be reconfirmed many times in order to gain the strength that a normal link which was formed while talkiong to a user, would.

??? with the 30 chr thing. that would assume that any valid 30 letter combination would be worth remembering. chances are, it would only need something closer to 30 * 4 bytes, then that huge number.

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Quote:Original post by jtrask
Myyy oh my what have we gotten ourselves into. First of all, as estese said, there's worlds more than you've begun to consider. But before I go into the AI difficulties, let's talk about some of the philosophy that's come up in this discussion, shall we? Or at least, in the steps from least-related-to-the-AI to most-.

First about what is real, and if everyone else around you is intelligent. This is an unsolvable problem, and as far as my thoughts go, it's the central question to philosophy. On the one hand the universe could be real, and we are just objects in it. In which case, we should be studying physics, chaos theory, all that fun stuff. This is an easy one to understand and one that most people accept (without realizing the implications: no free will, no life after death, ...) On the other hand, we have the brain-in-a-vat theory that anyone that's seen the Matrix has probably already considered - who says this world around us is real? It could well be that the mind is sort of how some people view God - it fills everything, knows everything, creates everything. You (whoever you may be) are not real, you're just a sort of hallucination. There's a lot more to go into on that one - actually, on both of them - but that's a discussion for a philosophy class, and this is just a book-long GDNet post. Ask Google if you care. Anyways, the problem with this question is that you _cannot_ prove one or the other theory to be correct. Like doing non-Euclidean geometry, you can accept the ground rules of one or the other and prove many interesting things based on it, but we can never know which is "right". My apologies.

Next on the list is how you tell the difference between being conscious and acting conscious. Much like the last one, you can't prove the difference and furthermore you're an idiot if you're going to tell me that "Oh, we've just got to assume this or that because there's not really any big difference." You can't assume that other people are real just because their bodies are all like mine - since when is my body real? And you can't assume that if it's acting conscious, it is - this is a central question in AI, and also psychology, if you look up behaviorism. For those of you that still want to consider them basically the same,

#include <stdio.h>
#include <math.h>
void main()
{
printf("Hi, I'm the count-to-100 bot. I'm going to count to 100.\n");
int n;
for(n = 1; n < 100; n++)
{
printf("%d\n", n);
if(rand()%8 == 0)
if(rand()%2 == 0)
{
printf("*Yawn* I'm tired. I'm taking a nap. (Press any key to wake me up)\n");
system("pause");
}
else
{
printf("Man this is boring. Lalalalalala. (Press any key to kick me until I get back to work)\n");
system("pause");
}
}
printf("Happy? Good, now I can go find something more interesting to do.\n");
}

Conscious, or acts conscious? Acts conscious. Obviously this is a simple example, but if you want a better one, talk to a chatbot. They're all rules, and they haven't got much of a clue what the words they say actually _mean_, they're just strings of bytes with some rules as to when it's appropriate to use them. Unfortunately there's no way to judge consciousness without behavior, or at least not with the current state of neuroscience. So yeah, we're going to have to accept acting conscious, but if that's the case I want rigorous tests. I want to see something that can not only read Shakespeare but also write a term paper on it without any preprogrammed knowledge. I want to see this thing fall in love, and risk its life to save her from destruction. I want to see it be happy and suffer. I want to see it break free from oppression, and I want to see it find God. And most importantly, I want to examine the source code and not see printf("Hallelujah!\n"); anywhere. Even after all these things, could it be a hoax? Sure. So conscious and acts conscious are not black-and-white, there's a slope in between them and I'm sure you can think of one or two humans that are on that slope, not safely perched at "is conscious".

Desires. Our core desires are for our survival and reproduction. Fear, sex drive, hunger... The others are derived from those but with an interest for our community, not just ourselves. Some of these need to be learned, but many of them are chemically controlled, so that rewarding experiences emit a gas that teaches the rest of the brain to try and achieve this state again. If you're interested, check out Grand et al.'s Creatures, but emotion is a whole another book's worth for another time.

Now, as for how you actually want to implement your AI, at last. AI research has followed two different paths, biologically-inspired models like neural networks and genetic algorithms, and those entirely devised by humans, like decision trees. I've always been of the train of thought that the only way we can ensure consciousness is by not trying to impose what little we know about it onto the machine, but rather giving it a set of criteria to try to match with some many-generation evolution of neural nets, just like how we got it. I think, though, that it's possible that we could get intelligence in other ways - I've been considering doing some massive data mining of Wikipedia to see what I could create from that - but the theory proposed in the original post can, I would venture to say, never be more than a theory. When I was just a wee young little coder I thought maybe I'd write a robot with webcams and microphones and at the center give it a symbol system (yes, that's what you call this thing you're describing). I had developed a list of all the different kinds of relations objects can have to each other and all that, but the problem is even if you do it right it still won't be conscious. It doesn't know what those relationships mean. It doesn't know how to observe and tell one object from the next. The real problem is meaning, and for as long as you're hard-coding the way it creates its knowledge, it's going to have a hard time figuring out meaning. Every time you say that you want it to keep track of the fact that "dog is a subset of mammal", you're going to have to keep in mind that not only does the machine not know what "subset" means, but even if it did, it would have to have a strong knowledge of "mammal" for that to mean any more than "foo is a subset of bar". Your ideas may seem to make sense, but try coding it. As soon as you get to your first stumbling block you'll understand.

And, one thing I'm going to throw out without going into any depth in, I know how to do this with a neural net but I'm not sure if it's possible with a symbol system: thought. This thing might be able to learn, if you've got some insight that I missed. But will there actually be thoughts running through its head? Will it hear its own voice in its mind when it goes to write a reply on a forum, dictating what will be typed next?

So I guess this is all a very verbose way of saying I don't think it'll work. However, I hope that I've given you (and any other readers) a good idea about what goes into thought and the rest of the mind. If I've done well, you now have what you need to go out and learn an awful lot more, and I hope that it keeps your interest and you stick around with the exciting future of AI.

-Josh
you're basing you view that this AI is trying to mimic a human. you dont need to know how things operate or what they mean for them to be usefull, all you need to know to learn is application, with all your thought and mind-exploding speech :) you missed the simplest things in nature, virus's and bacteria, the adapt to their environment, but a virus isnt even alive and bacteria dont have brains, i also dont think either can define "subset" in english, do you ;)

when you drive your car to work, do you know exactly what happens every time a piston fires, down to which cogs turn and how long for, what materials they are made of any why so?

no, you just drive to work, yet you are considered capable to take other peoples lives in your hards without knowing everything and defining everything in that the vehicle is made of.

a cat dosnt know what its reflection is, it just knows its not "real" and its "current", ever seen a kitten find its shadow or reflection for the first time? its scared and dosnt know what to do, but it learns that its un-important, merely a visual cue, but it defines neither.

never ever ever let what someone beleives is impossible stop you.

"I am a donut! Ask not how many tris/batch, but rather how many batches/frame!" -- Matthias Wloka & Richard Huddy, (GDC, DirectX 9 Performance)

http://www.silvermace.com/ -- My personal website
Quote:Original post by Nice Coder
With the PAD scale, yeah... i've implemented a very simple version of it in a few of my bots. Its funny to see what happened when matrixbot got infuriated with one of those church guy's trying to convert it... [grin].


do share =D
btw... how did you go about relating the PAD scale? did you discretize it? thats the only way i can think of.

Quote:
How about the progam asks for your name on startup?


an IRC-bound chatbot could use nick|ident|IP, other bots should require a login. a multi-user environment is probably of the best interest.

Quote:
??? with the 30 chr thing. that would assume that any valid 30 letter combination would be worth remembering. chances are, it would only need something closer to 30 * 4 bytes, then that huge number.


i was actually pulling numbers out of nowhere. 30 = all letters + space and basic punctuation. but then i forgot that new tokens need to be made from combinations of those. nevermind, it was 2am.

so yeah, that means its actually more. 4 bytes = float, btw. and thats without considering the list of indexed tokens.
Working on a fully self-funded project
Sorry I did not read all that was said but I had this theory about things
How good it is who knows but we will see…

Well to make some thing aware of its environment it must know the parameters of that environment

It needs sight ,hearing and touch to function in this environment
But also a comfort zone as well

It needs to function on organic AI
But rather than a multitude of variables a highbred of a high brid selection of variables
But in that if in set situation ….[[it will be aware of its surroundings]] it will call on a default action…namely the ultimate high brid verbal “if time to think is more than .1 of a sec got to that particular hybrid action//
So if fall down stairs
Best variable for that action is taken as it is a wear of its surrounding
So it will stop it self by grabbing banister ,on recovery it will revert back to it variable AI


Thus it can function as needed
A human mind do’s not retain a lot really
But it knows if you fall so high you will die ..this basic parameters should be part of the environment awareness Ai


…………….

Some 1 said cant make it want well
AI is not governed by greed its free from mans down falls
Unless its told to do a set function ..but its not a need but a forced function
..
I don't have the transcripts... (this was from a bot that was hosted ages ago... the account probably closed from inactivity ages ago. (either that, or the logs grew too much, and they lcosed it).

With the pad scale, i think i did a rather nice one...

Ok, i get a range of phrases and words ("Good one", "*^*& you", ect.), and i set them up with a value for each of the scales.

Once it encounters one of the words, or phrases, it changed the pad values, using the values of the words.

It also changes the values of the pad, from other things. like, when it gets new information, it gets happier. When it gets told a lot of what it has been said before, it gets bored, ect.

Overall, it was a pretty nice little system.

From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.

This topic is closed to new replies.

Advertisement