Self query AGI?

  • 15 Replies
  • 2633 Views
*

rottjung

  • Roomba
  • *
  • 17
Self query AGI?
« on: August 04, 2015, 01:43:55 pm »
hey,

Just reading up on how a human brain forms a question, which parts of the brain are self query...
interesting read is this one:

The free-energy principle:a unified brain theory?

also the Habenula seems to be the main part that's responsible for decision making.

I'd like to hear your views on what a question is and what would be a valid SMALL process for the computer for us to define as question asking.

if we make a variable that has it's role in a function, if the variable needs a value for the function to make sense, could this actually be seen as the variable "asking" for a value and therefore a type of question?
similar to use aking the time from someone?

grts
J.
« Last Edit: August 04, 2015, 11:05:47 pm by Freddy »

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 684
  • look, a star is falling
Re: Self query AGI?
« Reply #1 on: August 04, 2015, 02:48:35 pm »
There are several types of questions

- is questions
answers to these are yes/no. You just check a knowledge base against a pattern to get the answer.

- who, what, where questions
answers are items that conform more complicated queries that can be described by set selectors and boolean specificators like:
what is the name of a man who built the biggest iron bridge in the world, but who is still alive. I write this query this way-ish in my programming language:
man [built [bridge [max height && madeOf [iron]]] && alive].name

- why and how questions
these are answered by stating procedures of reaching some state. It has something to do with repetitive deduction or abduction

- explain commands
not really questions, but very important commands in passing knowledge. I didn't worked out to details this type of questions yet.

Let me know if I missed something out.

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #2 on: August 04, 2015, 05:12:55 pm »
hey Ivan.
Yes these are the main types of question i guess.
But my interest is mainly how to get a AI to form one of these (some are definitely more simple as others) by it's own, rather than how to find an answer.
with the ultimate goal of course being wh-question types, especially the why question.

in the article i posted, there is talk about comparing prediction with outcome. If the outcome is to far of from a prediction the base for raising a question should arise.
the process of comparing prediction to outcome is widely used in current AI (or is at least partially similar to things like RNN's) but i never thought of it as the start of developing a question.

the ability of forming and raising a question followed by study that then provides an answer or decision forms imo the base for human intelligence. So i thought maybe that's what we need to learn AI  ;)

grts
J.

*

Don Patrick

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 383
    • Artificial Detective
Re: Self query AGI?
« Reply #3 on: August 04, 2015, 06:01:23 pm »
There are various reasons for asking a question. They can be asked for the purpose of getting information, confirmation of a hypothesis, or even serve as social ques.
For the simplest kind of question, I have my program check its database for how much it knows about a subject, and if there is little data, it asks about the subject.
Personal project: NLP -> learning -> knowledge -> logical inference -> A.I.

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #4 on: August 04, 2015, 06:28:01 pm »

taking this as one way of the brain to be surprised which would lead to raising a question.
as a hypothesis, let's say you have two units, one stationary and one mobile.
both only know their state and the effect of it on their sensory input as a brain state.
so if the sensory input for it's vision would be a matrix of -10 to 10 for x and y with binary values with 1 for a black pixel and 0 for a white, itself being 1 at 0,0.
so the stationary unit would have a static matrix until the other unit moves in it's vision.
because of the stationary unit only knowing it's own matrix as a brain state the sensory input would lead to a surprise*.
would it be possible to self educate the stationary unit with the above system from the picture to lower free energy and the prediction error by trial and error trying to duplicate the observation?

*Surprise
(Surprisal or self information.)
The negative log-probability of
an outcome. An improbable
outcome (for example, water
flowing uphill) is therefore
surprising.// a side note with the picture.

*

korrelan

  • Trusty Member
  • ********
  • Replicant
  • *
  • 662
  • Look into my eyes! WOAH!
    • Google +
Re: Self query AGI?
« Reply #5 on: August 04, 2015, 10:28:39 pm »
Hi Rottjung

Ok let me see if I get this... abridged version...

Surprise is defined as measurement of free energy, which in turn; is the differential between what a genetic algorithm/ brain predicts will happen... and what its senses say actually did happened.

Quote
would it be possible to self educate the stationary unit with the above system from the picture to lower free energy and the prediction error by trial and error trying to duplicate the observation?

Depends on whether the moving unit is purely random, if there is method to it's roaming's then yes... especially using a simple 10x10 matrix.  Just the random element described in the formulation would eventually drive a genetic algorithm to predict the moving units next move.  The value of surprise would of course specify the amount of reinforcement for the predicted move.

Quote
could this actually be seen as the variable "asking" for a value and therefore a type of question?

The machine required information in order to complete a task, it didn't have the information so it asked. Probably the lowest/ simplest form of a question but I think it's valid as a 'question'.

Getting a machine to ask a question is easy; but you are still left with the problem of what to do with the information... how to glean/ infer new knowledge from it.
« Last Edit: August 04, 2015, 10:54:49 pm by korrelan »
It thunk... therefore it is!

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 786
    • 8pla.net
Re: Self query AGI?
« Reply #6 on: August 05, 2015, 12:03:56 am »
"I'd like to hear your views on what a question is ... ", said Rottjung while on a quest for input to put in an AGI query.

Hypothesis:  A question is a quest to input an input.

« Last Edit: August 05, 2015, 12:27:18 am by 8pla.net »
My Very Enormous Monster Just Stopped Using Nine

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #7 on: August 05, 2015, 12:50:42 am »
hey korrelan thanks for the input ;) I'll give this a try coming weeks.
@ 8pla.net that sounds about right :) it is al just a que of inputs, i wonder if i get a program to question these in's by itself if it's on a good way of learning from them by itself :)

*

ranch vermin

  • Not much time left.
  • Starship Trooper
  • *******
  • 367
  • Not much time.
Re: Self query AGI?
« Reply #8 on: August 09, 2015, 01:45:08 pm »
One thing to tell you guys, machine learning has been fully active since the 50's,  and its gone through a recession in the past, simply because I wasnt grown up yet. but that was quite foolish to say.
« Last Edit: August 09, 2015, 03:22:57 pm by ranch vermin »
A bit from here, a bit from there, and bring it together and see the whole picture.

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #9 on: August 11, 2015, 06:35:06 pm »
ok so i started on trying to build this.
- I have a global grid matrix of 100x100.
- each unit in this grid is set to 1.
- each unit has a local grid matrix of 10x10 with it self sitting in the middle as 1 in it's grid.
- all local matrices update from the global matrix.
- all units have a SensoryData type var and a List of type Model.
- SensoryData class is a stack of 10 local grid matrices, every time the units local matrix is different from the currentModel's SensoryData's matrix stack and the stack is not yet 10 it gets added to the stack.
- Model has a SensoryData type var and a NeuralNetwork type var (together with float[,] inputs, results, desired;). the NeuralNetwork gets created if the Model's SensoryData stack is full.
- The NN takes the first matrix of it's SensoryData stack and uses the x,y of where there is a 1 as input and as desired output for training the second x,y of matrix it's 1.

the idea now is to train the NN to find the causes of the difference between the 1ste and the 2nd matrix. for example; matrix 1 x,y are 4,5 and matrix 2 x,y are 5,5 => cause of difference is x+1.
then test the rest of the stack with this result, if the error is to big it takes the matrix which resulted in a big error and the previous one and creates a new NN to train.
if it learned this the unit saves the Model with the trained NN as a new world model in it's Model List.
it can then use this model to apply on it's own coordinates in the Global Matrix and so learned to move 1 grid unit over x by learning the causes of an observation.  ;)

my workflow atm is:
getting x,y from matrix 1 -> scaling this from 0 - 10 to -5 - 5 setting this as input for the NN
getting x,y from matrix 2 -> scaling this from 0 - 10 to -5 - 5 and use that for a SigmoidLog and set the Sigmoid result as desired for the NN training.
i set all weight random between -1 and 1.

i'm having a hard time upscaling the sigmoid result back to the right integers to use as grid coordinates. anyone here who know the proper way of upscaling sigmoid?

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 684
  • look, a star is falling
Re: Self query AGI?
« Reply #10 on: August 11, 2015, 07:26:06 pm »
Rottjung, you mean as a solution of an exponential equation or something else? If it is just a math problem, maybe I can help, just pass sigmoid equations an I'll try to get you x and y.

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #11 on: August 11, 2015, 09:52:16 pm »
hey Ivan thanks.

well an equation would be helpful.

an example result i get from a trained NN when i input a units current coordinates in the global grid:
output x: 0.8044481 / NN.trainedGoal x: 0.8320184 // output y: 0.8211094 / NN.trainedGoal y: 0.8320184
I'd like to translate it back to the right integer value as grid position. which in this case should be: x7, y7

*

ivan.moony

  • Trusty Member
  • ********
  • Replicant
  • *
  • 684
  • look, a star is falling
Re: Self query AGI?
« Reply #12 on: August 11, 2015, 11:01:25 pm »
I'm sorry, but I don't understand very well NN terminology. You have to pass me exact sigmoid function you use like in following example:
Code: [Select]
x' = 1 / (1 + e ^ (-x))
from this example, solution for x is:
Code: [Select]
x = -ln ((1 - x') / x')
I got it from this site:https://www.symbolab.com/solver/exponential-equation-calculator, just look under inverse function paragraph

I hope this is what you're looking for, cause if you're not, I really don't understand you nor NN.

P.S.
I understand that sigmoid function can have various forms, but you have to know what exact form you use. Then you use that math site to get inverse of it.

P.P.S.
If you want to use an altered sigmoid function, take a look at: http://computing.dcu.ie/~humphrys/Notes/Neural/sigmoid.html

*

rottjung

  • Roomba
  • *
  • 17
Re: Self query AGI?
« Reply #13 on: August 12, 2015, 12:41:37 am »
ok thanks.
mine is just:
Code: [Select]
public float LogSigmoid(float x)
{
return (float)(1.0f / (1.0f + System.Math.Exp(-x)));
}
so i guess i can use your solution, but what does the
Code: [Select]
-ln stand for?
nevermind ;-) found it.
« Last Edit: August 12, 2015, 03:29:26 am by rottjung »

*

spydaz

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 106
Re: Self query AGI?
« Reply #14 on: August 13, 2015, 04:56:18 pm »
Quote
I'm sorry, but I don't understand very well NN terminology.

Code: [Select]
           
 Public Shared Function Sigmoid(ByRef Value As Integer) As Double

                Return 1 / (1 + Math.Exp(-Value))
            End Function


            Public Shared Function SigmoidDerivitive(ByRef Value As Integer) As Double
                Return Sigmoid(Value) * (1 - Sigmoid(Value))
            End Function


these are the sigmoid functions i used...

I have now fully understood the neural network paradigm, except for some other forms such as RNN (which im working on) and some other forms ....

But in reality they are as i expected. the outputs provided are not really useful, in saying that you could have a load of objects converted in to some numerical inputs and train the network to recognize these objects as some binary output, which intern when looked up in a table which represents those binary outputs could clasify or identify what the object was.... now when asked in natural language what is this object .... it could quickly classify the object then look it up ... then respond with the found data in the table... yet even so for a robot its lots of processing power. as each new object would need to be converted into some numerical input and would not be able to identifiy the object unless it fit a previous object in the table so for new object which had not been previously saved in the lookup table it would have to "fit" the object to an existing object... so it would still need to be told what the object was, for it to classify new object with the same digital "ID" or class.... if a simular object, to a Stored idea of a bed was scanned it would recognize bed.
this type of machine lerning or classification still needs thought on how the data should be taken in to become some form of input to match a desired output of (whateever binary number which would match the stored table lookup) .....

the networks use all types of transfer functions which produce only numbers between -0 and 1 so if it outputed a number such as 0.9987 then you could say that it is a close match to 1 but it is still not 1 ..... so the last function in the network should be a simple binary function ... if its below 1 then its 0 if its above 0 then its a 1 just to make the output become easy to understand..(the outputs) the inputs can be any numerical value such as height, weight, color etc....
to recognise a letter the old dot matrix character can be turned into a binary number 8X8 then the out put would would as well be some binary output (upto 27) denoting which letter it was.... given some handwriting sample by scanning the letter in as a dot matrix figure the binarys for squares with the handwiring color ie: "black" when entered into the input may detect Simular shapes and classify them as one of the 27 numbered outputs if you set an error threshold and used it as part of the learning rule then Close matches would detect correctly.....

the transfer functions used just enable for moving the weight values along the curve produced by the function (Sigmoid wave form) so its derivitive would know which way up or down the wave to travel towards the intended output. so in reality any transfer fuinction can be used... its a little experimental otherwise there would be no need of all the differing functions. as some learn quicker than others.... but once you find your one that your conmfortable with it really doesnt matter....

the question for me remains ..... can neural networks create a prediction?

 


Users Online

19 Guests, 2 Users
Users active in past 15 minutes:
keghn, Freddy
[Administrator]
[Trusty Member]

Most Online Today: 29. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles