SciML / SciML/NeuralOperators.jl

Implement Convolutional Neural Operator (CNO)

Open
#122 1 comment 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 CNO, which uses continuous convolutional layers with upsampling/downsampling to preserve the continuous nature of operators.

Reference

  • Raonic et al., "Convolutional Neural Operators for robust and accurate learning of PDEs," NeurIPS 2023. Paper

Description

CNO preserves the continuous nature of operators even in discretized form. Each layer consists of upsampling (V), convolution (K), and activation (σ), applied in a way that converges to the continuous operator as resolution increases. It also includes Fourier feature processing for inputs. The paper reports significantly better performance than FNO and DeepONet on multi-scale PDE benchmarks.

Key distinction from standard CNNs: CNO is designed so that increasing discretization resolution converges to the continuous operator, rather than just being a finite-dimensional approximation.

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

Start by reading the cited Raonic et al. paper and compare its CNO architecture with the issue description. Define the implementation scope around continuous convolutional layers, upsampling/downsampling, and Fourier feature processing; done means CNO is implemented in NeuralOperators.jl and its behavior can be checked against the paper's stated goals.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.