Neural Networks

This page is intended for two session; i.e. one week.

Reading

Exercise 1. Basic tutorial.

I have added a couple of exercises to the official PyTorch Quickstart.

  • Download and open the (augmented) tutorial.
  • Please reflect upon and discuss the questions.

Exercise 2. Convolutional Neural Networks

  1. Complete the CIFAR-10 Tutorial
  2. Compare the approach to Exercise 1. What is different? What is the same?

Exercise 3. Evaluation and Analysis

  1. Copy the code out of the tutorials so that you can run it in your regular environment (IDE, command line, etc.).
  2. Test one of the networks with different numbers of epochs. Record the accuracy both on the training set and on the testing set for each epoch.
  3. Plot the training and testing accuracy as a function of the number of epochs. What do you see?
  4. What is the ideal number of epochs?
  5. Calculate a confidence interval for the accuracy at the ideal number of epochs. What do you think of the quality of the network? What do you think about the quality of the assessment of the network?

Note that you do not have to rerun the entire process for more epochs. You can test the network after each epoch and continue training.

If you do not see the effect of overtraining, try to use smaller training sets and see how it changes the behaviour of the network.

Exercise 4. Different networks (optional)

Try to change the neural network in Exercise 1 and 2. Can you improve the performance?

Exercise 5. More examples (optional)

Other datases may be found at this collection if you want to try other variants.