SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2412.11521 · 2024

On the Ability of Deep Networks to Learn Symmetries from Data: A Neural Kernel Theory

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 13 functions out of this paper's own repositories and ran 0 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
andrea-perin/gpsymm canonical 0 of 13
FunctionStatusWhere it lives
clean_3d_ax Not yet run andrea-perin/gpsymm/toy_model.py
pointer only (licence: NONE) · get_code("0898c848918c24cf")
concat_interleave Not yet run andrea-perin/gpsymm/multiple_seeds.py
pointer only (licence: NONE) · get_code("3f316e7891ba93af")
get_accuracy Not yet run andrea-perin/gpsymm/fig1_data.py
pointer only (licence: NONE) · get_code("6a332e60f9de2df6")
get_data Not yet run andrea-perin/gpsymm/toy_model.py
pointer only (licence: NONE) · get_code("d84ad4a8e8e79bf4")
get_datasets Not yet run andrea-perin/gpsymm/fig1_data.py
pointer only (licence: NONE) · get_code("4be11eaa4df4a60d")
get_datasets Not yet run andrea-perin/gpsymm/groktest.py
pointer only (licence: NONE) · get_code("36d6f4ac12d38853")
get_deltasq Not yet run andrea-perin/gpsymm/cntk.py
pointer only (licence: NONE) · get_code("a96b39483c358815")
get_deltasq Not yet run andrea-perin/gpsymm/mlp_ntk.py
pointer only (licence: NONE) · get_code("45893237407af809")
get_projected_radius Not yet run andrea-perin/gpsymm/mlp_ntk.py
pointer only (licence: NONE) · get_code("037d500be599ab91")
kaiming_uniform_pytree Not yet run andrea-perin/gpsymm/m_classification.py
pointer only (licence: NONE) · get_code("e9b2a858f1ea102b")
loss Not yet run andrea-perin/gpsymm/mlp_trained.py
pointer only (licence: NONE) · get_code("7f1d2d2eaaff7f24")
set_seed_and_generator Not yet run andrea-perin/gpsymm/fig1_data.py
pointer only (licence: NONE) · get_code("45bd5b7e41a05327")
train_apply Not yet run andrea-perin/gpsymm/m_classification.py
pointer only (licence: NONE) · get_code("2f3600edc6e640ec")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Symmetries (transformations by group actions) are present in many datasets, and leveraging them holds considerable promise for improving predictions in machine learning. In this work, we aim to understand when and how deep networks -- with standard architectures trained in a standard, supervised way -- learn symmetries from data. Inspired by real-world scenarios, we study a classification paradigm where data symmetries are only partially observed during training: some classes include all transformations of a cyclic group, while others -- only a subset. In the infinite-width limit, where kernel analogies apply, we derive a neural kernel theory of symmetry learning. The group-cyclic nature of the dataset allows us to analyze the Gram matrix of neural kernels in the Fourier domain; here we find a simple characterization of the generalization error as a function of class separation (signal) and class-orbit density (noise). This characterization reveals that generalization can only be successful when the local structure of the data prevails over its non-local, symmetry-induced structure, in the kernel space defined by the architecture. We extend our theoretical treatment to any finite group, including non-abelian groups. Our framework also applies to equivariant architectures (e.g., CNNs), and recovers their success in the special case where the architecture matches the inherent symmetry of the data. Empirically, our theory reproduces the generalization failure of finite-width networks (MLP, CNN, ViT) trained on partially observed versions of rotated-MNIST. We conclude that conventional deep networks lack a mechanism to learn symmetries that have not been explicitly embedded in their architecture a priori. Our framework could be extended to guide the design of architectures and training procedures able to learn symmetries from data.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2412.11521")
get_code_for_paper("2412.11521")
have("2412.11521")

Connect an agent — have() is free.