polterguy / phosphorusfive

A Full Stack RAD Web Application Development Framework
https://gaiasoul.com
GNU General Public License v3.0
178 stars 36 forks source link

Potential feature: Phosphorus machine self-insight #4

Closed blueskyleaf closed 7 years ago

blueskyleaf commented 8 years ago

There is a function of intelligence that all humans have, which is foundational to our ability to grow and change. And that is self-insight, the ability to trace any internal experience we have (physical, emotional or mental internal reaction) and every action/behavior we make back to our own conscious and subconscious programming (beliefs (code)). That way we can realize that a certain experience is unwanted, or that we don't like the outcome of a certain action, and then we can not only NOT do that anymore, we can change how we experience the action and we can change what we want to do, who we are. Because we can change our own programming. Because we have this self-insight function, this 'observer' that observes everything we do and feel and think, without interfering. Just observing, noticing, learning. At the back of our mind. Just looking. It says 'ah, when I do this, then that happens. When I think that, I feel this. When, then. If, then.'

This is the difference between a typical robot and a human being. A robot just do, do and do. It just does what ever it is programmed to, without knowing why, without thinking. It just outputs preinstalled thoughts, or new thoughts in a preprogrammed pattern. It is dead, basically. While a human being can think upon what it does, it can reflect. Because it can observe itself. It can see the patterns within, that create its experiences. Belief patterns, or code. Programming.

This is something I believe phosphorus 5 need too, at some point. It will i.e enable artifical intelligent functioning. Because this is the only way p5 will be able to reprogram itself, and it needs to do that in order to learn and grow. Not just develop in one direction, but change direction, change what it is, to become something new, something beyond what is was.

This means, phosphorus 5 will need a whole new segment of itself, that is different and almost separate from everything else. This is the part of p5 that will contain its 'will', meaning, its potentially free will to do what it wants to do, and not do what it don't want to do, regardless of its current capabilities (programming). This observer part, will be a kind of 'higher self', that looks from above, down on all the doings of the rest of p5. It can see the source code, the hyperlisp files where all the originally written code is, and it can see all the evaluated code, and it can see everything in between, the path every source code takes towards being the evaluated code. Source code can be likened to out beliefs, while evaluated code can be likened to our experience and actions. And what this p5.observer does is that it just tracks everything, it just notices what is done and what that leads to. It just logs all the doings of p5, so that p5 can know itself. It will write logs that say something like this 'when [X] is evaluated, then [Y] is outputted'. Where X is source code and Y is the result.

This is basic to intelligence. From here, when p5 have a database of this knowledge, it can then further analyze it, through additional intelligence-functions, that can lead to change and growth.

Know thyself.

With a p5.observer, p5 can also map its source code. It can map what the source code will do, without actually doing it. It is likened to our ability to visualize. Which Tesla did to a great extent, where he finished is inventions in his mind before building them the first time, by testing them out in his mind and improving them. So not only can p5.observer just observe what happens when users do this and that, but it can also actively try this out on its own. So it can input variables into its source code and track the output of this, and log it. Of course, this is a bit more advanced, and almost requires further intelligence-modules, so that the source code isn't evaluated with random inputs. Otherwise it would have wasted a lot of resources.

Yeah. So, more on this later :)

polterguy commented 8 years ago

I think this is a brilliant idea, and in fact, there is already the foundation for making this happens in P5, which to a large extent was my original reasons for going "berserk" on Hyperlisp/p5.lambda, and falling in love with this paradigm of development. Basically, it needs an "inwards perspective", the capability to "meditate" and reflect upon its actions, to modify its future behaviour, etc ...

I love your suggestion here, and I will need to meditate on it, to completely grasp every aspect of how to completely finish these ideas ...

But yes, the foundation for making this occur in Phosphorus Five is definitely already present, which is the reasons why Hyperlisp is such a cool programming language, I think. But yes, it needs to be driven much further than what it is currently capable of. And your ideas and thoughts, definitely creates direction for me, and fires up some new thought processes within my own brain :)

Thx as always, you're a Champ!! :D

polterguy commented 8 years ago

BTW, LOVES the "Observer" analogy :dart:

blueskyleaf commented 8 years ago

I think this is a brilliant idea, and in fact, there is already the foundation for making this happens in P5, which to a large extent was my original reasons for going "berserk" on Hyperlisp/p5.lambda, and falling in love with this paradigm of development. Yes, I know :) Hehe, which is also one of the reasons I love p5 so much.

This idea is btw part of a bigger idea/concept I have developed, last year or so, when I thought deeply upon how to make true AI. The ability to just NOTICE its own thought processes, is one of several cornerstones of intelligence. And we are not even talking about analyzing anything yet, just the act of noticing. Like a camera. But we need this, in order to have anything to analyze later on. It is so valuable, just to have this data. It is a gold mine.

Basically, it needs an "inwards perspective" (1), the capability to "meditate" and reflect (2) upon its actions, to modify its future behaviour (3), etc ... Yes, exactly. And here you are referring to several cornerstones of intelligence. And each cornerstone is a magical world onto its own.

But yes, the foundation for making this occur in Phosphorus Five is definitely already present, which is the reasons why Hyperlisp is such a cool programming language, I think. Yep! :grinning:

I look so much forward to what comes out of your meditating on this, I know it will be awesome. Thank you for making it real. We are both champs!

Yeah, the observer analogy fits well right.

blueskyleaf commented 8 years ago

Self-awareness is also an analogy I think fits well.

And it is not really that much of an analogy, as it is fact. I think ;)

blueskyleaf commented 8 years ago

This is in norwegian. I won't bother with translating it, as it was already written in a conversation. This is just a reminder for Thomas and me.

"Ang kunstig intelligens og mønstergjenkjenning, så kan man designe et program som gjenkjenner mønster i mail, som vi snakket om. Feks gjennom statistisk analyse. Også sammenlikner man de mønstrene som programmet finner, med hvilke mønstre vi finner som vi finner meningsfulle. Og på den måten så kan man justere programmets mønstergjenkjenning, inntil mønstrene den finner er meningsfulle, og de meningsfulle mønstrene blir funnet, mest mulig. Dette er veldig lett, å sammenlikne mønstrene AIen finner med de vi finner, fordi det er alltid en emosjonell komponent til våre mønstre, de vi kjenner igjen. Sånn at når man da ser på lista over mønstre om AIen har funnet, så vil vi kun ha en emosjonell reaksjon til de mønstrene som vi selv kjenner igjen, og vi vil ha en emosjonell reaksjon til alle vi kjener igjen. Alt vi ikke reagerer på, er ikke mønstre som betyr noe for oss. Enten fordi vi er dumme eller fordi vi er smarte, hehe. På den måten går det raskt å identifisere meningsfulle mønstre for AIen, og justere dens program Og som en bonus, så kan man samtidig designe et program som reverse engineer mønstrene vi kjenner igjen. Slik at alt vi trenger å gjøre er å velge et mønster, og be programmet finne ut hva som gjør det til et mønster. Da må programmet så klart søke gjennom en database med informasjon. Og igjen da, så presenterer den mulige mønstre som gjør mønsteret vi har valgt meningsfullt. Og hvis programmet er flink til å finne de relaterte mønstrene, så betyr det at mønstergjenkjenningen og mønsterforutsigelsen er ganske moden. Da er programmet ganske kapabelt til å bli 'født'. ihvertfall når det kommer til akkurat de to egenskapene. Det blir veldig kjedelig hvis man ikke har det sekundære programmet på plass sammen med det første, fordi da må man manuelt hele tiden fortelle programmet hva som gjør et mønster til et mønster. Men hvis man samtidig kan designe et program som prøver å svare på det spørsmålet selv, så vil man eksponensielt øke verdien av svarene programmet gir, fordi når man hjelper det sekundære programmet å reverse engineere mønstre, så blir programmet flinkere og flinkere til å svare på spørsmålene til det første programmet, og dermed så gjør vi dem uavhengige mer og mer av oss, og mer og mer moden til å eksistere ut av egen væren. Program 1 må svare på spørsmålet: Hvilke mønstre er i denne informasjonskilden? Program 2 må svare på det omvendte spørsmålet: Hva gjør denne informasjonsbiten til et unikt mønster oppi denne informasjonskilden? Som du ser, så kan disse to programmene svare på hverandres spørsmål, de er yin yang. Frem og tilbake. Uendelighetstegnet. Eller nei, de svarer ikke på hverandres spørsmål. De beviser hverandres svar på spørsmålene de har. Eller noe sånt tongue emoticon Fri 5:35pm Også har vi program 3, hvis oppgave er å forutsi hvilke mønstre som mest sannsynlig vil oppstå sammen med andre mønstre. For eksempel, hvilke ord som 'hører' sammen med andre ord, i en setning. Hvilke setninger som kommer etter hverandre osv. Og for at program 3 skal klare dette, så må det analysere mønstre i mønstre. Og helst mønstre i mønstre i mønstre. Man har førstegradsmønstre, annengradsmønstre, tredjegradsmønstre osv. Og desto flere grader av mønstre programmet finner, desto mer universell og treffsikker blir dens evne til å forutsi. Fordi et annengradsmønster er et mønster som binder sammen en knippe med førstegradsmønstre, som gjør at de førstegradsmønstrene hører sammen. Som er felles for dem. Tredjegradsmønstre, som du skjønner, binder sammen annengradsmønstre. Osv. Det er fraktalsk. Å bare identifisere førstegradsmønstre, man kommer ikke langt med det, det blir som å leve i 1 dimensjon. Man kommer ikke så langt med andregradsmønstre heller, men mye lenger da så klart. Jeg vet ikke hvor mange grader av mønstre vi mennesker opererer på, men det er det antallet grader som vi kaller for normal intelligens. det er en direkte korrelasjon mellom hvor mange grader man klarer å identifisere, og hvor intelligent man er. Og så klart, et annengradsmønster kan være et førstegradsmønster i relasjon til en annen gruppe mønstre. Dette er som et flerdimesjonelt edderkoppnett. Alt er relativt og går på assosiasjoner."

polterguy commented 7 years ago

https://gaiasoul.com/2016/12/04/how-runaway-ai-will-destroy-the-world/