1

The following plot shows over fitting in training using training accuracy and validation accuracy during training. How to get that plot in training?

My understanding is that we have training set and test set of data for training. Using test data set, we test the training model how is the accuracy. To have that plot, do we still need another validate data set and validate net to be used during training? I am confused about that.

Then my another query is that, during training we have train net and test net. Example using caffe training, how trained weights in train net are transferred to test net, so that test net is used to test in training. How is that implemented?

enter image description here

Jan Kukacka
  • 10,121
  • 1
  • 36
  • 62
batuman
  • 441
  • 1
  • 3
  • 10
  • 1
    Usually, for neural network training, the data is divided into training, validation and testing. The training and validation are used during the model training stage. Here you need the validation data, to fix parameters such as the number of epochs, batch size etc. After the model is successfully trained, the model is tested with the test data which was in no way used during model training. – prashanth Oct 04 '18 at 10:07
  • To get this plot, can I make like use the training images and validate together with validation images.So that I have two outputs, one for validation and another one for training. Is that make sense? – batuman Oct 06 '18 at 01:46

1 Answers1

2

To have that plot, do we still need another validate data set and validate net to be used during training?

Yes, you need to have a separate validation set for this purpose. Then, usually after each epoch, you evaluate the loss on this separate validation set.

Then my another query is that, during training we have train net and test net. Example using caffe training, how trained weights in train net are transferred to test net, so that test net is used to test in training. How is that implemented?

These nets have exactly the same, shared weights. There are two reasons why some frameworks distinguish training net from a testing net:

  1. Some types of layers behave differently during training and testing. The most prominent example is dropout: During training, the dropout layer applies random noise on the data, while during testing, it performs deterministic scaling.

  2. Training net has additional input for the labels. There are no labels in the testing net.

Jan Kukacka
  • 10,121
  • 1
  • 36
  • 62
  • To get this plot, can I make like use the training images and validate together with validation images.So that I have two outputs, one for validation and another one for training. Is that make sense? – batuman Oct 06 '18 at 01:47