Papers › Triple Generative Adversarial Networks

Triple Generative Adversarial Networks

20 Dec 2019arXiv:1912.09784archive 2025-07-28

Chongxuan Li, Kun Xu, Jiashuo Liu, Jun Zhu, Bo Zhang

We propose a unified game-theoretical framework to perform classification and conditional image generation given limited supervision. It is formulated as a three-player minimax game consisting of a generator, a classifier and a discriminator, and therefore is referred to as Triple Generative Adversarial Network (Triple-GAN). The generator and the classifier characterize the conditional distributions between images and labels to perform conditional generation and classification, respectively. The discriminator solely focuses on identifying fake image-label pairs. Under a nonparametric assumption, we prove the unique equilibrium of the game is that the distributions characterized by the generator and the classifier converge to the data distribution. As a byproduct of the three-player mechanism, Triple-GAN is flexible to incorporate different semi-supervised classifiers and GAN architectures. We evaluate Triple-GAN in two challenging settings, namely, semi-supervised learning and the extreme low data regime. In both settings, Triple-GAN can achieve excellent classification results and generate meaningful samples in a specific class simultaneously. In particular, using a commonly adopted 13-layer CNN classifier, Triple-GAN outperforms extensive semi-supervised learning methods substantially on more than 10 benchmarks no matter data augmentation is applied or not.

PaperPDFCodeCode 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="1912.09784")

Code

Syntology Ran 0 of 8 code samples harvested from 1 repository linked to this paper; 8 have no recorded run.

By repository: official repository: 8 samples from 1 repository, 0 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

taufikxu/Triple-GAN officialmentioned in papermentioned on GitHubpytorchMIT 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

8 samples harvested; 0 ran; 0 honoured the contract we drafted; 8 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.

8unverified

Licence: 0 of the 8 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 taufikxu/Triple-GAN. “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.

get_inception_score taufikxu/Triple-GAN/library/eval_inception_score.py official repository unverified MIT (permissive) · 335de19ad40af504 · report
linear_rampup taufikxu/Triple-GAN/library/loss_cla.py official repository unverified MIT (permissive) · 069122bd5268cc56 · report
loss_cross_entropy_ele taufikxu/Triple-GAN/library/loss_triplegan.py official repository unverified MIT (permissive) · d93071d043de21d5 · report
loss_dcgan_dis taufikxu/Triple-GAN/library/loss_gan.py official repository unverified MIT (permissive) · ae6e6873858f8ddf · report
loss_dcgan_gen taufikxu/Triple-GAN/library/loss_gan.py official repository unverified MIT (permissive) · 98b3c5751e09b90b · report
loss_hinge_dis taufikxu/Triple-GAN/library/loss_gan.py official repository unverified MIT (permissive) · 1abccc079f315676 · report
sigmoid_rampdown taufikxu/Triple-GAN/library/loss_cla.py official repository unverified MIT (permissive) · 2d9f6f3c7fd20be7 · report
sigmoid_rampup taufikxu/Triple-GAN/library/loss_cla.py official repository unverified MIT (permissive) · f8f34f7f96b293a1 · report

Tasks

ClassificationConditional Image GenerationData AugmentationGeneral ClassificationImage GenerationSemi-Supervised Image Classification

1 archive task tag without a task page not shown.

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Semi-Supervised Image Classification CIFAR-10, 1000 Labels Triple-GAN-V2 (ResNet-26) Accuracy 91.59 #3 of 9 Archive leaderboard report
Semi-Supervised Image Classification CIFAR-10, 1000 Labels Triple-GAN-V2 (CNN-13) Accuracy 85.00 #6 of 9 Archive leaderboard report
Semi-Supervised Image Classification CIFAR-10, 1000 Labels Triple-GAN-V2 (CNN-13, no aug) Accuracy 81.81 #9 of 9 Archive leaderboard report
Semi-Supervised Image Classification CIFAR-10, 4000 Labels Triple-GAN-V2 (ResNet-26) Percentage error 6.54 #34 of 49 Archive leaderboard report
Semi-Supervised Image Classification CIFAR-10, 4000 Labels Triple-GAN-V2 (CNN-13) Percentage error 10.01 #40 of 49 Archive leaderboard report
Semi-Supervised Image Classification CIFAR-10, 4000 Labels Triple-GAN-V2 (CNN-13, no aug) Percentage error 12.41 #46 of 49 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 1000 labels Triple-GAN-V2 (CNN-13) Accuracy 96.55 #8 of 17 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 1000 labels Triple-GAN-V2 (CNN-13, no aug) Accuracy 96.04 #14 of 17 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 250 Labels Triple-GAN-V2 (CNN-13) Accuracy 96.52 #6 of 15 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 250 Labels Triple-GAN-V2 (CNN-13, no aug) Accuracy 95.81 #9 of 15 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 500 Labels Triple-GAN-V2 (CNN-13) Accuracy 96.39 #1 of 6 Archive leaderboard report
Semi-Supervised Image Classification SVHN, 500 Labels Triple-GAN-V2 (CNN-13, no aug) Accuracy 96.16 #3 of 6 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

Convolution

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