4
$\begingroup$

I am starting off with machine learning so could someone tell if there is some site where one can find the current best performing trained models for any specific problem like sentiment analysis or objection detection or any machine learning problem of that sort?

$\endgroup$
1
  • 2
    $\begingroup$ There is no thing as a best performing model for an arbitrary dataset, you have to test out and see, the data will tell you. There exist various benchmarks, in NLP for e.g you could look at the GLUE Benchmark and see which model currently has SoTa. $\endgroup$
    – Isbister
    Apr 14, 2020 at 17:56

4 Answers 4

1
$\begingroup$

I think there is a 2 step solution for what you are asking:

  1. Identifying the best performing models: paperswithcode is a website with the best performing models for different tasks and different datasets. For any specific task (e.g. sentiment analysis), you can go to the appropriate section in the site, and try to identify a benchmark dataset that is most similar to the scenario you are facing.

  2. Once you have identified the appropriate model, you may find pretrained weights for it in different places:

    • In the article associated with the model (which is linked in paperswithcode), the authors may specify that they have released models in a github repo or their lab's web page.
    • In framework-specific repositories, like Tensorflow Hub or Pytorch Hub, there may be released models.
    • In topic-specific libraries, like Huggingface Transformers for NLP, you may find the pretrained model.
$\endgroup$
0
$\begingroup$

It would be very convenient but I'm not aware of any such site.

Besides, it would be quite difficult to agree on what is the current best performing model in general, as this depends on the dataset, how it's been annotated and the evaluation method. Not to mention the multiplicity of languages, since a particular model is usually language specific. And of course it would be difficult to keep up with new methods and datasets being published constantly.

$\endgroup$
0
$\begingroup$

See https://www.tensorflow.org/hub and
https://pytorch.org/hub.

There you can find state of art pretrained models with weights.

$\endgroup$
0
$\begingroup$

I agree with Erwan. The main thing that you need to keep in mind is that training a statistical model concerns finding a set of "pseudo true parameters" (read: optimal values for relations in the model). To do this you need to define a criterion that you would like to minimize, for instance, the mean of squared errors of the model when it predicts the observations in the training sample. When using a different measure of accuracy (for instance mean absolute error), these values will be different even if the training sample grows infinitely large. We say that those are two sets of pseudo true limit parameters that minimize the limit MSE and MAE criterion respectively (there are many more options for a criterion depending on the problem). In that sense, there is no 'best model' all models fitted on a training sample are 'best' given their constraints and criterion function. Also, the train set is important. If you train a decision tree ensemble or neural network to recognize butterflies it will be useless in recognizing dogs. In the same way, if you train a time series model to predict volatility in one stock it may be useless in predicting volatility in another stock. If you have a specific task in mind though (for instance face recognition) and you don't want to spend a lot of time training a network, ashukid's suggestions seem interesting. Good luck with your future machine learning efforts!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.