-
Notifications
You must be signed in to change notification settings - Fork 168
EntGAN: A Distributed GAN Framework Baed on Multi-task #337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Welcome @nailtu30! It looks like this is your first PR to kubeedge/sedna 🎉 |
|
/ping @MooreZheng |
|
hi @nailtu30 ,you should remove the unnecessary system files, such as |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
docs/proposals/EntGAN.md
Outdated
| We will explain our ideas on system architecture and learning process. | ||
|
|
||
| ### System Architecture | ||
| As shown in the figure below, EntGAN has a set of execution modules and a set of control modules. The execution module performs GAN training tasks, including local generators and local discriminators on each worker, as well as global generator and global discriminator on the server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A critical weakpoint of this proposal is that the proposed architecture has not yet consider the integration of Sedna.
Especially what is the relation between the proposed modules and Sedna modules?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the new version, we see an integration, but there are still concerns about motivation.
See: #337 (comment)
docs/proposals/EntGAN.md
Outdated
|
|
||
| Generative adversarial networks(GAN) has been widely used to solve the challenges of small samples and heterogeneous data. In recent years, distributed GAN has expanded and accelerated the training of GAN. The existing distributed GANs aim to train a certain class of discriminators to generate a single kind of fake data. However, in real life, there are applications that need to train many kinds of discriminators at the same time, such as image conversion and robot inspection. | ||
|
|
||
| Therefore, we propose an enhanced GAN framework to help sole **multi-task** and **memory usage** problem. We call the framework EntGAN. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The motivation here is a little bit too abstract. What is the targeting scenario and dataset?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the new version, dataset is added in the proposal. But the story is still not yet strong enough considering limited edge resources or budgets. See #337 (comment)
docs/proposals/EntGAN.md
Outdated
| We deploy global generator and global discriminator on Global Controller and edge generator and edge discriminator on Local Controller. After updating local dicriminator, we use sedna lifelong learning to again update and enhance its parameter. | ||
|
|
||
|
|
||
| ### The flows of GAN job |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When edge resource is limited and expensive, leaving local discriminator and generator may not be cost-effective. The story itself is not strong enough. For tackling data heterogeneity, my suggestion is to integrate the proposed GAN to unseen task processing of Sedna lifelong learning, instead of proposing a new scheme.
|
The current proposal of GAN itself is fine as a algorithm, e.g., for lifelong learning. But a distributed GAN as a standalone scheme for Sedna like edge-cloud joint inference requires notrivial workloads on the module design. My suggestion is to make the proposal as two phases. Phase One focuses on pure algorithm GAN on lifelong learning using Ianvs. Phase Two focuses on intergating GAN into Sedna. |
|
Lack integration solution to Ianvs. In my opinion, the proposed GAN framework should be embeded into the training phase of Ianvs. |
|
|
||
| In the process of Sedna lifelong learning, there would be a chance to confront unknown tasks, whose data are always heterogeneous small sample. Generate Adversarial Networks(GAN) is the start-of-art generative model and GAN can generate fake data according to the distribution of the real data. Naturally, we try to utilize GAN to handle small sample problem. Self-taught learning is an approach to improve classfication performance using sparse coding to construct higher-level features with the unlabeled data. Hence, we combine GAN and self-taught learning to help Sedna lifelong learning handle unknown tasks. | ||
|
|
||
| ### Goals |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the previous discussion in #337 (comment)
The story is not yet completed
- How would we solve the small data problem in lifelong learning
0) lifelong learning limitation: lifelong learning tackles the small data issue by incrementally training with label data. But labeled data is labor-intensive and its collection is time-consuming.- The proposal reduces the time for data collection. We generate data by GAN instead of real-world data collection.
- The proposal reduces the intensive labor. We leveraged self-taught learning to eliminate the labeling job.
- it would be much improved with the targeting scenario and dataset added, i.e., semantic segmentation and Cityscape.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current version does not express the limitation of the current lifelong learning.
- The current lifelong learning is designed to tackle small sample problems.
- Why do we still need a GAN? GAN cannot generate labeled data so far. Why not just set a camera on a car and collect more data?
The author might want to consider adding a related story mentioned in https://github.com/kubeedge/sedna/pull/337/files#r997678113.
| ### GAN Design | ||
| We use the networks design by [TOWARDS FASTER AND STABILIZED GAN TRAINING FOR HIGH-FIDELITY FEW-SHOT IMAGE SYNTHESIS](https://openreview.net/forum?id=1Fqg133qRaI). The design is aimed for small training data and pour computing devices. Therefore, it is perfectly suitable for handling unkwnon tasks of Sedna lifelong learning. The network is shown below [GAN Desin](images/EntGAN%20GAN.png). | ||
|
|
||
|  |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The architecture is needed for the proposal. We see that the GAN is now put in the unseen task processing. It would be better to show the overall architecture to let the user know which scheme it belongs (i.e., lifelong learning), not only the unseen task processing component.
See previous comment: #337 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet resolved
| 1. GAN exploits the unknown task sample to generate more fake sample. | ||
| 2. Self-taught learning unit utilize the fake sample and orginal unknown task sample and its label to train a classifier. | ||
| 3. A well trained classifier is output. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the targeting scenario and dataset?
|
The proposal is overall good but
|
/kind feature
Fixes #336