# Tag Info

12

Section 4.2 of "Essentials of Metaheuristics" has a wealth of information on alternative ways of encoding graph structures via Genetic Algorithms. With particular regard to evolving ANNs, I would personally not be inclined to implement this sort of thing 'from scratch': The field of neuroevolution has been around for some time, and the implementation some ...

7

As explained in an answer to this AI SE question, GAs are 'satisficers' rather than 'optimizers' and tend not to explore 'outlying' regions of the search space. Rather, the population tends to cluster in regions that are 'fairly good' according to the fitness function. In contrast, I believe the thinking is that novelty affords a kind of dynamic fitness, ...

6

Unlike backpropagation, evolutionary algorithms do not require the objective function to be differential with respect to the parameters you aim to optimize. As a result, you can optimize "more things" in the network, such as activation functions or number of layers, which wouldn't be possible in the standard backpropagation. Another advantage is that by ...

6

Novelty search selects for "novel behavior", by some domain-dependent definition of novelty. For example, novelty in a Maze-solving domain might be "difference of route explored". Eventually, networks that take every possible route through the maze will be found, and you could then select the fastest. This would work far better than a naive "objective", like ...

6

"Trap" functions were introduced as a way to discuss how GAs behave on functions where sampling most of the search space would provide pressure for the algorithm to move in the wrong direction (wrong in the sense of away from the global optimum). For example, consider a four-bit function f(x) such that f(0000) = 5 f(0001) = 1 f(0010) = 1 f(0011) = 2 f(0100)...

6

I don't think there is a single standard word or phrase that covers just this concept. Perhaps recursive self-improvement matches the idea concisely - but that is not specific AI jargon. Very little is understood about what strength this effect can have or what the limits are. Will 10 generations of self-improvement lead to a machine that is 10% better, 10 ...

5

A feed forward neural network without hidden nodes can only find linear decision boundaries. However, most of the time you need non-linear decision boundaries. Hence you need hidden nodes with a non-linear activation function. The more hidden nodes you have, the more data you need to find good parameters, but the more complex decision boundaries you can find....

5

Further to Franck's answer, there may be better optima (even global optima) that exist in the opposite direction to the gradient (which may be in the direction of some local optima). Evolutionary algorithms have scope to search the surrounding area, while backpropagation will always move in the direction of the gradient. With no guarantee (due to their ...

5

The core question to whether or not an AI is adaptable or not is whether or not it supports online learning. That doesn't mean using the Internet to learn things; that means continuing to accept training data during the functioning of the system. This is (mostly) independent of the underlying architecture; in evolutionary approaches one can continue to ...

5

Biological and artificial evolution work around pretty much the same principles. Fitness and selection: In biology, the fittest organisms in an ecosystem are more likely to survive long enough to reproduce, passing on their genes in the process. In artificial evolution, our organisms are in fact solutions to our problem, which can be evaluated to determine ...

5

Mutation is an operation which is applied to a single individual in the population. It can e.g. introduce some noise in the chromosome. For example, if the chromosomes are binary, a mutation may simply be the flip of a (random) bit (gene). Crossover is an operation which takes as input two individuals (often called the "parents") and somehow combines their ...

5

Yes, this is an active area of research as we speak. Both using classic algorithms (decision trees, random forests, Bayesian ensembles) as well as neural networks. This can also be done via evolutionary algorithms. I have personally used them for hyperparameter tuning in a few cases where squeezing out a couple of extra points of accuracy was key. This is ...

4

Using evolutionary algorithms to evolve neural networks is called neuroevolution. Some neuroevolution algorithms optimize only the weights of a neural network with fixed topology. That sounds not like what you want. Other neuroevolution algorithms optimize both the weights and topology of a neural net. These kinds of algorithms seem more appropriate for ...

4

NEAT has a constant number of organisms in its population, which prevents overpopulation from happening. The process of mating includes the following steps. The worst networks from every species are removed. All species receive a number of offsprings that they can have. This is calculated by an adjusted neural network fitness. Offsprings for species are ...

4

It is actually the other way around: connection IDs is what is debated! Nodes always have innovation IDs (in the image, it is just their identifying number). Node IDs are sufficient to identify connections. If a connection links nodes 3 and 6, then it is the same as another connection linking nodes 3 and 6: no need for an extra ID. So why the extra ...

4

The mutation operation is (usually) needed to introduce new genes not found in the population. For example, suppose that you have 4 possible genes $A$, $B$, $C$, and $D$, and that your chromosomes have a non-binary encoding. In that case, if no member of your population has the gene $D$, then no amount of crossover operations will result in the introduction ...

3

I would first say consider the advice of Thomas W in the comment above and think about whether you really need to discretize your variables. I'd also question the wisdom of training a reasonably sized network with a GA instead of a dedicated neural net training algorithm that's very likely to exhibit much better performance. However, assuming you really do ...

3

Because this is more of an answer than a comment: In the add connection mutation, a single new connection gene with a random weight is added connecting two previously unconnected nodes. So two nodes that have been mutated with a connection, can't remutate because the nodes should be unconnected. In the add node mutation, an existing connection is ...

3

It is possible, but is a pretty terrible idea. There are a few options. One is to not use the GA as a direct classifier, but instead use a GA to learn the parameters of another classification model like a neural network. The basic idea of a GA is that it (very roughly speaking) forms a black-box method for searching an arbitrary space for solutions that ...

3

When does the mutation occur and how does it take place? Finding a solution in NEAT algorithm is based on evolution strategy. It means that you have Neural Networks which are yours individuals, so mutations and crossing occurs in loop after phase of "fitnessing" (calculation fitness for every individual and removing bad ones). How is it chosen whether ...

3

There have been extensive studies within evolutionary computation in the area of island models and niching for doing exactly this. The advantages of this approach include greater population diversity (which is particularly useful when the problem is multiobjective) and the potential for concurrent execution of each separate population. See also the answers ...

3

Current limitations in our knowledge mean that the question is not directly answerable: There is no scientific consensus on what consciousness is. Therefore any device designed to "be conscious" is necessarily going to be built on the premise of unsupported, maybe fringe, theory. There is no robust measure of consciousness. If any AI system was built in ...

3

Perturbed here means adding a small random value to the weight. That random value comes from a uniform distribution or from a gaussian (or any distribution really). Imagine just nudging the weight by a little. It’s done to overcome the problem of local minima where models can get stuck with a good set of weights but not the best set of weights. By ...

3

What is the definition of "structural innovation", and how do I store these so I can check if an innovation has already happened before? Structural innovation is anything added that changes the topology of the network. So a structural innovation is any added connection or added node. I don't want to get too much into the implementation, but something ...

3

Consider the execution order, 5 will have an invalid value because it hasn't been set form 3 yet. However the second time around it should have a value set. The invalid value should falloff after sufficient training. 0 -> 5 1 -> 5 5 -> 2 2 -> 3 3 -> 4 3 -> 5 RESTART 0 -> 5 1 -> 5

3

I can think of two possible ways of enforcing NEAT to create a feed forward network. One elegant one and one a little more cumbersome one; Only allow the "add connection" mutation to connect a node with another node that have a higher maximum distance from an input node. This should result in feed forward network, without much extra work. (Emergent ...

3

This is not an answer. I couldn't comment, so here are some remarks about your question: This is a very broad question, and considered The Holy Grail for building artificially intelligent systems - meaning that some scientists have been dreaming about this since time immemorial. Some homework is warranted from your side; you could have offered some of your ...

3

The main evolutionary algorithm used to train neural networks is Neuro-Evolution of Augmenting Topoloigies, or NEAT. NEAT has seen fairly widespread use. There are thousands of academic papers building on or using the algorithm. NEAT is not widely used in commercial applications because if you have a clean objective function, a topology that is optimized ...

2

I think Matthew Graves' answer is the strictly correct one. But I also think this question may be hinting at a larger question in general. What is the minimal algorithmic complexity required for a machine of one particular set of functions to mutate into some other machine of some other particular set of functions? The answer is: potentially infinite ...

2

When do mutations occur and between which nodes? There are two types of mutations in the NEAT model, each of them appears randomly during one epoch on different individuals; the number of structures affected by mutations may vary depending upon the nature of the problem. A new gene/node is added to the structure and properly linked. A new connection ...

Only top voted, non community-wiki answers of a minimum length are eligible