1
$\begingroup$

I want to make a Connect 4 AI using machine learning but I'm a complete beginner to the topic. From what I've seen an ANN is the way to go; some phrases I've heard are "neuroevolution" and the acronym "NEAT." I'm very confused. One particular question I have is how do you decide how many hidden neurons, synapses and hidden layers you have?

$\endgroup$
  • $\begingroup$ Welcome to AI.SE! I've edited your post to remove the request for off-site resources, which are off-topic because they go out of date quickly and produce link-only answers. (We like to collect all the content right here.) Other than that, your question is fine. For more information on our site, see the tour. $\endgroup$ – Ben N Jan 3 '17 at 23:19
6
$\begingroup$

To find the number of neurons and layers that you will use is not that straightforward. The best way to do this is through experimentation however you will be able to better estimate the number of layers and neurons needed through experience. One of the common rules is that more neurons are better for more complex datasets however you do not want to many or you will get an overfit model. As for NEAT that stands for neuron evolution of augmenting topologies. This is a genetic algorithm that works fairly well however I would recommend that you use a different algorithm like q-learning. If you wish to learn more about q-learning than I would definitely recommend that you check out Google deep minds research on training deep neural networks to play the game of go using q-learning.

$\endgroup$
2
$\begingroup$

I agree with Aiden Grossman that perhaps you should try another algorithm before messing with NEAT as NEAT is fairly complex. However, I thought I might explain the benefits of NEAT as they pertain to the second part of your question.

The NEAT method is from a paper written by Kenneth O. Stanley and Risto Miikkulainen titled Evolving Neural Networks through Augmenting Topologies. NEAT is interesting for a number of reasons, but one of the biggest advantages of it is that the topology is dynamic. What this means is that the number of neurons in each layer and the number of layers changes as we move through generations. We do not even choose an original number of hidden layers and neurons as we want to start with a minimal topology to avoid having portions of our neural network that haven't had to withstand any testing.

Again, I don't believe NEAT is a great starting point for understanding machine learning. Perhaps you might want to look at binary classifiers, decision trees, or the perceptron to gain a general understanding of the field before progressing to more complex methods.

$\endgroup$
  • $\begingroup$ Wonderful answer--really appreciate the perspective and explanation of the dynamic topology. Thanks for contributing! $\endgroup$ – DukeZhou Mar 6 '18 at 17:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.