YOLO: What is better? multiple networks per label or multiple labels in single network?In Neural Networks and deep neural networks what does label-dropout meanBatching in Recurrent Neural Networks (RNNs) when there is only a single instance per time step?What is the way to modify a neural network classifier to deal with sample points from outside of the label set?
Initiative: Do I lose my attack/action if my target moves or dies before my turn in combat?
Was there a shared-world project before "Thieves World"?
What is the most expensive material in the world that could be used to create Pun-Pun's lute?
Can't get 5V 3A DC constant
How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?
Don’t seats that recline flat defeat the purpose of having seatbelts?
Coordinate my way to the name of the (video) game
What happens to Mjolnir (Thor's hammer) at the end of Endgame?
Read line from file and process something
Does a large simulator bay have standard public address announcements?
bldc motor, esc and battery draw, nominal vs peak
Can someone publish a story that happened to you?
Random Forest different results for same observation
Why did some of my point & shoot film photos come back with one third light white or orange?
How much cash can I safely carry into the USA and avoid civil forfeiture?
Is it idiomatic to construct against `this`
Why was the Spitfire's elliptical wing almost uncopied by other aircraft of World War 2?
Re-entry to Germany after vacation using blue card
What happened to Captain America in Endgame?
How do I check if a string is entirely made of the same substring?
Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?
How exactly does Hawking radiation decrease the mass of black holes?
Farming on the moon
Contradiction proof for inequality of P and NP?
YOLO: What is better? multiple networks per label or multiple labels in single network?
In Neural Networks and deep neural networks what does label-dropout meanBatching in Recurrent Neural Networks (RNNs) when there is only a single instance per time step?What is the way to modify a neural network classifier to deal with sample points from outside of the label set?
$begingroup$
I would like to use a YOLOv3 network,load in the preexisting trained weights, then retrain the ending layer to recognize say, 20 labels.
Would adding labels to a single network in training reduce its accurary?
Would it be better to train multiple models on 5,10 and 5 labels respectively.
e.g.
Model A : recognizes 5 labels (ferrari,honda,ford,toyota,tesla)
Model B : regonzies 10 labels (store front / stopsign, speed sign, super charger station , etccc. )
Model C : recongizes 5 labels (pedestrian, dog, marathon runner, bicycler, scooter rider)
OR
Model D: Recognizes 20 labels (all labels above put together)
Would Model D be as accurate as Model A,B,C put together?
neural-network image-recognition yolo
$endgroup$
add a comment |
$begingroup$
I would like to use a YOLOv3 network,load in the preexisting trained weights, then retrain the ending layer to recognize say, 20 labels.
Would adding labels to a single network in training reduce its accurary?
Would it be better to train multiple models on 5,10 and 5 labels respectively.
e.g.
Model A : recognizes 5 labels (ferrari,honda,ford,toyota,tesla)
Model B : regonzies 10 labels (store front / stopsign, speed sign, super charger station , etccc. )
Model C : recongizes 5 labels (pedestrian, dog, marathon runner, bicycler, scooter rider)
OR
Model D: Recognizes 20 labels (all labels above put together)
Would Model D be as accurate as Model A,B,C put together?
neural-network image-recognition yolo
$endgroup$
add a comment |
$begingroup$
I would like to use a YOLOv3 network,load in the preexisting trained weights, then retrain the ending layer to recognize say, 20 labels.
Would adding labels to a single network in training reduce its accurary?
Would it be better to train multiple models on 5,10 and 5 labels respectively.
e.g.
Model A : recognizes 5 labels (ferrari,honda,ford,toyota,tesla)
Model B : regonzies 10 labels (store front / stopsign, speed sign, super charger station , etccc. )
Model C : recongizes 5 labels (pedestrian, dog, marathon runner, bicycler, scooter rider)
OR
Model D: Recognizes 20 labels (all labels above put together)
Would Model D be as accurate as Model A,B,C put together?
neural-network image-recognition yolo
$endgroup$
I would like to use a YOLOv3 network,load in the preexisting trained weights, then retrain the ending layer to recognize say, 20 labels.
Would adding labels to a single network in training reduce its accurary?
Would it be better to train multiple models on 5,10 and 5 labels respectively.
e.g.
Model A : recognizes 5 labels (ferrari,honda,ford,toyota,tesla)
Model B : regonzies 10 labels (store front / stopsign, speed sign, super charger station , etccc. )
Model C : recongizes 5 labels (pedestrian, dog, marathon runner, bicycler, scooter rider)
OR
Model D: Recognizes 20 labels (all labels above put together)
Would Model D be as accurate as Model A,B,C put together?
neural-network image-recognition yolo
neural-network image-recognition yolo
edited Apr 10 at 0:15
Ryu S.
asked Apr 9 at 10:20
Ryu S.Ryu S.
63
63
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
It depends specially on data size and model capacity.
Therefore, we cannot give a definite "yes" or "no" prior to any experiment. However, we can enumerate possible cases, causes, and ways to improve, regardless of any specific model or dataset.
If the number of data points per category is insufficient, which is frequently the case in reality, a single model for combined categories performs better, since the effect of data shortage will be attenuated by sharing a model among different but related tasks, i.e. shared knowledge. However, we should not forget about the capacity of model, if model capacity is not enough for the combined task (which depends on the architecture and size of the model), this sharing would backfire as the model spreads its limited capacity across multiple tasks and becomes "jack of all trades, and master of none". Therefore, this approach is favorable if model capacity permits, which is less of a concern for neural networks with flexible size constraints.
If the number of data points per category is sufficient, which is rarely the case, or model capacity is limited (for example, when model performance stops improving when trained on more than 10% of data), single model per category is better since no capacity will be wasted on different (although related) tasks. From a different point of view, although this choice might be less favorable in terms of model accuracy, but it allows parallel development on smaller tasks, i.e. faster production, which could be a justified benefit for the cost we pay in terms of model accuracy.
Both approaches
We can also combine the two approaches. First we train a model on combined categories, second we feed a part (or parts) of the trained model (such as a layer, the final prediction, etc.) to a specific model that will be trained on one category. This is exactly what a pre-trained model does for us, it is trained on a more general task with more data (possibly even a different but related task), and then we use it for a specific task.
In your case, you can go for three levels:
- The pre-trained YOLO which is already built,
- Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and
- Training MyYOLO2 on specific categories (for example, by using one input from MyYOLO and one input directly from image). Noting that at each level, weights of previous model remain constant to serve a constant input.
$endgroup$
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "557"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48952%2fyolo-what-is-better-multiple-networks-per-label-or-multiple-labels-in-single-n%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
It depends specially on data size and model capacity.
Therefore, we cannot give a definite "yes" or "no" prior to any experiment. However, we can enumerate possible cases, causes, and ways to improve, regardless of any specific model or dataset.
If the number of data points per category is insufficient, which is frequently the case in reality, a single model for combined categories performs better, since the effect of data shortage will be attenuated by sharing a model among different but related tasks, i.e. shared knowledge. However, we should not forget about the capacity of model, if model capacity is not enough for the combined task (which depends on the architecture and size of the model), this sharing would backfire as the model spreads its limited capacity across multiple tasks and becomes "jack of all trades, and master of none". Therefore, this approach is favorable if model capacity permits, which is less of a concern for neural networks with flexible size constraints.
If the number of data points per category is sufficient, which is rarely the case, or model capacity is limited (for example, when model performance stops improving when trained on more than 10% of data), single model per category is better since no capacity will be wasted on different (although related) tasks. From a different point of view, although this choice might be less favorable in terms of model accuracy, but it allows parallel development on smaller tasks, i.e. faster production, which could be a justified benefit for the cost we pay in terms of model accuracy.
Both approaches
We can also combine the two approaches. First we train a model on combined categories, second we feed a part (or parts) of the trained model (such as a layer, the final prediction, etc.) to a specific model that will be trained on one category. This is exactly what a pre-trained model does for us, it is trained on a more general task with more data (possibly even a different but related task), and then we use it for a specific task.
In your case, you can go for three levels:
- The pre-trained YOLO which is already built,
- Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and
- Training MyYOLO2 on specific categories (for example, by using one input from MyYOLO and one input directly from image). Noting that at each level, weights of previous model remain constant to serve a constant input.
$endgroup$
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
add a comment |
$begingroup$
It depends specially on data size and model capacity.
Therefore, we cannot give a definite "yes" or "no" prior to any experiment. However, we can enumerate possible cases, causes, and ways to improve, regardless of any specific model or dataset.
If the number of data points per category is insufficient, which is frequently the case in reality, a single model for combined categories performs better, since the effect of data shortage will be attenuated by sharing a model among different but related tasks, i.e. shared knowledge. However, we should not forget about the capacity of model, if model capacity is not enough for the combined task (which depends on the architecture and size of the model), this sharing would backfire as the model spreads its limited capacity across multiple tasks and becomes "jack of all trades, and master of none". Therefore, this approach is favorable if model capacity permits, which is less of a concern for neural networks with flexible size constraints.
If the number of data points per category is sufficient, which is rarely the case, or model capacity is limited (for example, when model performance stops improving when trained on more than 10% of data), single model per category is better since no capacity will be wasted on different (although related) tasks. From a different point of view, although this choice might be less favorable in terms of model accuracy, but it allows parallel development on smaller tasks, i.e. faster production, which could be a justified benefit for the cost we pay in terms of model accuracy.
Both approaches
We can also combine the two approaches. First we train a model on combined categories, second we feed a part (or parts) of the trained model (such as a layer, the final prediction, etc.) to a specific model that will be trained on one category. This is exactly what a pre-trained model does for us, it is trained on a more general task with more data (possibly even a different but related task), and then we use it for a specific task.
In your case, you can go for three levels:
- The pre-trained YOLO which is already built,
- Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and
- Training MyYOLO2 on specific categories (for example, by using one input from MyYOLO and one input directly from image). Noting that at each level, weights of previous model remain constant to serve a constant input.
$endgroup$
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
add a comment |
$begingroup$
It depends specially on data size and model capacity.
Therefore, we cannot give a definite "yes" or "no" prior to any experiment. However, we can enumerate possible cases, causes, and ways to improve, regardless of any specific model or dataset.
If the number of data points per category is insufficient, which is frequently the case in reality, a single model for combined categories performs better, since the effect of data shortage will be attenuated by sharing a model among different but related tasks, i.e. shared knowledge. However, we should not forget about the capacity of model, if model capacity is not enough for the combined task (which depends on the architecture and size of the model), this sharing would backfire as the model spreads its limited capacity across multiple tasks and becomes "jack of all trades, and master of none". Therefore, this approach is favorable if model capacity permits, which is less of a concern for neural networks with flexible size constraints.
If the number of data points per category is sufficient, which is rarely the case, or model capacity is limited (for example, when model performance stops improving when trained on more than 10% of data), single model per category is better since no capacity will be wasted on different (although related) tasks. From a different point of view, although this choice might be less favorable in terms of model accuracy, but it allows parallel development on smaller tasks, i.e. faster production, which could be a justified benefit for the cost we pay in terms of model accuracy.
Both approaches
We can also combine the two approaches. First we train a model on combined categories, second we feed a part (or parts) of the trained model (such as a layer, the final prediction, etc.) to a specific model that will be trained on one category. This is exactly what a pre-trained model does for us, it is trained on a more general task with more data (possibly even a different but related task), and then we use it for a specific task.
In your case, you can go for three levels:
- The pre-trained YOLO which is already built,
- Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and
- Training MyYOLO2 on specific categories (for example, by using one input from MyYOLO and one input directly from image). Noting that at each level, weights of previous model remain constant to serve a constant input.
$endgroup$
It depends specially on data size and model capacity.
Therefore, we cannot give a definite "yes" or "no" prior to any experiment. However, we can enumerate possible cases, causes, and ways to improve, regardless of any specific model or dataset.
If the number of data points per category is insufficient, which is frequently the case in reality, a single model for combined categories performs better, since the effect of data shortage will be attenuated by sharing a model among different but related tasks, i.e. shared knowledge. However, we should not forget about the capacity of model, if model capacity is not enough for the combined task (which depends on the architecture and size of the model), this sharing would backfire as the model spreads its limited capacity across multiple tasks and becomes "jack of all trades, and master of none". Therefore, this approach is favorable if model capacity permits, which is less of a concern for neural networks with flexible size constraints.
If the number of data points per category is sufficient, which is rarely the case, or model capacity is limited (for example, when model performance stops improving when trained on more than 10% of data), single model per category is better since no capacity will be wasted on different (although related) tasks. From a different point of view, although this choice might be less favorable in terms of model accuracy, but it allows parallel development on smaller tasks, i.e. faster production, which could be a justified benefit for the cost we pay in terms of model accuracy.
Both approaches
We can also combine the two approaches. First we train a model on combined categories, second we feed a part (or parts) of the trained model (such as a layer, the final prediction, etc.) to a specific model that will be trained on one category. This is exactly what a pre-trained model does for us, it is trained on a more general task with more data (possibly even a different but related task), and then we use it for a specific task.
In your case, you can go for three levels:
- The pre-trained YOLO which is already built,
- Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and
- Training MyYOLO2 on specific categories (for example, by using one input from MyYOLO and one input directly from image). Noting that at each level, weights of previous model remain constant to serve a constant input.
edited Apr 10 at 11:59
answered Apr 9 at 13:06
EsmailianEsmailian
3,846420
3,846420
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
add a comment |
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
I am planning on using the pretrained yolov3 weights
$endgroup$
– Ryu S.
Apr 10 at 0:14
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
$begingroup$
@RyuS. Nice. We cannot give a definite "yes" or "no", I updated the answer in this regard. Hope it helps.
$endgroup$
– Esmailian
Apr 10 at 12:00
add a comment |
Thanks for contributing an answer to Data Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48952%2fyolo-what-is-better-multiple-networks-per-label-or-multiple-labels-in-single-n%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown