Answers.Body: <p>The model has learnt the "features" for the type of inputs, eg. faces. 
  For the problem to be called one-shot, it needs to also correctly classify/compare any new samples. For example, in face recognition application, any new person's images should also result a positive for their own image and negative for any other seen or unseen image.</p>
  
  <p>Since we are using euclidean distance of the final feature layer and not performing any final classification, we can say we are using the weights of a pretrained network and computing final value using that(distance), thus transfer learning. There is no backprop in this, but what you want to do with the embeddings, such as learning a threshold function can be considered learning.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-03-19T10:05:35.440Z
Answers.LastActivityDate: 2020-03-19T10:05:35.440Z
Answers.UserDisplayName: SajanGohil
Body: <p>I am working on classifying the <a href="https://github.com/brendenlake/omniglot" rel="nofollow noreferrer">Omniglot dataset</a>, and the different papers dealing with this topic describe the problem as <em>one-shot learning</em> (classification). I would like to nail down a precise description of what counts as <em>one-shot learning</em>.</p>
  <p>It's clear to me that in one-shot classification, a model tries to classify an input into one of <span class="math-container">$C$</span> classes by comparing it to exactly one example from each of the <span class="math-container">$C$</span> classes.</p>
  <p>What I want to understand is:</p>
  <ol>
  <li><p>Is it necessary that the model has never seen the input and the target examples before, for the problem to be called one-shot?</p>
  </li>
  <li><p>Goodfellow et. al. describe one-shot learning as an extreme case transfer learning where only one labeled example of the transfer task is <a href="http://www.deeplearningbook.org/contents/representation.html" rel="nofollow noreferrer">presented</a>. So, it means they are considering the training process as a kind of continuous transfer learning? What has the model learned earlier, that is being transferred?</p>
  </li>
  </ol>
  
Tags: <terminology><definitions><transfer-learning><one-shot-learning>
Title: Precise description of one-shot learning
UserDisplayName: farhanhubble
ThreadText: # Precise description of one-shot learning
  
  (Asked by: username_0 on 2019-10-29)
  
  I am working on classifying the [Omniglot dataset](https://github.com/brendenlake/omniglot), and the different papers dealing with this topic describe the problem as *one-shot learning* (classification). I would like to nail down a precise description of what counts as *one-shot learning*.
  
  It's clear to me that in one-shot classification, a model tries to classify an input into one of $C$ classes by comparing it to exactly one example from each of the $C$ classes.
  
  What I want to understand is:
  
  1. Is it necessary that the model has never seen the input and the target examples before, for the problem to be called one-shot?
  2. Goodfellow et. al. describe one-shot learning as an extreme case transfer learning where only one labeled example of the transfer task is [presented](http://www.deeplearningbook.org/contents/representation.html). So, it means they are considering the training process as a kind of continuous transfer learning? What has the model learned earlier, that is being transferred?
  
  **Tags:** terminology, definitions, transfer-learning, one-shot-learning
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-03-19. Score: 1
  
  The model has learnt the "features" for the type of inputs, eg. faces.
  For the problem to be called one-shot, it needs to also correctly classify/compare any new samples. For example, in face recognition application, any new person's images should also result a positive for their own image and negative for any other seen or unseen image.
  
  Since we are using euclidean distance of the final feature layer and not performing any final classification, we can say we are using the weights of a pretrained network and computing final value using that(distance), thus transfer learning. There is no backprop in this, but what you want to do with the embeddings, such as learning a threshold function can be considered learning.
  
  
  ---
  
  