kundtx / lfd2022-comments

0 stars 0 forks source link

Learning from Data (Fall 2022) #22

Open kundtx opened 1 year ago

kundtx commented 1 year ago

http://8.129.175.102/lfd2022fall-poster-session/14.html

yang2011 commented 1 year ago

(Instructor) Why do you choose Prototypical Network instead of other few-shot learning methods? (What is its advantage)

Prof-Greatfellow commented 1 year ago

G1 Haizhou Liu: Very good job on few-shot human activiy recognition! May I ask: 1) is the dataset collected by the authors? If not, what is the data source? 2) By few-shot, how few is it (can you provide a statistic)? Thanks!

zhongertiancai commented 1 year ago

@yang2011 (Instructor) Why do you choose Prototypical Network instead of other few-shot learning methods? (What is its advantage)

G14 Chaohao Yuan: Thanks for your question Prof.Li, this is a very good question. We have two considerations here:

  1. When we need to add a new class that only has few samples, we don't need to access to the original training dataset or fine-tune the neural network. These two advantages can be useful to real-world applications. For example, if the user has a activities classifier, he or she can feel free to add a new motion to let the classifier to identify. We have 3 advantages in this example: i). The system doesn't need to store original dataset, which might be memory-consuming. ii). The processing will be very fast and don't need expensive hardware, because we only need to find the prototype of the new class and don't need to finetune(train the neural network). iii). Prototype can solve few-shot learning in our setting, so the user only need to collect few data to define a new motion.
  2. When we do few-shot learning, fine-tuning may harm the accuracy to the orignal motion activities. When we use Prototypical Network, the only thing we need to do is calculate the prototypes of each class, and it would affected original classes less.

The initial goal of our project is to improve the accuracy of every classes. Thus, we was intended to add an additional continual learning after the Prototical Network, to improve the accuracy of few-shot classes and don't affect the accuracy of original classes as much as possible. However, we find that after the Prototype Network, the accuracy of few-shot classes is compatible to the accuracy of original classes. Thus, we consider we don't need another continual learning part anymore.

zhongertiancai commented 1 year ago

@Prof-Greatfellow G1 Haizhou Liu: Very good job on few-shot human activiy recognition! May I ask: 1) is the dataset collected by the authors? If not, what is the data source? 2) By few-shot, how few is it (can you provide a statistic)? Thanks!

G14 Chaohao Yuan: Thanks for your questions Haizhou!

  1. The dataset we used is given by staffs of this class. You can find it here.http://yangli-feasibility.com/home/classes/lfd2022fall/project_ideas.html
  2. For each few classes, we used 50 samples, since it's a dynamic motion. We should take samples get the temporal information. Thus, even if it's very common to do one-shot learning in tasks like CV, we consider we need little bit more samples in our setting. Another reason is that because our window length is 10, one sample even cannot do the preprocessing. Also, you can check the application I answer to Prof.Li. I think in that situation, we can get 50 samples easily.

If you have any further questions, please let me know.

yang2011 commented 1 year ago

@yang2011 (Instructor) Why do you choose Prototypical Network instead of other few-shot learning methods? (What is its advantage)

G14 Chaohao Yuan: Thanks for your question Prof.Li, this is a very good question. We have two considerations here:

  1. When we need to add a new class that only has few samples, we don't need to access to the original training dataset or fine-tune the neural network. These two advantages can be useful to real-world applications. For example, if the user has a activities classifier, he or she can feel free to add a new motion to let the classifier to identify. We have 3 advantages in this example: i). The system doesn't need to store original dataset, which might be memory-consuming. ii). The processing will be very fast and don't need expensive hardware, because we only need to find the prototype of the new class and don't need to finetune(train the neural network). iii). Prototype can solve few-shot learning in our setting, so the user only need to collect few data to define a new motion.
  2. When we do few-shot learning, fine-tuning may harm the accuracy to the orignal motion activities. When we use Prototypical Network, the only thing we need to do is calculate the prototypes of each class, and it would affected original classes less.

The initial goal of our project is to improve the accuracy of every classes. Thus, we was intended to add an additional continual learning after the Prototical Network, to improve the accuracy of few-shot classes and don't affect the accuracy of original classes as much as possible. However, we find that after the Prototype Network, the accuracy of few-shot classes is compatible to the accuracy of original classes. Thus, we consider we don't need another continual learning part anymore.

Thanks for the detailed answer.