I have trained my classifier on pictures with a mixture of several classes on each picture, e.g. A-F. The classifier is able to (nearly) correctly segment those classes on the images.

Now I got more data with pictures showing class G. To minimize my work, I only labeled class G on the images and left the rest out (Invalid).

Two questions for my training arise:

  1. If there are no examples of class G in my first dataset (because it could have been a subclass of A-F), how do I train it correctly? Suggested Solution: I can add my new data to the old one, but I have to tell the CNN when there is an image with class G, because I have to change the error measurement of my CNN somehow. But how?
  2. If G was included in my first dataset (assume G is 'police car' and B is 'car', but some images showed police car), how do I train in this case correctly?

Transfer learning is what you want to need.

Checkout this note from CS231n, it provides some general advices on transfer learning and model fine-tuning.

In the meanwhile, this blog from keras shows how to use pre-trained VGG16 network to classify dogs&cats.

  • $\begingroup$ I know that I have to finetune - but I am interested in how to adapt the new classes. Any more specific answers on how to model it exactly? $\endgroup$
    – N8_Coder
    Feb 20 '17 at 6:27
  • $\begingroup$ Does this gist help? $\endgroup$
    – Icyblade
    Feb 21 '17 at 6:23

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.