[Few-shot learning][1.1] datasets
12:59
Hexapod Robot- First Test
0:13
8 жыл бұрын
Пікірлер
@noumanijaz5353
@noumanijaz5353 2 ай бұрын
Thanks for the great explanation. question : if we are doing episodic training and creating a large number of few-shot task to train the prototypical network so it mean it also require a large amount of labeled data .how we can say that few-shot learning need less amount of labeled data ? Please guide
@etaifour2
@etaifour2 4 ай бұрын
I watched over 10 videos trying to get through this.. I understood MAML the moment you describes the two parameters update equations clearly..thank you!!
@ivankukanov4699
@ivankukanov4699 6 ай бұрын
Thank you for your great work and high-quality content! Great Job! 👍 👏
@aron2922
@aron2922 7 ай бұрын
None of them are intuitive results haha
@gadmuhirwa5226
@gadmuhirwa5226 11 ай бұрын
Thank you so much
@megatronixx
@megatronixx 11 ай бұрын
cant get work with another image, this one just works with monroe.
@MaxPatacchiola
@MaxPatacchiola 11 ай бұрын
You need a saturated black and white image
@tejasanvekar7367
@tejasanvekar7367 Жыл бұрын
Thank you so much for the video and few shot series Helped me publish a paper
@quentinmunch3700
@quentinmunch3700 Жыл бұрын
Do you use the Deep Gaze library for the tracking and the recognition ? Or is it only PyERA ?
@shafinmahmud2925
@shafinmahmud2925 Жыл бұрын
Hello @Massimiliano, I am working on a project where I have 3 classes with total of 2000 samples (1000 for training, 400 for validation, 600 for test), as you've mentioned in the example of MINIST, can I still use few shot learning in my data? can you give me a brief overview regarding that? Thanks in advance.
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
Hi there, I do not think this is a few-shot setting as you have just a single task. You need a distribution over many tasks. What you can do is to use fine-tuning, meaning pretraining your neural network on a larger (possibly related) set of data and then fine tune on your target data. See methods like Big Transfer for an idea of how to do it in practice.
@manikantabandla3923
@manikantabandla3923 Жыл бұрын
Thanks for such a clear explanation. What broad tasks is MAML capable of adapting after training? 1) Suppose MAML trained on Omniglot dataset in few shot setting. -- Can it adapt to MNIST digit recognition. 2) Suppose MAML trained on MiniImageNet in few shot setting. -- Can it adapt to Imagenet dataset classification? I can get idea an idea of Few shot learning by answering the above questions. Thank you in advance.
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
Yes, MAML should be able to adapt to these new datasets as they are not so different from the (meta)training distribution. However, recent work showed that pretraining a ResNet on ImageNet it is a good starting point for adaptation to many different datasets (via dfine-tuning). Give a look at the BiT paper for more details ( arxiv.org/abs/1912.11370 ). If adaptation time is a crucial requirement in your work, then BiT may not be a good choice, and a hybrid approach may be better. Check out my recent paper about CaSE layers for additional details ( arxiv.org/abs/2206.09843 ).
@manikantabandla3923
@manikantabandla3923 Жыл бұрын
Suppose I have a training dataset of 1000 classes of birds. Can I use the protypical trained network on the birds dataset and classify the medical image dataset. This natural question came to me after looking at partioning of 6492 classes of Omniglot dataset as Train - 4112 Val - 688 Test - 1692 i.e we are testing and validating our trained model on some unseen classes.
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
It's not going to work very well because the two set of data are substantially different. You need to train on a larger variety of classes in order to generalize to medical images. Training on something like Meta-Dataset may be better.
@manikantabandla3923
@manikantabandla3923 Жыл бұрын
Thanks for the explanation. Say our dataset has 1000 classes. Suppose we are training protypical network in a fashion of 5-way and 3-short episodes. Suppose our test set episodes are also of the same configuration. I'm not getting how we can classify a single image as one among 1000 classes after training?
@ledinhngoc1102
@ledinhngoc1102 Жыл бұрын
Hello, What if I just have one sample per class so I can't divide into support and query set?
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
There may be different solutions here. 1) You could use image augmentation to produce the query set. 2) Alternatively, you can train a backbone on a large dataset via supervised or self-supervised learning, then directly use that backbone at evaluation time as a prototypical network (remove the last linear layer and use the embeddings in the penultimate layer to build the prototypes).
@hakankosebas2085
@hakankosebas2085 Жыл бұрын
need tutorial for dummies, need this to additional game control with head
@nikahosseini2244
@nikahosseini2244 Жыл бұрын
Thank you so much. No one could have explained better than you.
@amlhassan2739
@amlhassan2739 Жыл бұрын
Great video, Thank you very much :)
@alessandroguazzo5692
@alessandroguazzo5692 Жыл бұрын
Spiegazione eccellente! Ne approfitto per dirti che sto svolgendo un lavoro di tesi utilizzando proprio una prototypical network ma ho ancora tanti dubbi. E' possibile ad esempio utilizzare al posto di immagini dei numpy di dimensione (N,78)? Se si come dovrei modificare la rete?
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
Grazie Alessandro. Se vuoi utilizzare vettori come input invece che immagini, allora devi usare una rete feedforward (MLP) invece di una CNN. Il resto rimane uguale.
@alessandroguazzo5692
@alessandroguazzo5692 Жыл бұрын
@@MaxPatacchiola Hai per caso qualche riferimento da cui posso prendere spunto?
@linachato5817
@linachato5817 Жыл бұрын
This is the best explanation 👏 thank you so much. Like and subscribe!
@hadarhe
@hadarhe Жыл бұрын
Your videos helped me so much. Thank you!!
@bowenzhang4471
@bowenzhang4471 Жыл бұрын
BRAVO!
@alidinmohammadi2150
@alidinmohammadi2150 Жыл бұрын
Hi. Thank you for your good explanation. About 2 years have passed since the publication of this tutorial. Is there a complete book and tutorial with subtitles?
@MaxPatacchiola
@MaxPatacchiola Жыл бұрын
Hi there, thank you for reaching out. There is no book or tutorial with subtitles. I was doing this in my spare time and now I am too busy to publish new material. At the moment I am offering private courses in 1-to-1 online sessions. I found this to be optimal for the student since the material can be adapted on the student's prior knowledge. If you are interested in something like this send me a message, you can find my contacts on my personal website: mpatacchiola.github.io
@alidinmohammadi2150
@alidinmohammadi2150 Жыл бұрын
@@MaxPatacchiola I am from Iran. I am a master's student in artificial intelligence. My English is weak. I can't pay because my country is embargoed. Please introduce a video with English subtitles or a book like "Hands-On Deep Learning Algorithms with Python", there are few shot learning in this field. Thank you for your kindness. Unfortunately, there were limited resources.🙏🙏
@shazzadhasan4067
@shazzadhasan4067 2 жыл бұрын
Thank you. I am reading a FSCIL paper, they used a relational network at the final stage, I am struggling to understand how the relational net works, I learned very easily from this video.
@S0ULTrinker
@S0ULTrinker 2 жыл бұрын
Great video! I have only one question... You get a loss for Theta2 and backpropagate- how is this loss related to Theta1? I don't see how loss flows from Theta2 to Theta1 :( Thank you!
@danningzhao7361
@danningzhao7361 2 жыл бұрын
Thank you!
@MrSupermonkeyman34
@MrSupermonkeyman34 2 жыл бұрын
I have a question about the loss. When the negative log a don't understand the purpose of the second term? The first term clearly represents the distance to the correct protoype which we obviously want to minimize but I don't really understand what the second term represents and why it woudn't be better to simply just have the first term
@hiuwang1565
@hiuwang1565 2 жыл бұрын
I guess it doesn't matter if I don't add a negative sign to the distance formula
@MaxPatacchiola
@MaxPatacchiola 2 жыл бұрын
It depends from the implementation. Typically there is a distance metric defined as a function used as part of a loss. The sign inside the distance function should agree with the minimisation objective in the loss. In other words, when the loss is minimised the distance between vectors of the same class should diminish. As a sanity check you can define two vectors and see if the distance diminish as they get closer to each other.
@hiuwang1565
@hiuwang1565 2 жыл бұрын
@@MaxPatacchiola Got it!!! Thanks a lot!
@hadjdaoudmomo9534
@hadjdaoudmomo9534 2 жыл бұрын
Thank you for the wonderful explanation. A question please, What are the suitable domain applications of RN? can it be applied on spectrogram images for speech emotion recognition?
@MaxPatacchiola
@MaxPatacchiola 2 жыл бұрын
Glad you liked the video. I am not familiar with the particular application you are mentioning. I have worked mainly on image classification with RN. I suggest you to search on Google Scholar for papers like that.
@hadjdaoudmomo9534
@hadjdaoudmomo9534 2 жыл бұрын
@@MaxPatacchiola Thank you🙏
@hiteshbalapanuru7348
@hiteshbalapanuru7348 2 жыл бұрын
How is the weight update rule different from mini-batch gradient descent?
@JONK4635
@JONK4635 2 жыл бұрын
Ciao Massimiliano, Grazie di cuore per il video, davvero spiegato benissimo, finalmente ho capito MAML (ho background hardware)
@MaxPatacchiola
@MaxPatacchiola 2 жыл бұрын
Grazie Nazareno, sono contento che i video ti siano stati di aiuto!
@No_noifuw
@No_noifuw 2 жыл бұрын
Thank you for this amazing video, I have a question, which one of the metric learning approach is better for medical image and why? Thanks again
@tanmaypawar1576
@tanmaypawar1576 2 жыл бұрын
How can i do it for multiple person?
@deoabhijit5935
@deoabhijit5935 2 жыл бұрын
wow thanks
@mominabbas125
@mominabbas125 2 жыл бұрын
Explained very well! (Y)
@mohammedy.salemalihorbi1210
@mohammedy.salemalihorbi1210 2 жыл бұрын
Very nice explanation! Thanks a lot for these videos.
@maxpietracupa7671
@maxpietracupa7671 2 жыл бұрын
Ciao Massimiliano, just wanted to say these videos are fantastic, keep up the great work
@mohammedy.salemalihorbi1210
@mohammedy.salemalihorbi1210 2 жыл бұрын
Great! lesson. Thanks a lot
@No_noifuw
@No_noifuw 2 жыл бұрын
can we use few-shot learning with dataset that include only one class?
@MaxPatacchiola
@MaxPatacchiola 2 жыл бұрын
What do you mean with "one class"? A binary classification problem or a regression problem?
@No_noifuw
@No_noifuw 2 жыл бұрын
@@MaxPatacchiola binary classification problem. I want to use few-shot learning with stroke brain dataset (ISLES 2017). it includes only two classes (ischemic or not) with few samples. In few-shot learning, we train the model to recognize a novel class. In my case, I have only two classes in training and testing dataset. How can I use few-shot learning in this case. Thank you
@No_noifuw
@No_noifuw 2 жыл бұрын
two-ways many-shots
@MaxPatacchiola
@MaxPatacchiola 2 жыл бұрын
@@No_noifuw in this case there is no problem, you can apply few-shot learning methods. However, if you want to perform some sort of meta-learning training you need many small datasets from different distributions. The number of data points in a single dataset is small but you should have many of those datasets in order to learn something meaningful. Another solution in you case could be to train with standard supervised learning in a very large dataset that is close to your target data. Then in a second phase just fine-tune your model on the small dataset.
@No_noifuw
@No_noifuw 2 жыл бұрын
@@MaxPatacchiola Thank you so much I really appreciate your help
@sandhyaranidash2429
@sandhyaranidash2429 2 жыл бұрын
Thank you so much for this video. I am new to RNs and this is the first paper I was reading. Your video filled all gaps in my understanding. Thank you again.
@trolleyproblem4318
@trolleyproblem4318 2 жыл бұрын
Can you compare with k-means?
@psychicmario
@psychicmario 3 жыл бұрын
Thanks for the explanation and code provided. Excellent job Sir
@bibiworm
@bibiworm 3 жыл бұрын
So in transfer learning, we don’t purposely differentiate support set and query set?
@MaxPatacchiola
@MaxPatacchiola 3 жыл бұрын
Exactly
@bibiworm
@bibiworm 3 жыл бұрын
@@MaxPatacchiola thank you so much! Your series of lecture on few shot learning is awesome!
@byrdofafeather3184
@byrdofafeather3184 3 жыл бұрын
Excellent video
@munirs90
@munirs90 3 жыл бұрын
Great explanation. I appreciate the efforts. One confusion is that is base model also trained in prototypical fashion or like merged support and query set? Analogy with the transfer learning mechanism.
@mikecooper8142
@mikecooper8142 3 жыл бұрын
Hello, it a great tutorial. would you mind sharing the slides?
@siddharthshrivastava5823
@siddharthshrivastava5823 3 жыл бұрын
Awesome!
@krzysztofmajchrzak1881
@krzysztofmajchrzak1881 3 жыл бұрын
Is it possible to use pretrained maml model to classificate one image at a time? I mean I want to put one image through pretrained MAML model and get the answer what class it belongs to? I am sorry for so many questions but I am working on uni project about few shot learning and I can't find any valuable information about this way of using MAML algorithm. Anyway thank You in advance for OYur reply
@MaxPatacchiola
@MaxPatacchiola 3 жыл бұрын
Hi there! At test time yes, you can do the forward pass on a single image. You need a mini-batch when you are training the network, or part of it.
@jayanayana
@jayanayana 3 жыл бұрын
very cool presentation. Can we get video similar to relational networks in which you explain your loss function
@pingyu588
@pingyu588 3 жыл бұрын
Thanks. Learned a lot from your video
@krzysztofmajchrzak1881
@krzysztofmajchrzak1881 3 жыл бұрын
Hi! Great work! I have a question. I created YOLO algorithm and have already pre-trained model of it. How can I connect YOLO with MAML? In your pseudocode, the model is a pretrained set of weights or a neuralnetwork? Thank You in advance for your reply!
@krzysztofmajchrzak1881
@krzysztofmajchrzak1881 3 жыл бұрын
I mean, when I have pretrained model, how can i adjust it to detect certain objects, using maml, and only limited amount of examples?
@MaxPatacchiola
@MaxPatacchiola 3 жыл бұрын
Hi there, object detection is not the usual setting where MAML has been applied. You should check in the literature if there has been any adaptation in this direction. One solution could be to use the pretrained net as a backbone and then use MAML to adapt the last layer. Take this with a pinch of salt, I'm not familiar enough with object detection to give a more specific advice.
@krzysztofmajchrzak1881
@krzysztofmajchrzak1881 3 жыл бұрын
@@MaxPatacchiola do You mean the fully connected one?
@krzysztofmajchrzak1881
@krzysztofmajchrzak1881 3 жыл бұрын
@@MaxPatacchiola and what is the difference? In the video You say that we use specific model, which is my pretrained YOLO model and I cannot see why i can’t use it the way You explain. There is very little about it in literature so i can’t find any specific working implementations 😅
@MaxPatacchiola
@MaxPatacchiola 3 жыл бұрын
@@krzysztofmajchrzak1881 Yes you can apply MAML in the fully connected layer. It will be less flexible than applying it on the whole model but it should still work. The problem you may have on using it with YOLO is that you still need to find a way to define tasks (support + query) to train the last layer. You will need to adapt an object detection dataset to do that. As I said, I am not too familiar with the object detection literature and I do not know if there is anything you can use.
@donglinwang5874
@donglinwang5874 3 жыл бұрын
Didn't even finish the first minute before I liked. Keep up the good work. I would love see more series from you on other topics such as Explainable AI, Federated Learning, etc.