SciML / SciML/NeuralOperators.jl

Implement Factorized Fourier Neural Operator (FFNO)

Open
#105 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
41
Forks
15
Avg merge
13h 14m
Merged PRs (30d)
12

Description

Summary

Implement FFNO, which factorizes the spectral convolution along each spatial dimension independently, reducing model complexity by an order of magnitude.

Reference

  • Tran et al., "Factorized Fourier Neural Operators," ICLR 2023. arXiv:2111.13802

Description

FFNO applies spectral convolutions along each spatial dimension separately (rather than jointly), significantly reducing the number of parameters. It also uses improved residual connections and channel mixing. The paper reports 31-83% improvement over standard FNO across benchmarks with far fewer parameters.

The existing FourierTransform and OperatorConv in src/transform.jl and src/layers.jl provide a foundation. FFNO would require a new factorized variant of the spectral convolution where the transform and weight application are done dimension-by-dimension.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the FFNO paper and inspect FourierTransform and OperatorConv in src/transform.jl and src/layers.jl to understand the existing spectral-convolution interfaces. Implement and integrate a factorized variant that applies transforms and weights dimension by dimension, with the behavior and complexity described in the issue serving as the completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.