What is the “thing” which is trained in AI model trainingDetect street and sidewalk surface in aerial imagery (neural network)What topologies support recognition of action sequences?What happens to the training data after your machine learning model has been trained?Pre trained model for low resolution image! How to handle?Export trained AI/ML modelWhat is the goal of the model and is the training data relevant to that?Which model is better given their training and validation errors?

Why does this London Underground poster from 1924 have a Star of David atop a Christmas tree?

Journal published a paper, ignoring my objections as a referee

Did ancient peoples ever hide their treasure behind puzzles?

Group riding etiquette

Why is "I let him to sleep" incorrect (or is it)?

Pen test results for web application include a file from a forbidden directory that is not even used or referenced

Why does Sauron not permit his followers to use his name?

Why can't you say don't instead of won't?

RAID0 instead of RAID1 or 5, is this crazy?

Employing a contractor proving difficult

Number of Fingers for a Math Oriented Race

Defending Castle from Zombies

Cutting numbers into a specific decimals

Should I judge the efficacy of Samadhi based on the ethical qualities of the meditator?

How to say "I only speak one language which is English" in French?

Was the six engine Boeing-747 ever thought about?

Is this position a forced win for Black after move 14?

Count the number of triangles

Is there a way to tell what frequency I need a PWM to be?

Can a network vulnerability be exploited locally?

How do you say "half the time …, the other half …" in German?

Can I get a PhD for developing educational software?

How to prevent a hosting company from accessing a VM's encryption keys?

Should I ask for a raise one month before the end of an internship?



What is the “thing” which is trained in AI model training


Detect street and sidewalk surface in aerial imagery (neural network)What topologies support recognition of action sequences?What happens to the training data after your machine learning model has been trained?Pre trained model for low resolution image! How to handle?Export trained AI/ML modelWhat is the goal of the model and is the training data relevant to that?Which model is better given their training and validation errors?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3












$begingroup$


I am a newbie in the fantastic AI world, I have started my learning recently.
After a while, my understanding is, we need to feed in tremendous data to train a or many models.



Once the training is complete, we could take out the trained models and "plug in" to any other programming languages to use to detect things.



So my questions are:



1. What are the trained models? are they algorithms or a collection of parameters in a file?



2. What do they look like? e.g. file extensions



3. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



Thank you!










share|improve this question











$endgroup$




















    3












    $begingroup$


    I am a newbie in the fantastic AI world, I have started my learning recently.
    After a while, my understanding is, we need to feed in tremendous data to train a or many models.



    Once the training is complete, we could take out the trained models and "plug in" to any other programming languages to use to detect things.



    So my questions are:



    1. What are the trained models? are they algorithms or a collection of parameters in a file?



    2. What do they look like? e.g. file extensions



    3. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



    Thank you!










    share|improve this question











    $endgroup$
















      3












      3








      3


      2



      $begingroup$


      I am a newbie in the fantastic AI world, I have started my learning recently.
      After a while, my understanding is, we need to feed in tremendous data to train a or many models.



      Once the training is complete, we could take out the trained models and "plug in" to any other programming languages to use to detect things.



      So my questions are:



      1. What are the trained models? are they algorithms or a collection of parameters in a file?



      2. What do they look like? e.g. file extensions



      3. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



      Thank you!










      share|improve this question











      $endgroup$




      I am a newbie in the fantastic AI world, I have started my learning recently.
      After a while, my understanding is, we need to feed in tremendous data to train a or many models.



      Once the training is complete, we could take out the trained models and "plug in" to any other programming languages to use to detect things.



      So my questions are:



      1. What are the trained models? are they algorithms or a collection of parameters in a file?



      2. What do they look like? e.g. file extensions



      3. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



      Thank you!







      machine-learning training models






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Aug 16 at 9:18









      nbro

      6,6714 gold badges16 silver badges36 bronze badges




      6,6714 gold badges16 silver badges36 bronze badges










      asked Aug 16 at 8:07









      FranvaFranva

      1184 bronze badges




      1184 bronze badges























          2 Answers
          2






          active

          oldest

          votes


















          5













          $begingroup$

          This answer applies to Machine Learning (ML) part of AI, as that seems to be what you are asking about. Please bear in mind that AI is still a broad church, including many other techniques than ML. ML, including neural networks for deep learning, and Reinforcement Learning (RL) is only a subset of AI - some AI techniques are more focused on the algorithm than parameters.




          1. What are the trained models? are they algorithms or a collection of parameters in a file?



          In ML, the usual process is to feed data into parametric function (e.g. a neural network) and alter the parameters of it to "fit" the data. The main output of this is a collection of parameters and hyperparameters that describe the parametric function. So 90% of the time, when discussing the "trained model", it means the same thing as the collection of paramaters.



          However, those parameters are of limited use without a library that can re-create the function from them. Parameters will be saved from a specific library and can be loaded back into that library easily. It is also possible for libraries to read or convert from models saved from other libraries, much like how different spreadsheet programs can read each others' files.




          1. What do they look like? e.g. file extensions



          This varies a lot, depending on which library was used. It is not possible to make a general statement. For example, Tensorflow can save variables to a "Checkpoint" file with .ckpt extension, but can get more sophisticated depending on how much of the model you want to export, and full models with whole structure will contain more than just the variables and have the .pb extension.




          1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



          There are a few places where you can find selections of pre-trained models. One such place is Tensorflow's Model Zoo and you might be interested in Tensorflow detection model zoo.



          Other frameworks may also provide example code. For instance Caffe also has a "Model Zoo" (searching Model Zoo is a good starting strategy).



          If you are working at the level of collecting model parameters and want to run these models yourself, you will need to learn a bit about each library, what language is used to work with it, and maybe follow some tutorial about how to use it. A few models will be packaged up with working scripts to use from the command line, but many are not and may take sometime and effort to get working.



          When you have a specific detection target, you may be disappointed to find models that don't quite match what you want. For image classifying, it is common if you have a specialist need to take a pre-existing general model that has been trained on large dataset for weeks, and then "fine tune" it with your own image dataset for your purpose. Most NN libraries will have tutorials and examples of this fine tuning process.






          share|improve this answer











          $endgroup$






















            2













            $begingroup$


            1. What are the trained models? are they algorithms or a collection of parameters in a file?



            "Model" could refer to the algorithm with or without a set of trained parameters.
            If you specify "trained model", the focus is on the parameters, but the algorithm is implicitly part of that, since without the algorithm, the parameters are just an arbitrary set of numbers.




            1. What do they look like? e.g. file extensions



            That very much depends on both the algorithm you're using and the specific implementation. A few simple examples might help clarify matters. Let's suppose that the problem we're trying to learn is the exclusive or (XOR) function:



            a | b | a XOR b
            --+---+---------
            0 | 0 | 0
            0 | 1 | 1
            1 | 0 | 1
            1 | 1 | 0



            First, let's use a 2-layer neural net to learn it. We'll define our activation function to be a simple step function:



            $ f(x) = begincases
            1 & textif x > 0.5 \
            0 & textif x le 0.5
            endcases $



            (This is actually a terrible activation function for real neural nets since it's non-differentiable, but it makes the example clearer.)



            Our model is:



            $h_0 = f(1cdot a+1cdot b + 0)\
            h_1 = f(0.5cdot a + 0.5cdot b + 0)\
            ,;y = f(1cdot h_0 - 1cdot h_1 + 0)$



            Each step of this essentially draws a hyperplane and evaluates to 1 if the input is on one side of the hyperplane and 0 otherwise. In this particular case, h_0 tells us if either a or b is true. h_1 tells us if they're both true, and y tells us if exactly one of them is true, which is the exact definition of the XOR function.



            Our parameters are the coefficients and biases (the offset added at the end of each expression):



            $ beginbmatrix
            1 & 1 & 0 \
            0.5 & 0.5 & 0 \
            1 & 1 & 0 \
            endbmatrix$



            They can be stored in a file in any way we want; all that matters is that the code that stores them and the code that reads them back agree on the format.




            Now let's solve the same problem using a decision tree. For these, we traverse a tree, and at every node, ask a question about the input to decide which child to visit next. Ideally, each question will divide the space of possibilities exactly in half. Once we reach a leaf node, we know our answer.



            In this diagram, we visit the right child iff the expression is true.



             a+b=2
            /
            a+b=0 0
            /
            0 1


            In this case, the model and parameters are harder to separate. The only part of the model that isn't learned is "It's a tree". The expressions in each interior node, the structure of the tree, and the value of the leaf nodes are all learned parameters. As with the weights from the neural network, we can store these in any format we want to.




            Both methods are learning the same problem, and actually find basically the same solution: a XOR b = (a OR b) AND NOT (a AND B). But the nature of the mathematical model we use depends on the method we choose, the parameters depend on what we train it on, the file format depends on the code we use to do it, and the line between model and parameter is fairly arbitrary; the math works out the same regardless of how we split it up. We could even write a program that tries different methods, and outputs a program that classifies inputs using the method that performed best. In this case, the model and parameters aren't separate at all.




            1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



            I don't know of any pretrained models that specifically recognize birds, but I'm not in image-recognition, so that doesn't mean much. If you're not averse to training your own model (using existing code), I believe the ImageNet dataset includes birds. AlexNet and LeNet would probably be good starting points for the model. Most if not all of the the state of the art image recognition models are based on convolutional networks, so you'll need a decent GPU to run them.






            share|improve this answer









            $endgroup$

















              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "658"
              ;
              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
              ,
              noCode: true, onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fai.stackexchange.com%2fquestions%2f14001%2fwhat-is-the-thing-which-is-trained-in-ai-model-training%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              5













              $begingroup$

              This answer applies to Machine Learning (ML) part of AI, as that seems to be what you are asking about. Please bear in mind that AI is still a broad church, including many other techniques than ML. ML, including neural networks for deep learning, and Reinforcement Learning (RL) is only a subset of AI - some AI techniques are more focused on the algorithm than parameters.




              1. What are the trained models? are they algorithms or a collection of parameters in a file?



              In ML, the usual process is to feed data into parametric function (e.g. a neural network) and alter the parameters of it to "fit" the data. The main output of this is a collection of parameters and hyperparameters that describe the parametric function. So 90% of the time, when discussing the "trained model", it means the same thing as the collection of paramaters.



              However, those parameters are of limited use without a library that can re-create the function from them. Parameters will be saved from a specific library and can be loaded back into that library easily. It is also possible for libraries to read or convert from models saved from other libraries, much like how different spreadsheet programs can read each others' files.




              1. What do they look like? e.g. file extensions



              This varies a lot, depending on which library was used. It is not possible to make a general statement. For example, Tensorflow can save variables to a "Checkpoint" file with .ckpt extension, but can get more sophisticated depending on how much of the model you want to export, and full models with whole structure will contain more than just the variables and have the .pb extension.




              1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



              There are a few places where you can find selections of pre-trained models. One such place is Tensorflow's Model Zoo and you might be interested in Tensorflow detection model zoo.



              Other frameworks may also provide example code. For instance Caffe also has a "Model Zoo" (searching Model Zoo is a good starting strategy).



              If you are working at the level of collecting model parameters and want to run these models yourself, you will need to learn a bit about each library, what language is used to work with it, and maybe follow some tutorial about how to use it. A few models will be packaged up with working scripts to use from the command line, but many are not and may take sometime and effort to get working.



              When you have a specific detection target, you may be disappointed to find models that don't quite match what you want. For image classifying, it is common if you have a specialist need to take a pre-existing general model that has been trained on large dataset for weeks, and then "fine tune" it with your own image dataset for your purpose. Most NN libraries will have tutorials and examples of this fine tuning process.






              share|improve this answer











              $endgroup$



















                5













                $begingroup$

                This answer applies to Machine Learning (ML) part of AI, as that seems to be what you are asking about. Please bear in mind that AI is still a broad church, including many other techniques than ML. ML, including neural networks for deep learning, and Reinforcement Learning (RL) is only a subset of AI - some AI techniques are more focused on the algorithm than parameters.




                1. What are the trained models? are they algorithms or a collection of parameters in a file?



                In ML, the usual process is to feed data into parametric function (e.g. a neural network) and alter the parameters of it to "fit" the data. The main output of this is a collection of parameters and hyperparameters that describe the parametric function. So 90% of the time, when discussing the "trained model", it means the same thing as the collection of paramaters.



                However, those parameters are of limited use without a library that can re-create the function from them. Parameters will be saved from a specific library and can be loaded back into that library easily. It is also possible for libraries to read or convert from models saved from other libraries, much like how different spreadsheet programs can read each others' files.




                1. What do they look like? e.g. file extensions



                This varies a lot, depending on which library was used. It is not possible to make a general statement. For example, Tensorflow can save variables to a "Checkpoint" file with .ckpt extension, but can get more sophisticated depending on how much of the model you want to export, and full models with whole structure will contain more than just the variables and have the .pb extension.




                1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                There are a few places where you can find selections of pre-trained models. One such place is Tensorflow's Model Zoo and you might be interested in Tensorflow detection model zoo.



                Other frameworks may also provide example code. For instance Caffe also has a "Model Zoo" (searching Model Zoo is a good starting strategy).



                If you are working at the level of collecting model parameters and want to run these models yourself, you will need to learn a bit about each library, what language is used to work with it, and maybe follow some tutorial about how to use it. A few models will be packaged up with working scripts to use from the command line, but many are not and may take sometime and effort to get working.



                When you have a specific detection target, you may be disappointed to find models that don't quite match what you want. For image classifying, it is common if you have a specialist need to take a pre-existing general model that has been trained on large dataset for weeks, and then "fine tune" it with your own image dataset for your purpose. Most NN libraries will have tutorials and examples of this fine tuning process.






                share|improve this answer











                $endgroup$

















                  5














                  5










                  5







                  $begingroup$

                  This answer applies to Machine Learning (ML) part of AI, as that seems to be what you are asking about. Please bear in mind that AI is still a broad church, including many other techniques than ML. ML, including neural networks for deep learning, and Reinforcement Learning (RL) is only a subset of AI - some AI techniques are more focused on the algorithm than parameters.




                  1. What are the trained models? are they algorithms or a collection of parameters in a file?



                  In ML, the usual process is to feed data into parametric function (e.g. a neural network) and alter the parameters of it to "fit" the data. The main output of this is a collection of parameters and hyperparameters that describe the parametric function. So 90% of the time, when discussing the "trained model", it means the same thing as the collection of paramaters.



                  However, those parameters are of limited use without a library that can re-create the function from them. Parameters will be saved from a specific library and can be loaded back into that library easily. It is also possible for libraries to read or convert from models saved from other libraries, much like how different spreadsheet programs can read each others' files.




                  1. What do they look like? e.g. file extensions



                  This varies a lot, depending on which library was used. It is not possible to make a general statement. For example, Tensorflow can save variables to a "Checkpoint" file with .ckpt extension, but can get more sophisticated depending on how much of the model you want to export, and full models with whole structure will contain more than just the variables and have the .pb extension.




                  1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                  There are a few places where you can find selections of pre-trained models. One such place is Tensorflow's Model Zoo and you might be interested in Tensorflow detection model zoo.



                  Other frameworks may also provide example code. For instance Caffe also has a "Model Zoo" (searching Model Zoo is a good starting strategy).



                  If you are working at the level of collecting model parameters and want to run these models yourself, you will need to learn a bit about each library, what language is used to work with it, and maybe follow some tutorial about how to use it. A few models will be packaged up with working scripts to use from the command line, but many are not and may take sometime and effort to get working.



                  When you have a specific detection target, you may be disappointed to find models that don't quite match what you want. For image classifying, it is common if you have a specialist need to take a pre-existing general model that has been trained on large dataset for weeks, and then "fine tune" it with your own image dataset for your purpose. Most NN libraries will have tutorials and examples of this fine tuning process.






                  share|improve this answer











                  $endgroup$



                  This answer applies to Machine Learning (ML) part of AI, as that seems to be what you are asking about. Please bear in mind that AI is still a broad church, including many other techniques than ML. ML, including neural networks for deep learning, and Reinforcement Learning (RL) is only a subset of AI - some AI techniques are more focused on the algorithm than parameters.




                  1. What are the trained models? are they algorithms or a collection of parameters in a file?



                  In ML, the usual process is to feed data into parametric function (e.g. a neural network) and alter the parameters of it to "fit" the data. The main output of this is a collection of parameters and hyperparameters that describe the parametric function. So 90% of the time, when discussing the "trained model", it means the same thing as the collection of paramaters.



                  However, those parameters are of limited use without a library that can re-create the function from them. Parameters will be saved from a specific library and can be loaded back into that library easily. It is also possible for libraries to read or convert from models saved from other libraries, much like how different spreadsheet programs can read each others' files.




                  1. What do they look like? e.g. file extensions



                  This varies a lot, depending on which library was used. It is not possible to make a general statement. For example, Tensorflow can save variables to a "Checkpoint" file with .ckpt extension, but can get more sophisticated depending on how much of the model you want to export, and full models with whole structure will contain more than just the variables and have the .pb extension.




                  1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                  There are a few places where you can find selections of pre-trained models. One such place is Tensorflow's Model Zoo and you might be interested in Tensorflow detection model zoo.



                  Other frameworks may also provide example code. For instance Caffe also has a "Model Zoo" (searching Model Zoo is a good starting strategy).



                  If you are working at the level of collecting model parameters and want to run these models yourself, you will need to learn a bit about each library, what language is used to work with it, and maybe follow some tutorial about how to use it. A few models will be packaged up with working scripts to use from the command line, but many are not and may take sometime and effort to get working.



                  When you have a specific detection target, you may be disappointed to find models that don't quite match what you want. For image classifying, it is common if you have a specialist need to take a pre-existing general model that has been trained on large dataset for weeks, and then "fine tune" it with your own image dataset for your purpose. Most NN libraries will have tutorials and examples of this fine tuning process.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Aug 16 at 9:20

























                  answered Aug 16 at 9:13









                  Neil SlaterNeil Slater

                  8,3681 gold badge6 silver badges22 bronze badges




                  8,3681 gold badge6 silver badges22 bronze badges


























                      2













                      $begingroup$


                      1. What are the trained models? are they algorithms or a collection of parameters in a file?



                      "Model" could refer to the algorithm with or without a set of trained parameters.
                      If you specify "trained model", the focus is on the parameters, but the algorithm is implicitly part of that, since without the algorithm, the parameters are just an arbitrary set of numbers.




                      1. What do they look like? e.g. file extensions



                      That very much depends on both the algorithm you're using and the specific implementation. A few simple examples might help clarify matters. Let's suppose that the problem we're trying to learn is the exclusive or (XOR) function:



                      a | b | a XOR b
                      --+---+---------
                      0 | 0 | 0
                      0 | 1 | 1
                      1 | 0 | 1
                      1 | 1 | 0



                      First, let's use a 2-layer neural net to learn it. We'll define our activation function to be a simple step function:



                      $ f(x) = begincases
                      1 & textif x > 0.5 \
                      0 & textif x le 0.5
                      endcases $



                      (This is actually a terrible activation function for real neural nets since it's non-differentiable, but it makes the example clearer.)



                      Our model is:



                      $h_0 = f(1cdot a+1cdot b + 0)\
                      h_1 = f(0.5cdot a + 0.5cdot b + 0)\
                      ,;y = f(1cdot h_0 - 1cdot h_1 + 0)$



                      Each step of this essentially draws a hyperplane and evaluates to 1 if the input is on one side of the hyperplane and 0 otherwise. In this particular case, h_0 tells us if either a or b is true. h_1 tells us if they're both true, and y tells us if exactly one of them is true, which is the exact definition of the XOR function.



                      Our parameters are the coefficients and biases (the offset added at the end of each expression):



                      $ beginbmatrix
                      1 & 1 & 0 \
                      0.5 & 0.5 & 0 \
                      1 & 1 & 0 \
                      endbmatrix$



                      They can be stored in a file in any way we want; all that matters is that the code that stores them and the code that reads them back agree on the format.




                      Now let's solve the same problem using a decision tree. For these, we traverse a tree, and at every node, ask a question about the input to decide which child to visit next. Ideally, each question will divide the space of possibilities exactly in half. Once we reach a leaf node, we know our answer.



                      In this diagram, we visit the right child iff the expression is true.



                       a+b=2
                      /
                      a+b=0 0
                      /
                      0 1


                      In this case, the model and parameters are harder to separate. The only part of the model that isn't learned is "It's a tree". The expressions in each interior node, the structure of the tree, and the value of the leaf nodes are all learned parameters. As with the weights from the neural network, we can store these in any format we want to.




                      Both methods are learning the same problem, and actually find basically the same solution: a XOR b = (a OR b) AND NOT (a AND B). But the nature of the mathematical model we use depends on the method we choose, the parameters depend on what we train it on, the file format depends on the code we use to do it, and the line between model and parameter is fairly arbitrary; the math works out the same regardless of how we split it up. We could even write a program that tries different methods, and outputs a program that classifies inputs using the method that performed best. In this case, the model and parameters aren't separate at all.




                      1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                      I don't know of any pretrained models that specifically recognize birds, but I'm not in image-recognition, so that doesn't mean much. If you're not averse to training your own model (using existing code), I believe the ImageNet dataset includes birds. AlexNet and LeNet would probably be good starting points for the model. Most if not all of the the state of the art image recognition models are based on convolutional networks, so you'll need a decent GPU to run them.






                      share|improve this answer









                      $endgroup$



















                        2













                        $begingroup$


                        1. What are the trained models? are they algorithms or a collection of parameters in a file?



                        "Model" could refer to the algorithm with or without a set of trained parameters.
                        If you specify "trained model", the focus is on the parameters, but the algorithm is implicitly part of that, since without the algorithm, the parameters are just an arbitrary set of numbers.




                        1. What do they look like? e.g. file extensions



                        That very much depends on both the algorithm you're using and the specific implementation. A few simple examples might help clarify matters. Let's suppose that the problem we're trying to learn is the exclusive or (XOR) function:



                        a | b | a XOR b
                        --+---+---------
                        0 | 0 | 0
                        0 | 1 | 1
                        1 | 0 | 1
                        1 | 1 | 0



                        First, let's use a 2-layer neural net to learn it. We'll define our activation function to be a simple step function:



                        $ f(x) = begincases
                        1 & textif x > 0.5 \
                        0 & textif x le 0.5
                        endcases $



                        (This is actually a terrible activation function for real neural nets since it's non-differentiable, but it makes the example clearer.)



                        Our model is:



                        $h_0 = f(1cdot a+1cdot b + 0)\
                        h_1 = f(0.5cdot a + 0.5cdot b + 0)\
                        ,;y = f(1cdot h_0 - 1cdot h_1 + 0)$



                        Each step of this essentially draws a hyperplane and evaluates to 1 if the input is on one side of the hyperplane and 0 otherwise. In this particular case, h_0 tells us if either a or b is true. h_1 tells us if they're both true, and y tells us if exactly one of them is true, which is the exact definition of the XOR function.



                        Our parameters are the coefficients and biases (the offset added at the end of each expression):



                        $ beginbmatrix
                        1 & 1 & 0 \
                        0.5 & 0.5 & 0 \
                        1 & 1 & 0 \
                        endbmatrix$



                        They can be stored in a file in any way we want; all that matters is that the code that stores them and the code that reads them back agree on the format.




                        Now let's solve the same problem using a decision tree. For these, we traverse a tree, and at every node, ask a question about the input to decide which child to visit next. Ideally, each question will divide the space of possibilities exactly in half. Once we reach a leaf node, we know our answer.



                        In this diagram, we visit the right child iff the expression is true.



                         a+b=2
                        /
                        a+b=0 0
                        /
                        0 1


                        In this case, the model and parameters are harder to separate. The only part of the model that isn't learned is "It's a tree". The expressions in each interior node, the structure of the tree, and the value of the leaf nodes are all learned parameters. As with the weights from the neural network, we can store these in any format we want to.




                        Both methods are learning the same problem, and actually find basically the same solution: a XOR b = (a OR b) AND NOT (a AND B). But the nature of the mathematical model we use depends on the method we choose, the parameters depend on what we train it on, the file format depends on the code we use to do it, and the line between model and parameter is fairly arbitrary; the math works out the same regardless of how we split it up. We could even write a program that tries different methods, and outputs a program that classifies inputs using the method that performed best. In this case, the model and parameters aren't separate at all.




                        1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                        I don't know of any pretrained models that specifically recognize birds, but I'm not in image-recognition, so that doesn't mean much. If you're not averse to training your own model (using existing code), I believe the ImageNet dataset includes birds. AlexNet and LeNet would probably be good starting points for the model. Most if not all of the the state of the art image recognition models are based on convolutional networks, so you'll need a decent GPU to run them.






                        share|improve this answer









                        $endgroup$

















                          2














                          2










                          2







                          $begingroup$


                          1. What are the trained models? are they algorithms or a collection of parameters in a file?



                          "Model" could refer to the algorithm with or without a set of trained parameters.
                          If you specify "trained model", the focus is on the parameters, but the algorithm is implicitly part of that, since without the algorithm, the parameters are just an arbitrary set of numbers.




                          1. What do they look like? e.g. file extensions



                          That very much depends on both the algorithm you're using and the specific implementation. A few simple examples might help clarify matters. Let's suppose that the problem we're trying to learn is the exclusive or (XOR) function:



                          a | b | a XOR b
                          --+---+---------
                          0 | 0 | 0
                          0 | 1 | 1
                          1 | 0 | 1
                          1 | 1 | 0



                          First, let's use a 2-layer neural net to learn it. We'll define our activation function to be a simple step function:



                          $ f(x) = begincases
                          1 & textif x > 0.5 \
                          0 & textif x le 0.5
                          endcases $



                          (This is actually a terrible activation function for real neural nets since it's non-differentiable, but it makes the example clearer.)



                          Our model is:



                          $h_0 = f(1cdot a+1cdot b + 0)\
                          h_1 = f(0.5cdot a + 0.5cdot b + 0)\
                          ,;y = f(1cdot h_0 - 1cdot h_1 + 0)$



                          Each step of this essentially draws a hyperplane and evaluates to 1 if the input is on one side of the hyperplane and 0 otherwise. In this particular case, h_0 tells us if either a or b is true. h_1 tells us if they're both true, and y tells us if exactly one of them is true, which is the exact definition of the XOR function.



                          Our parameters are the coefficients and biases (the offset added at the end of each expression):



                          $ beginbmatrix
                          1 & 1 & 0 \
                          0.5 & 0.5 & 0 \
                          1 & 1 & 0 \
                          endbmatrix$



                          They can be stored in a file in any way we want; all that matters is that the code that stores them and the code that reads them back agree on the format.




                          Now let's solve the same problem using a decision tree. For these, we traverse a tree, and at every node, ask a question about the input to decide which child to visit next. Ideally, each question will divide the space of possibilities exactly in half. Once we reach a leaf node, we know our answer.



                          In this diagram, we visit the right child iff the expression is true.



                           a+b=2
                          /
                          a+b=0 0
                          /
                          0 1


                          In this case, the model and parameters are harder to separate. The only part of the model that isn't learned is "It's a tree". The expressions in each interior node, the structure of the tree, and the value of the leaf nodes are all learned parameters. As with the weights from the neural network, we can store these in any format we want to.




                          Both methods are learning the same problem, and actually find basically the same solution: a XOR b = (a OR b) AND NOT (a AND B). But the nature of the mathematical model we use depends on the method we choose, the parameters depend on what we train it on, the file format depends on the code we use to do it, and the line between model and parameter is fairly arbitrary; the math works out the same regardless of how we split it up. We could even write a program that tries different methods, and outputs a program that classifies inputs using the method that performed best. In this case, the model and parameters aren't separate at all.




                          1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                          I don't know of any pretrained models that specifically recognize birds, but I'm not in image-recognition, so that doesn't mean much. If you're not averse to training your own model (using existing code), I believe the ImageNet dataset includes birds. AlexNet and LeNet would probably be good starting points for the model. Most if not all of the the state of the art image recognition models are based on convolutional networks, so you'll need a decent GPU to run them.






                          share|improve this answer









                          $endgroup$




                          1. What are the trained models? are they algorithms or a collection of parameters in a file?



                          "Model" could refer to the algorithm with or without a set of trained parameters.
                          If you specify "trained model", the focus is on the parameters, but the algorithm is implicitly part of that, since without the algorithm, the parameters are just an arbitrary set of numbers.




                          1. What do they look like? e.g. file extensions



                          That very much depends on both the algorithm you're using and the specific implementation. A few simple examples might help clarify matters. Let's suppose that the problem we're trying to learn is the exclusive or (XOR) function:



                          a | b | a XOR b
                          --+---+---------
                          0 | 0 | 0
                          0 | 1 | 1
                          1 | 0 | 1
                          1 | 1 | 0



                          First, let's use a 2-layer neural net to learn it. We'll define our activation function to be a simple step function:



                          $ f(x) = begincases
                          1 & textif x > 0.5 \
                          0 & textif x le 0.5
                          endcases $



                          (This is actually a terrible activation function for real neural nets since it's non-differentiable, but it makes the example clearer.)



                          Our model is:



                          $h_0 = f(1cdot a+1cdot b + 0)\
                          h_1 = f(0.5cdot a + 0.5cdot b + 0)\
                          ,;y = f(1cdot h_0 - 1cdot h_1 + 0)$



                          Each step of this essentially draws a hyperplane and evaluates to 1 if the input is on one side of the hyperplane and 0 otherwise. In this particular case, h_0 tells us if either a or b is true. h_1 tells us if they're both true, and y tells us if exactly one of them is true, which is the exact definition of the XOR function.



                          Our parameters are the coefficients and biases (the offset added at the end of each expression):



                          $ beginbmatrix
                          1 & 1 & 0 \
                          0.5 & 0.5 & 0 \
                          1 & 1 & 0 \
                          endbmatrix$



                          They can be stored in a file in any way we want; all that matters is that the code that stores them and the code that reads them back agree on the format.




                          Now let's solve the same problem using a decision tree. For these, we traverse a tree, and at every node, ask a question about the input to decide which child to visit next. Ideally, each question will divide the space of possibilities exactly in half. Once we reach a leaf node, we know our answer.



                          In this diagram, we visit the right child iff the expression is true.



                           a+b=2
                          /
                          a+b=0 0
                          /
                          0 1


                          In this case, the model and parameters are harder to separate. The only part of the model that isn't learned is "It's a tree". The expressions in each interior node, the structure of the tree, and the value of the leaf nodes are all learned parameters. As with the weights from the neural network, we can store these in any format we want to.




                          Both methods are learning the same problem, and actually find basically the same solution: a XOR b = (a OR b) AND NOT (a AND B). But the nature of the mathematical model we use depends on the method we choose, the parameters depend on what we train it on, the file format depends on the code we use to do it, and the line between model and parameter is fairly arbitrary; the math works out the same regardless of how we split it up. We could even write a program that tries different methods, and outputs a program that classifies inputs using the method that performed best. In this case, the model and parameters aren't separate at all.




                          1. Especially, I want to find the trained models for detecting birds (the bird types do not matter). Are there any platforms for open-source/free online trained AI models??



                          I don't know of any pretrained models that specifically recognize birds, but I'm not in image-recognition, so that doesn't mean much. If you're not averse to training your own model (using existing code), I believe the ImageNet dataset includes birds. AlexNet and LeNet would probably be good starting points for the model. Most if not all of the the state of the art image recognition models are based on convolutional networks, so you'll need a decent GPU to run them.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Aug 16 at 17:46









                          RayRay

                          1665 bronze badges




                          1665 bronze badges






























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Artificial Intelligence 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%2fai.stackexchange.com%2fquestions%2f14001%2fwhat-is-the-thing-which-is-trained-in-ai-model-training%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

                              Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                              Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                              Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?