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;
$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!
machine-learning training models
$endgroup$
add a comment |
$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!
machine-learning training models
$endgroup$
add a comment |
$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!
machine-learning training models
$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
machine-learning training models
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
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$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.
- 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.
- 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.
- 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.
$endgroup$
add a comment |
$begingroup$
- 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.
- 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.
- 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.
$endgroup$
add a comment |
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
);
);
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%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
$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.
- 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.
- 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.
- 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.
$endgroup$
add a comment |
$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.
- 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.
- 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.
- 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.
$endgroup$
add a comment |
$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.
- 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.
- 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.
- 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.
$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.
- 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.
- 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.
- 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.
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
add a comment |
add a comment |
$begingroup$
- 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.
- 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.
- 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.
$endgroup$
add a comment |
$begingroup$
- 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.
- 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.
- 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.
$endgroup$
add a comment |
$begingroup$
- 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.
- 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.
- 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.
$endgroup$
- 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.
- 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.
- 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.
answered Aug 16 at 17:46
RayRay
1665 bronze badges
1665 bronze badges
add a comment |
add a comment |
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.
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%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
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