[Few-shot learning][2.4] MAML: Model-Agnostic Meta-Learning

  Рет қаралды 21,291

Max Patacchiola

4 жыл бұрын

In this episode I am giving an overview of MAML (Model-Agnostic Meta-Learning) which has been introduced in 2017 at ICML. I provide a step-by-step explanation of the algorithm and an overview of the pytorch implementation. MAML is particularly interesting because it allows estimating a set of generic meta-parameters which can be rapidly adapted to solve specific tasks. This can be done in a fully differentiable way.
Paper: arxiv.org/pdf/1703.03400.pdf
GitHub (tensorflow): github.com/cbfinn/maml
GitHub (pytorch): github.com/tristandeleu/pytorch-meta/tree/master/examples/maml
____________________________________________________________________
My Blog: mpatacchiola.github.io/blog/
GitHub: github.com/mpatacchiola
Linkedin: www.linkedin.com/in/massimiliano-patacchiola-94579b140/
#machinelearning #deeplearning #metalearning #MAML #fewshotlearning #neuralnetworks

Пікірлер: 34
@MaxPatacchiola
@MaxPatacchiola 4 жыл бұрын
0:51 What does it means "Meta-Learning"? 2:26 Terminology and comparison with ProtoNets and RelationNets. 5:06 MAML properties, intuition, and mathematical overview 15:56 Overview of the algorithm (inner and outer losses) 20:26 Pytorch pseudocode with step-by-step algorithm analysis 25:26 MAML Pros and Cons
@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!!
@nikahosseini2244
@nikahosseini2244 Жыл бұрын
Thank you so much. No one could have explained better than you.
@taesiri
@taesiri 4 жыл бұрын
Your channel and videos are among the best channels and have very high standards, very clear explanation, and readable handwriting :-). Thank you for doing this. 🙏🏻👍🏻
@MaxPatacchiola
@MaxPatacchiola 4 жыл бұрын
Thank you, I'm glad you find it helpful!
@IsackFarady29
@IsackFarady29 4 жыл бұрын
Very clear explanation. It takes me to the next level of MAML.
@federicaf
@federicaf 4 жыл бұрын
Great video, very clear and well structured!
@shivapundir7105
@shivapundir7105 3 жыл бұрын
Amazing explanation in easy, layman-terms making it easy for undergraduates like me to understand. Thank You
@ivankukanov4699
@ivankukanov4699 6 ай бұрын
Thank you for your great work and high-quality content! Great Job! 👍 👏
@mohammedy.salemalihorbi1210
@mohammedy.salemalihorbi1210 2 жыл бұрын
Very nice explanation! Thanks a lot for these videos.
@psychicmario
@psychicmario 3 жыл бұрын
Thanks for the explanation and code provided. Excellent job Sir
@SeyedMajidkhorashadizadeh
@SeyedMajidkhorashadizadeh 3 жыл бұрын
It was clear and best explained. Thank you
@pingyu588
@pingyu588 3 жыл бұрын
Thanks. Learned a lot from your video
@vaaal88
@vaaal88 4 жыл бұрын
amazing content, thanks!
@Maximos80
@Maximos80 4 жыл бұрын
Very nice explanation! Looking forward to your next video! :-). In particular, I'm curious as to which variation of MAML do you find to be the best combination of performance and efficiency?
@MaxPatacchiola
@MaxPatacchiola 4 жыл бұрын
Hi Sam, already working on the next video, it should be out soon ;-) In terms of efficiency and performance probably MAML++ is the best choice, stay tuned!
@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 ).
@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!
@mominabbas125
@mominabbas125 2 жыл бұрын
Explained very well! (Y)
@danningzhao7361
@danningzhao7361 2 жыл бұрын
Thank you!
@bowenzhang4471
@bowenzhang4471 Жыл бұрын
BRAVO!
@miguelcaldasvillamizar730
@miguelcaldasvillamizar730 4 жыл бұрын
Thank you for the video. I am currently trying to do some experiments with MAML in different types of problems. However I wanted to ask you to clarify me one thing which I am not 100% sure I understood. These tasks are different prodlems with the same dimensions? For example, different datasets for time series classification problems, with the same amount of features. Given that if the tasks have different dimentions then the model could not be globalized for all tasks.
@MaxPatacchiola
@MaxPatacchiola 4 жыл бұрын
Generally we assume that tasks have the same input dimensionality, for instance the same image size in case of classification problems. However, if you are dealing with time series I am sure there is a way to adapt MAML to this specific setting, especially if you are using an LSTM. I am not familiar with the time series literature, so I cannot point you to any specific material, but I suggest you to search on Scholar for recent articles.
@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.
@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.
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 7 МЛН
1 or 2?🐄
00:12
Kan Andrey
Рет қаралды 27 МЛН
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 7 МЛН
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 7 МЛН