Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Designing Neural Networks

I am learning about Neural Networks and back-propagation. I think I understand how the network works, in terms of input, output, hidden layers, weights, bias etc However, I still don't fully understand how to design a network to fit a problem. Ie: Say I wanted a neural net to learn how to play Draughts, how would I translate the problem into a neural net design? Cheers :)

like image 663
MrD Avatar asked Jun 12 '13 19:06

MrD


People also ask

What is the first step in designing a neural network?

Designing ANN models follows a number of systemic procedures. In general, there are five basics steps: (1) collecting data, (2) preprocessing data, (3) building the network, (4) train, and (5) test performance of model as shown in Fig 6.

What are the 3 different types of neural networks?

This article focuses on three important types of neural networks that form the basis for most pre-trained models in deep learning: Artificial Neural Networks (ANN) Convolution Neural Networks (CNN) Recurrent Neural Networks (RNN)


Video Answer


1 Answers

There are definitely a lot of decisions to be made in designing a neural net, and there is no one right answer. However, there are a few general questions that are often helpful to think about:

  1. What are you trying to generate as an output? Draughts seems like a challenging game to play with a neural net, because there are a lot of potential moves and the ones available change from turn to turn, but presumably you would want the output to be the next move.

  2. What are your inputs? This should include anything that you think would be useful in making the decision that you want the neural net to make. In the draughts example, you'd probably need to give the neural net the locations of all pieces on the board.

  3. Recurrent or feed-forward? Generally, unless there's a really salient reason for giving it information about what it's done in the past, it's best to use feed-forward, because the enables you to train the net with back-propagation. For draughts, for instance, you'd probably want to use a feed-forward network.

  4. Do you need a hidden layer? This is a harder question to know the answer to, and might require some experimentation, unless you know a lot about the high-dimensional space that your inputs occupy. Draughts is complex enough that it seems like it would require a hidden layer, but it's hard to be sure.

Obviously, there are a lot more decisions that can/have to be made about neural net set-up, but hopefully these will get you going.

like image 160
seaotternerd Avatar answered Sep 20 '22 18:09

seaotternerd