Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tancik/fourier-feature-networks
Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains
https://github.com/tancik/fourier-feature-networks
Last synced: 14 days ago
JSON representation
Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains
- Host: GitHub
- URL: https://github.com/tancik/fourier-feature-networks
- Owner: tancik
- License: mit
- Created: 2020-06-16T23:54:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-17T21:33:18.000Z (almost 2 years ago)
- Last Synced: 2024-10-23T06:14:37.917Z (21 days ago)
- Language: Jupyter Notebook
- Homepage: https://people.eecs.berkeley.edu/~bmild/fourfeat/
- Size: 12.3 MB
- Stars: 1,252
- Watchers: 24
- Forks: 133
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains
### [Project Page](https://bmild.github.io/fourfeat/) | [Paper](https://arxiv.org/abs/2006.10739)
[![Open Demo in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tancik/fourier-feature-networks/blob/master/Demo.ipynb)[Matthew Tancik](http://tancik.com/)\*1,
[Pratul P. Srinivasan](https://people.eecs.berkeley.edu/~pratul/)\*1,2,
[Ben Mildenhall](https://people.eecs.berkeley.edu/~bmild/)\*1,
[Sara Fridovich-Keil](https://people.eecs.berkeley.edu/~sfk/)1,
[Nithin Raghavan](https://www.linkedin.com/in/nithinraghavan/)1,
[Utkarsh Singhal](https://scholar.google.com/citations?user=lvA86MYAAAAJ&hl=en)1,
[Ravi Ramamoorthi](http://cseweb.ucsd.edu/~ravir/)3,
[Jonathan T. Barron](http://jonbarron.info/)2,
[Ren Ng](https://www2.eecs.berkeley.edu/Faculty/Homepages/yirenng.html)11UC Berkeley, 2Google Research, 3UC San Diego
*denotes equal contribution## Abstract
![Teaser Image](https://user-images.githubusercontent.com/3310961/84946597-cdf59800-b09d-11ea-8f0a-e8aaeee77829.png)We show that passing input points through a simple Fourier feature mapping enables a multilayer perceptron (MLP) to learn high-frequency functions in low-dimensional problem domains. These results shed light on recent advances in computer vision and graphics that achieve state-of-the-art results by using MLPs to represent complex 3D objects and scenes. Using tools from the neural tangent kernel (NTK) literature, we show that a standard MLP fails to learn high frequencies both in theory and in practice. To overcome this spectral bias, we use a Fourier feature mapping to transform the effective NTK into a stationary kernel with a tunable bandwidth. We suggest an approach for selecting problem-specific Fourier features that greatly improves the performance of MLPs for low-dimensional regression tasks relevant to the computer vision and graphics communities.
## Code
We provide a [demo IPython notebook](https://colab.research.google.com/github/tancik/fourier-feature-networks/blob/master/Demo.ipynb) as a simple reference for the core idea. The scripts used to generate the paper plots and tables are located in the [Experiments](https://github.com/tancik/fourier-feature-networks/tree/master/Experiments) directory.