Jump to content

Using Price's equation for developing intelligence?


Recommended Posts

Could Price's equation be used for the development of artificial intelligence?

 

http://en.wikipedia.org/wiki/Price_equation

 

If the development of AI were approached differently, where instead of having one particular intelligence and having multiple "neurons" become the artificial intelligence, could Price's equation be used to make these groups of intelligence become one artificial intelligence, since the idea would be that some "neurons" would die off while others would survive.

 

I hope this isn't confusing for people to read. If it is, I can clarify.

Link to comment
Share on other sites

Could Price's equation be used for the development of artificial intelligence?

 

http://en.wikipedia.org/wiki/Price_equation

 

If the development of AI were approached differently, where instead of having one particular intelligence and having multiple "neurons" become the artificial intelligence, could Price's equation be used to make these groups of intelligence become one artificial intelligence, since the idea would be that some "neurons" would die off while others would survive.

 

I hope this isn't confusing for people to read. If it is, I can clarify.

Does no one know the answer or this simply being ignored? :P I am simply asking for professional opinions on the matter. Would the concept work and have some improvement on the approach to artificial intelligence? Or is it a dead end?

Edited by Unity+
Link to comment
Share on other sites

Does no one know the answer or this simply being ignored? :P I am simply asking for professional opinions on the matter. Would the concept work and have some improvement on the approach to artificial intelligence? Or is it a dead end?

 

I would think so, but I know next to nothing about the development of artificial intelligence. Nor am I a computer scientist, however, in essence isn't this the concept behind evolutionary algorithms?

Link to comment
Share on other sites

 

I would think so, but I know next to nothing about the development of artificial intelligence. Nor am I a computer scientist, however, in essence isn't this the concept behind evolutionary algorithms?

Yeah, evolutionary algorithms represent one of the two big ways that neural networks are trained (the other being back-propagation). Of the two, I have more experience using evolutionary algorithms, but you'd apply those to competing networks, not individual "neurons."

 

Honestly, the only reason I hadn't already responded to this topic is because I'm not entirely sure what the question is.

 

Unity, could you explain how you think AIs are being developed now, what you're proposing as an alternative and how the two are different? I know that's more or less what you tried to do in the OP, but I'm having some difficulty understanding what you meant.

Link to comment
Share on other sites

Yeah, evolutionary algorithms represent one of the two big ways that neural networks are trained (the other being back-propagation). Of the two, I have more experience using evolutionary algorithms, but you'd apply those to competing networks, not individual "neurons."

 

Honestly, the only reason I hadn't already responded to this topic is because I'm not entirely sure what the question is.

 

Unity, could you explain how you think AIs are being developed now, what you're proposing as an alternative and how the two are different? I know that's more or less what you tried to do in the OP, but I'm having some difficulty understanding what you meant.

As I know at the moment, most artificial intelligence has gotten to the "learning" aspect where the intelligence has learned to develop "hypotheses" about particular tasks. Here is an example:

 

 

The gist of this intelligence is it is able to do tests to see what shapes it is to walk.

 

Other intelligence have used the Internet as a source of intelligence, such as Watson.

 

The approach I propose is using Price's equation to "evolve" the intelligence, or structure the neurons through the same form of evolution has stated by Price's equations. Suppose a random amount of neurons n are introduced into the system. A probability function will randomize the neurons in such a way that they act as "organisms" that exist within an environment. Over time, these neurons change their structure based on the equation and soon the neurons are grouped into different sections which fulfill different tasks, but still work together to form an artificial intelligence.

 

The difference between what I am proposing and already developed algorithms is while the recent AI that involved evolutionary algorithms work to perform a specific task, this artificial intelligence would not be programmed for a specific task, but would be lead by both randomization and the limits of the equation. If you want me to, I can explain an algorithm I have worked out.

Edited by Unity+
Link to comment
Share on other sites

As I know at the moment, most artificial intelligence has gotten to the "learning" aspect where the intelligence has learned to develop "hypotheses" about particular tasks. Here is an example:

 

 

The gist of this intelligence is it is able to do tests to see what shapes it is to walk.

 

Other intelligence have used the Internet as a source of intelligence, such as Watson.

 

The approach I propose is using Price's equation to "evolve" the intelligence, or structure the neurons through the same form of evolution has stated by Price's equations. Suppose a random amount of neurons n are introduced into the system. A probability function will randomize the neurons in such a way that they act as "organisms" that exist within an environment. Over time, these neurons change their structure based on the equation and soon the neurons are grouped into different sections which fulfill different tasks, but still work together to form an artificial intelligence.

 

The difference between what I am proposing and already developed algorithms is while the recent AI that involved evolutionary algorithms work to perform a specific task, this artificial intelligence would not be programmed for a specific task, but would be lead by both randomization and the limits of the equation. If you want me to, I can explain an algorithm I have worked out.

Intelligence is about being able to perform complex tasks. If you aren't training this AI to do anything in particular, how exactly are you going to apply a selection pressure to evolve it toward anything? Eve in humans, we didn't exactly evolve "intelligence." There are a lot of tasks we needed to perform and our brains evolved to get better at those tasks by being continuously tested for its ability to pull off complex behaviors that were necessary for survival. Our brains are good at a lot of different things because there was a pressure to be good at each of those things.

 

If you don't have a task, or range of tasks, for an AI to perform, you're not going to be able to evolve it to do anything. Performance is how you quantify which configurations are more "intelligent" and if you can't quantify that, you can't make any sort of progress.

Link to comment
Share on other sites

Intelligence is about being able to perform complex tasks. If you aren't training this AI to do anything in particular, how exactly are you going to apply a selection pressure to evolve it toward anything? Eve in humans, we didn't exactly evolve "intelligence." There are a lot of tasks we needed to perform and our brains evolved to get better at those tasks by being continuously tested for its ability to pull off complex behaviors that were necessary for survival. Our brains are good at a lot of different things because there was a pressure to be good at each of those things.

 

If you don't have a task, or range of tasks, for an AI to perform, you're not going to be able to evolve it to do anything. Performance is how you quantify which configurations are more "intelligent" and if you can't quantify that, you can't make any sort of progress.

Well, it isn't that there isn't a particular task, but the main point is to survive. That is the main point of the equation. The equation provides the determination of what is necessary to survive. If the particular neuron does not follow that then it will "die", or be recycled and be renewed in a new subset(hence, the evolution of each group of neurons to form one intelligence).

Edited by Unity+
Link to comment
Share on other sites

Well, it isn't that there isn't a particular task, but the main point is to survive. That is the main point of the equation. The equation provides the determination of what is necessary to survive. If the particular neuron does not follow that then it will "die", or be recycled and be renewed in a new subset(hence, the evolution of each group of neurons to form one intelligence).

But the equation doesn't tell you how much "intelligence" each one has. You need a characteristic that you're measuring and a way to determine to what degree each individual has that characteristic.

 

Typically when using an evolutionary algorithm, we'd measure the performance at some task, reproduce those most successful at the task and eliminate those that are least successful.

 

I'm not sure how what you're proposing is going to work. Could you provide a break down for what you'd be doing algorithmically step by step?

Link to comment
Share on other sites

But the equation doesn't tell you how much "intelligence" each one has. You need a characteristic that you're measuring and a way to determine to what degree each individual has that characteristic.

 

Typically when using an evolutionary algorithm, we'd measure the performance at some task, reproduce those most successful at the task and eliminate those that are least successful.

 

I'm not sure how what you're proposing is going to work. Could you provide a break down for what you'd be doing algorithmically step by step?

Sure.

 

  1. Randomly input n amount of neurons that have a specific process applied to them, or function if you will.
  2. Using the equation, find a deviation setting that is meant for the ultimate goal and represent the ultimate goal as a "mean", as within normal distribution statistical analysis.
  3. For every neuron that is randomly added, determine if it is within the error bound of mutation for each deviation.
  4. If so, let the neuron stay in that particular set. If not, recycle that neuron and put one new neuron in the original set and the other neuron in a new subset.

That is merely a prototype algorithm.

Link to comment
Share on other sites

Sure.

 

  • Randomly input n amount of neurons that have a specific process applied to them, or function if you will.
  • Using the equation, find a deviation setting that is meant for the ultimate goal and represent the ultimate goal as a "mean", as within normal distribution statistical analysis.
  • For every neuron that is randomly added, determine if it is within the error bound of mutation for each deviation.
  • If so, let the neuron stay in that particular set. If not, recycle that neuron and put one new neuron in the original set and the other neuron in a new subset.
That is merely a prototype algorithm.
Do you understand how evolutionary algorithms are currently used to train neural networks?
Link to comment
Share on other sites

I have some knowledge, but not completely. Could you lay it out for me?

Ok, I'll briefly cover how a neural network is set up just to make sure we're on the same page:

 

You have three layers of "neurons": the input layer, the hidden layer and the output layer. Technically, you can have multiple hidden layers if you want, but apparently there's some math that I haven't actually looked at that shows more than one hidden layer is unnecessary in pretty much all cases.

 

Anyway, the input layer takes in input (say, the state of all the squares in a tic tac toe board), the hidden layer crunches the data and the output layer gives you a result based on that input (what space to put your next mark in).

 

Every neuron in each layer has a connection to every neuron in the next layer. These connections are weighted. Each neuron also has an activation threshold that tells it whether to fire based on whether its inputs sum to that threshold.

 

So you expose the input layer to some data. Based on the data, some of the neurons activate. Those activations propagate to the hidden layer through the filter of the weighted connections. Based on that, some of the hidden layer neurons are activated. Those activations propagate to the output layer filtered through the weighted connections and some of the output layer neurons activate. Those activations give you your output.

 

Training a neural network involves setting the weights and activation thresholds to the correct values such that a given input will result in the desired output.

 

When using an evolutionary algorithm, we start with a population of neural nets that have the values of their weights and thresholds set semi-randomly. We then apply those networks to whatever task we're training them to perform. The worst performers are discarded and the best performers are allowed to reproduce with "mutations" (i.e. The values have a random chance of deviating by some amount from the values in the "parent" neural net). The next generation is applied to the task and the process repeats until we have a network that performs to whatever standard we've set.

Link to comment
Share on other sites

Ok, I'll briefly cover how a neural network is set up just to make sure we're on the same page:

 

You have three layers of "neurons": the input layer, the hidden layer and the output layer. Technically, you can have multiple hidden layers if you want, but apparently there's some math that I haven't actually looked at that shows more than one hidden layer is unnecessary in pretty much all cases.

 

Anyway, the input layer takes in input (say, the state of all the squares in a tic tac toe board), the hidden layer crunches the data and the output layer gives you a result based on that input (what space to put your next mark in).

 

Every neuron in each layer has a connection to every neuron in the next layer. These connections are weighted. Each neuron also has an activation threshold that tells it whether to fire based on whether its inputs sum to that threshold.

 

So you expose the input layer to some data. Based on the data, some of the neurons activate. Those activations propagate to the hidden layer through the filter of the weighted connections. Based on that, some of the hidden layer neurons are activated. Those activations propagate to the output layer filtered through the weighted connections and some of the output layer neurons activate. Those activations give you your output.

 

Training a neural network involves setting the weights and activation thresholds to the correct values such that a given input will result in the desired output.

 

When using an evolutionary algorithm, we start with a population of neural nets that have the values of their weights and thresholds set semi-randomly. We then apply those networks to whatever task we're training them to perform. The worst performers are discarded and the best performers are allowed to reproduce with "mutations" (i.e. The values have a random chance of deviating by some amount from the values in the "parent" neural net). The next generation is applied to the task and the process repeats until we have a network that performs to whatever standard we've set.

So the main difference between my approach and the evolutionary algorithms is they simply remove the neuron while mine recycle the unacceptable ones and applies them in a different set.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.