https://github.com/GlassyWing/gon_emb
Using fourier feature mapping Strengthen GON (《Gradient Origin Networks》)'s performance
https://github.com/GlassyWing/gon_emb
fourier-feature-network gon image-embedding implict siren
Last synced: 5 months ago
JSON representation
Using fourier feature mapping Strengthen GON (《Gradient Origin Networks》)'s performance
- Host: GitHub
- URL: https://github.com/GlassyWing/gon_emb
- Owner: GlassyWing
- License: apache-2.0
- Created: 2020-07-23T02:53:00.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-23T02:54:24.000Z (about 5 years ago)
- Last Synced: 2024-11-15T07:34:26.844Z (11 months ago)
- Topics: fourier-feature-network, gon, image-embedding, implict, siren
- Language: Python
- Homepage:
- Size: 825 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gon_emb
Using fourier feature mapping Strengthen GON (《Gradient Origin Networks》)'s performance
## Introduction
The origin GON could quickly learn a latent representation by introducing a second-order derivative and SIREN.It get a good performance on MNIST, but not good for Celeba:
| Recon for Celeba |
| :-----------------------: |
| |As shown in the figure above, the recon is very blurry, and it's very easy to cause gradient explosion.
Which can be considered that it cannot learn high-frequency functions.## Solution
As mentioned earlier, current models need a mechanism to learn high-frequency functions.
Fortunately, recently proposed [《Fourier Features Let Networks Learn
High Frequency Functions in Low Dimensional Domains》](https://arxiv.org/pdf/2006.10739.pdf) Just do it.Simply apply fourier mapping on coordinates, let's see the result:
| Recon for Celeba after apply fourier |
| :-----------------------: |
| |Wow! Considerable improvement!
## Conclusion
The appearance of SIREN makes it possible to calculate the second derivative,
so the emergence of GON is natural.
It's a good way to learning image embedding,
and could be used with Image retrieval, face recognition, and so on.
But calculation speed and memory footprint are still an issue.