Closed pratikchhapolika closed 2 years ago
The goal of few-shot learning is to learn new classes with only a few instances from each class. N-way-K-shot setting is a way to mimic the few-shot setting in episodic manner. So each episode (composed of one support set and one query set) can be considered as a few-shot learning task. For each episode, the model should learn from the support set and predict on the query set. The label of support set is always available (because the model should learn from it), but the label of query set is only available in training and is used for supervision and loss calculation.
train_5_5.json
means it contains training data for 5-way-5-shot setting. Each class has 5-10 instances in the support set, and there are 5 classes in one episode.
For more details regarding sampling and training setting, you can consult the paper [https://arxiv.org/pdf/2105.07464.pdf]
The goal of few-shot learning is to learn new classes with only a few instances from each class. N-way-K-shot setting is a way to mimic the few-shot setting in episodic manner. So each episode (composed of one support set and one query set) can be considered as a few-shot learning task. For each episode, the model should learn from the support set and predict on the query set. The label of support set is always available (because the model should learn from it), but the label of query set is only available in training and is used for supervision and loss calculation.
train_5_5.json
means it contains training data for 5-way-5-shot setting. Each class has 5-10 instances in the support set, and there are 5 classes in one episode.For more details regarding sampling and training setting, you can consult the paper [https://arxiv.org/pdf/2105.07464.pdf]
Thank you for quick response.
In the test data
also we have support
and query
and both have labels.
But in real scenario, we get only one instance of test-data, say sentence like I want to return this damaged product
. Then in this case how should I pass this to trained model?
@cyl628
The goal of few-shot learning is to learn new classes with only a few instances from each class. N-way-K-shot setting is a way to mimic the few-shot setting in episodic manner. So each episode (composed of one support set and one query set) can be considered as a few-shot learning task. For each episode, the model should learn from the support set and predict on the query set. The label of support set is always available (because the model should learn from it), but the label of query set is only available in training and is used for supervision and loss calculation.
train_5_5.json
means it contains training data for 5-way-5-shot setting. Each class has 5-10 instances in the support set, and there are 5 classes in one episode.For more details regarding sampling and training setting, you can consult the paper [https://arxiv.org/pdf/2105.07464.pdf]
Also, could you upload inference script to test on our own data-set, and it return the output tags along with metrics.
Inside
data/episode-data/inter/
I see lot of training, test and dev data. I may be asking few silly questions , please pardon.I was exploring
train_5_5.jsonl
. What doestrain_5_5.jsonl
signifies? Does it has to do anything withsupport
andquery
set?Here is one example:
I see
support
has14 sentences
andQuery
has15 sentences.
.So, this one example mentioned below : support and query is fed into model as single example? Support is used to train the model? Then why Query is used?? I am seeing this training data structure for the first time. Could you give me more insights in lay man terms how training happens?