Papers › Alias-Free Generative Adversarial Networks

Alias-Free Generative Adversarial Networks

23 Jun 2021NeurIPS 2021 12arXiv:2106.12423archive 2025-07-28

Tero Karras, Miika Aittala, Samuli Laine, Erik Härkönen, Janne Hellsten, Jaakko Lehtinen, Timo Aila

We observe that despite their hierarchical convolutional nature, the synthesis process of typical generative adversarial networks depends on absolute pixel coordinates in an unhealthy manner. This manifests itself as, e.g., detail appearing to be glued to image coordinates instead of the surfaces of depicted objects. We trace the root cause to careless signal processing that causes aliasing in the generator network. Interpreting all signals in the network as continuous, we derive generally applicable, small architectural changes that guarantee that unwanted information cannot leak into the hierarchical synthesis process. The resulting networks match the FID of StyleGAN2 but differ dramatically in their internal representations, and they are fully equivariant to translation and rotation even at subpixel scales. Our results pave the way for generative models better suited for video and animation.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2106.12423")

Code

Syntology Ran 18 of 31 code samples harvested from 5 repositories linked to this paper; 13 have no recorded run. Of those that ran: 4 ran · honoured contract; 4 ran · violated contract; 6 ran · our draft was wrong; 2 ran · fixture could not drive it; 2 ran with no contract checked.

By repository: official repository: 3 samples from 1 repository, 3 ran; community (archive-listed): 25 samples from 4 repositories, 12 ran; 3 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

NVlabs/stylegan3 officialmentioned in paperpytorchNOASSERTION report
duskvirkus/alias-free-gan mentioned on GitHubpytorch report
duskvirkus/alias-free-gan-pytorch-lightning mentioned on GitHubpytorchMIT report
jychoi118/toward_spatial_unbiased mentioned on GitHubpytorchApache-2.0 report
kunheek/style-aware-discriminator mentioned on GitHubpytorchMIT report
lzhbrian/alias-free-gan-explanation mentioned on GitHubpytorchCC-BY-4.0 report
rosinality/alias-free-gan-pytorch mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

31 samples harvested; 18 ran; 4 honoured the contract we drafted; 13 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

4ran · honoured contract
4ran · violated contract
6ran · our draft was wrong
2ran · fixture could not drive it
2ran
13unverified

Licence: 9 of the 31 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 5 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

make_transform NVlabs/stylegan3/gen_images.py official repository ran · fixture could not drive it fingerprinted no licence file found · pointer only · f47dff4b7b27bba7 · report
parse_range NVlabs/stylegan3/gen_images.py official repository ran · honoured contract no licence file found · pointer only · 236de8614a178382 · report
parse_vec2 NVlabs/stylegan3/gen_images.py official repository ran · honoured contract no licence file found · pointer only · 180016b9227381b1 · report
bessel_j1 rosinality/alias-free-gan-pytorch/model.py community (archive-listed) ran · violated contract fingerprinted licence not identified · pointer only · b58d3b11ff0cc149 · report
calc_fid jychoi118/toward_spatial_unbiased/fid.py community (archive-listed) ran · fixture could not drive it fingerprinted Apache-2.0 (permissive) · e6c1de4697e7ed81 · report
convert_conv duskvirkus/alias-free-gan-pytorch-lightning/src/stylegan2/convert_weight.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 7fe245a7216ae67b · report
convert_modconv duskvirkus/alias-free-gan-pytorch-lightning/src/stylegan2/convert_weight.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 1c7cd5abc48bcf75 · report
convert_torgb duskvirkus/alias-free-gan-pytorch-lightning/src/stylegan2/convert_weight.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 96b279b9ef818d94 · report
jinc rosinality/alias-free-gan-pytorch/model.py community (archive-listed) ran · violated contract fingerprinted licence not identified · pointer only · 9304485d0453d3ee · report
make_kernel jychoi118/toward_spatial_unbiased/model.py community (archive-listed) ran · violated contract Apache-2.0 (permissive) · 6f65e378a4313f87 · report
modify_trainer_args duskvirkus/alias-free-gan/scripts/trainer.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 31ff2b007122fb75 · report
polyval rosinality/alias-free-gan-pytorch/model.py community (archive-listed) ran · violated contract licence not identified · pointer only · 291fe80bafadc878 · report
reduce_sum jychoi118/toward_spatial_unbiased/distributed.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 3f0a1105ef251d78 · report
spatial_average jychoi118/toward_spatial_unbiased/lpips/networks_basic.py community (archive-listed) ran · our draft was wrong fingerprinted Apache-2.0 (permissive) · 29e5e72bcd006dcd · report
upsample jychoi118/toward_spatial_unbiased/lpips/networks_basic.py community (archive-listed) ran fingerprinted Apache-2.0 (permissive) · 351677a36e1961df · report
all_gather jychoi118/toward_spatial_unbiased/distributed.py community (archive-listed) unverified Apache-2.0 (permissive) · ed03ba54397adbe4 · report
conv2d duskvirkus/alias-free-gan-pytorch-lightning/src/op/conv2d_gradfix.py community (archive-listed) unverified MIT (permissive) · 33307a851a380335 · report
conv_transpose2d duskvirkus/alias-free-gan-pytorch-lightning/src/op/conv2d_gradfix.py community (archive-listed) unverified MIT (permissive) · 56fcae2de1d87fea · report
could_use_op duskvirkus/alias-free-gan-pytorch-lightning/src/op/conv2d_gradfix.py community (archive-listed) unverified MIT (permissive) · 5ded1499a636f8df · report
extract_feature_from_samples jychoi118/toward_spatial_unbiased/fid.py community (archive-listed) unverified Apache-2.0 (permissive) · 7284618ab4d5847d · report
extract_features duskvirkus/alias-free-gan-pytorch-lightning/src/stylegan2/calc_inception.py community (archive-listed) unverified MIT (permissive) · 826a4bfd8b5cb2fc · report
fused_leaky_relu duskvirkus/alias-free-gan-pytorch-lightning/src/op/fused_act.py community (archive-listed) unverified MIT (permissive) · 32b6b8c3da3b63a5 · report
get_fake_dataloader duskvirkus/alias-free-gan-pytorch-lightning/src/fake_dataloader.py community (archive-listed) unverified MIT (permissive) · 735948d2fa2e4804 · report
reduce_loss_dict jychoi118/toward_spatial_unbiased/distributed.py community (archive-listed) unverified Apache-2.0 (permissive) · 5144ad456049f8ce · report
score_2afc_dataset jychoi118/toward_spatial_unbiased/lpips/dist_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 514dd3c0eee3691c · report
score_jnd_dataset jychoi118/toward_spatial_unbiased/lpips/dist_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 581c80d602289d6d · report
upfirdn2d duskvirkus/alias-free-gan-pytorch-lightning/src/op/upfirdn2d.py community (archive-listed) unverified MIT (permissive) · 9a9da3c9a6567e66 · report
upfirdn2d_native duskvirkus/alias-free-gan-pytorch-lightning/src/op/upfirdn2d.py community (archive-listed) unverified MIT (permissive) · 8d96ce3cd54bd3fb · report
get_lr identical code first harvested elsewhere ran · honoured contract fingerprinted licence of this copy not recorded · ea6c82ed6a138df9 · report
latent_noise identical code first harvested elsewhere ran · our draft was wrong fingerprinted licence of this copy not recorded · a73e1d557a70850c · report
noise_regularize identical code first harvested elsewhere ran · honoured contract licence of this copy not recorded · ba1ee6c930acf688 · report

Tasks

Image Generation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Generation AFHQV2 Alias-Free-T EQ-R 13.51 #2 of 7 Archive leaderboard report
Image Generation AFHQV2 Alias-Free-T EQ-T 60.15 #2 of 7 Archive leaderboard report
Image Generation AFHQV2 Alias-Free-T FID 4.04 #2 of 7 Archive leaderboard report
Image Generation AFHQV2 Alias-Free-R EQ-R 40.34 #3 of 7 Archive leaderboard report
Image Generation AFHQV2 Alias-Free-R EQ-T 64.89 #3 of 7 Archive leaderboard report
Image Generation AFHQV2 Alias-Free-R FID 4.40 #3 of 7 Archive leaderboard report
Image Generation AFHQV2 StyleGAN2 EQ-R 11.50 #4 of 7 Archive leaderboard report
Image Generation AFHQV2 StyleGAN2 EQ-T 13.83 #4 of 7 Archive leaderboard report
Image Generation AFHQV2 StyleGAN2 FID 4.62 #4 of 7 Archive leaderboard report
Image Generation FFHQ 1024 x 1024 StyleGAN3-T FID 2.79 #5 of 20 Archive leaderboard report
Image Generation FFHQ 1024 x 1024 StyleGAN3-R FID 3.07 #8 of 20 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-R EQ-R 47.64 #1 of 13 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-R EQ-T 64.78 #1 of 13 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-R FID 3.66 #1 of 13 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-T EQ-R 13.95 #2 of 13 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-T EQ-T 61.69 #2 of 13 Archive leaderboard report
Image Generation FFHQ-U Alias-Free-T FID 3.67 #2 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 (70000 img, 1024^2, train from scratch) EQ-R 10.79 #3 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 (70000 img, 1024^2, train from scratch) EQ-T 15.89 #3 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 (70000 img, 1024^2, train from scratch) FID 3.79 #3 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Rotation equiv. (Alias-Free-R) EQ-R 40.48 #4 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Rotation equiv. (Alias-Free-R) EQ-T 66.65 #4 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Rotation equiv. (Alias-Free-R) FID 4.50 #4 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + No noise inputs EQ-R 10.84 #5 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + No noise inputs EQ-T 15.81 #5 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + No noise inputs FID 4.54 #5 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Flexible layers (Alias-Free-T) EQ-R 13.12 #6 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Flexible layers (Alias-Free-T) EQ-T 63.01 #6 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Flexible layers (Alias-Free-T) FID 4.62 #6 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Transformed Fourier features EQ-R 10.61 #7 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Transformed Fourier features EQ-T 45.20 #7 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Transformed Fourier features FID 4.64 #7 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Non-critical sampling EQ-R 10.84 #8 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Non-critical sampling EQ-T 43.90 #8 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Non-critical sampling FID 4.78 #8 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Fourier features EQ-R 10.81 #9 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Fourier features EQ-T 16.23 #9 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Fourier features FID 4.79 #9 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 FID 5.14 #10 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Simplified generator EQ-R 10.41 #11 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Simplified generator EQ-T 19.47 #11 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Simplified generator FID 5.21 #11 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Boundaries & upsampling EQ-R 10.97 #12 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Boundaries & upsampling EQ-T 24.62 #12 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Boundaries & upsampling FID 6.02 #12 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Filtered nonlinearities EQ-R 10.81 #13 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Filtered nonlinearities EQ-T 30.60 #13 of 13 Archive leaderboard report
Image Generation FFHQ-U StyleGAN2 + Filtered nonlinearities FID 6.35 #13 of 13 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-R EQ-R 48.57 #1 of 3 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-R EQ-T 66.34 #1 of 3 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-R FID 18.75 #1 of 3 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-T EQ-R 16.63 #2 of 3 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-T EQ-T 64.11 #2 of 3 Archive leaderboard report
Image Generation MetFaces-U Alias-Free-T FID 18.75 #2 of 3 Archive leaderboard report
Image Generation MetFaces-U StyleGAN2 EQ-R 13.19 #3 of 3 Archive leaderboard report
Image Generation MetFaces-U StyleGAN2 EQ-T 18.77 #3 of 3 Archive leaderboard report
Image Generation MetFaces-U StyleGAN2 FID 18.98 #3 of 3 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

ConvolutionPath Length RegularizationR1 RegularizationWeight Demodulation

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections