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?













1












$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?










share|improve this question











$endgroup$
















    1












    $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?










    share|improve this question











    $endgroup$














      1












      1








      1





      $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?










      share|improve this question











      $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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 10 at 0:15







      Ryu S.

















      asked Apr 9 at 10:20









      Ryu S.Ryu S.

      63




      63




















          1 Answer
          1






          active

          oldest

          votes


















          0












          $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.



          1. 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.


          2. 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:



          1. The pre-trained YOLO which is already built,

          2. Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and

          3. 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.





          share|improve this answer











          $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











          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
          );



          );













          draft saved

          draft discarded


















          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









          0












          $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.



          1. 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.


          2. 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:



          1. The pre-trained YOLO which is already built,

          2. Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and

          3. 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.





          share|improve this answer











          $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















          0












          $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.



          1. 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.


          2. 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:



          1. The pre-trained YOLO which is already built,

          2. Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and

          3. 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.





          share|improve this answer











          $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













          0












          0








          0





          $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.



          1. 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.


          2. 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:



          1. The pre-trained YOLO which is already built,

          2. Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and

          3. 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.





          share|improve this answer











          $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.



          1. 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.


          2. 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:



          1. The pre-trained YOLO which is already built,

          2. Training MyYOLO on all categories (for example, by using one input from the last layer of YOLO, and one input directly from image), and

          3. 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.






          share|improve this answer














          share|improve this answer



          share|improve this answer








          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
















          • $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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          Marja Vauras Lähteet | Aiheesta muualla | NavigointivalikkoMarja Vauras Turun yliopiston tutkimusportaalissaInfobox OKSuomalaisen Tiedeakatemian varsinaiset jäsenetKasvatustieteiden tiedekunnan dekaanit ja muu johtoMarja VaurasKoulutusvienti on kestävyys- ja ketteryyslaji (2.5.2017)laajentamallaWorldCat Identities0000 0001 0855 9405n86069603utb201588738523620927

          Which is better: GPT or RelGAN for text generation?2019 Community Moderator ElectionWhat is the difference between TextGAN and LM for text generation?GANs (generative adversarial networks) possible for text as well?Generator loss not decreasing- text to image synthesisChoosing a right algorithm for template-based text generationHow should I format input and output for text generation with LSTMsGumbel Softmax vs Vanilla Softmax for GAN trainingWhich neural network to choose for classification from text/speech?NLP text autoencoder that generates text in poetic meterWhat is the interpretation of the expectation notation in the GAN formulation?What is the difference between TextGAN and LM for text generation?How to prepare the data for text generation task

          Is flight data recorder erased after every flight?When are black boxes used?What protects the location beacon (pinger) of a flight data recorder?Is there anywhere I can pick up raw flight data recorder information?Who legally owns the Flight Data Recorder?Constructing flight recorder dataWhy are FDRs and CVRs still two separate physical devices?What are the data elements shown on the GE235 flight data recorder (FDR) plot?Are CVR and FDR reset after every flight?What is the format of data stored by a Flight Data Recorder?How much data is stored in the flight data recorder per hour in a typical flight of an A380?Is a smart flight data recorder possible?