What will my trained model detect?

Hello! I’m in a bit of a confusion.
For example if I make a dataset about dogs, let’s say I put a ton of different breeds in it but I leave out labradors. Will my model be able to recognize a labrador aswell?

EDIT: I don’t want to recognize breeds, all I want is to recognize that it’s a dog.

My answer became outdated after the question was edited. The new answer is yes :slight_smile:

Hi @Daniel_Mozsar

Short answer: no.

What you are describing is a classification problem. Classification need supervised learning, meaning you dataset consists in a list of image AND a list of labels, one for each image. Labels are integer values, in you case representing breeds (a different number for each breed).

Your machine will learn to recognize breeds from you dataset. Let’s say you need 1.000 pictures for each breed to train you machine. Your trained model will fail to recognize a breed if there weren’t enough pictures in the training dataset.

If you are using deep learning, you model won’t say “this is a labrador”, it will give you a confidence value for every breed it was trained on. So, your model can express anything outside the label list (it can’t say “this is a cat”). And will fail recognizing any label with poor training.

please clarify, if this is about detection (of dogs in general) or recognition. (of a single breed)

in the latter case, the answer is no,
please read @Alejandro_Silvestri s answer below

I’ll say yes because it has learned the appearance of canines in general, vs. other animals such as cats, foxes, hogs, deer, hyenas, … which I hope are in your training set as negative examples.

a labrador specifically is well within the bounds of the class because it’s not that far away from a wolf, which is the common ancestor of domesticated canines. those bounds are “defined” positively by the most “strange” dogs that look most unlike wolves, and negatively by whatever animals look very much like dogs but aren’t considered dogs.

1 Like