Papers › Variational Adversarial Active Learning

Variational Adversarial Active Learning

31 Mar 2019ICCV 2019 10arXiv:1904.00370archive 2025-07-28

Samarth Sinha, Sayna Ebrahimi, Trevor Darrell

Active learning aims to develop label-efficient algorithms by sampling the most representative queries to be labeled by an oracle. We describe a pool-based semi-supervised active learning algorithm that implicitly learns this sampling mechanism in an adversarial manner. Unlike conventional active learning algorithms, our approach is task agnostic, i.e., it does not depend on the performance of the task for which we are trying to acquire labeled data. Our method learns a latent space using a variational autoencoder (VAE) and an adversarial network trained to discriminate between unlabeled and labeled data. The mini-max game between the VAE and the adversarial network is played such that while the VAE tries to trick the adversarial network into predicting that all data points are from the labeled pool, the adversarial network learns how to discriminate between dissimilarities in the latent space. We extensively evaluate our method on various image classification and semantic segmentation benchmark datasets and establish a new state of the art on CIFAR10/100, Caltech-256, ImageNet, Cityscapes, and BDD100K. Our results demonstrate that our adversarial approach learns an effective low dimensional latent space in large-scale settings and provides for a computationally efficient sampling method. Our code is available at https://github.com/sinhasam/vaal.

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="1904.00370")

Code

Syntology Ran 1 of 14 code samples harvested from 2 repositories linked to this paper; 13 have no recorded run. Of those that ran: 1 ran · our draft was wrong.

By repository: official repository: 3 samples from 1 repository, 1 ran; community (archive-listed): 11 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.

sinhasam/vaal officialmentioned in papermentioned on GitHubpytorchBSD-2-Clause report
Valkyrja3607/VAAL_Segmantation mentioned on GitHubpytorch report
johntiger1/csc2547-project mentioned on GitHubpytorchBSD-2-Clause report
johntiger1/vaal mentioned on GitHubpytorchBSD-2-Clause report
johntiger1/vaal_querying mentioned on GitHubpytorchBSD-2-Clause 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

14 samples harvested; 1 ran; 0 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.

1ran · our draft was wrong
13unverified

Licence: 0 of the 14 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 2 repositories linked to this paper, official or community; each sample names its own and says which. “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_layers sinhasam/vaal/vgg.py official repository ran · our draft was wrong BSD-2-Clause (permissive) · eba3f5bcc6a06d36 · report
vgg11 sinhasam/vaal/vgg.py official repository unverified BSD-2-Clause (permissive) · c872dddd472f0138 · report
vgg11_bn sinhasam/vaal/vgg.py official repository unverified BSD-2-Clause (permissive) · fb01d604c8bf7aa2 · report
compute_reward johntiger1/vaal_querying/rl_mnist.py community (archive-listed) unverified BSD-2-Clause (permissive) · e504dc7831b960c5 · report
discount_rewards johntiger1/vaal_querying/rl/sample_cartpole.py community (archive-listed) unverified BSD-2-Clause (permissive) · afbf4de704d925aa · report
learn johntiger1/vaal_querying/rl/sample_cartpole.py community (archive-listed) unverified BSD-2-Clause (permissive) · c770702517776776 · report
make_layers johntiger1/vaal_querying/vgg.py community (archive-listed) unverified BSD-2-Clause (permissive) · 42d0e545c4c042c5 · report
mode_collapse_penalty johntiger1/vaal_querying/rl_mnist.py community (archive-listed) unverified BSD-2-Clause (permissive) · 707a46843f0fb843 · report
plot_ci_bootstrap johntiger1/vaal_querying/plotting_ci.py community (archive-listed) unverified BSD-2-Clause (permissive) · 55c4c9fb61cb3fc2 · report
plot_ci_manual johntiger1/vaal_querying/plotting_ci.py community (archive-listed) unverified BSD-2-Clause (permissive) · ae0107b83504f1a1 · report
plot_ci_normal_dist johntiger1/vaal_querying/plotting_ci.py community (archive-listed) unverified BSD-2-Clause (permissive) · 0f3d4e81e8992278 · report
run_episode johntiger1/vaal_querying/rl/sample_cartpole.py community (archive-listed) unverified BSD-2-Clause (permissive) · baf11f4c9088b555 · report
vgg11 johntiger1/vaal_querying/vgg.py community (archive-listed) unverified BSD-2-Clause (permissive) · f6e25e358233c4bb · report
vgg11_bn johntiger1/vaal_querying/vgg.py community (archive-listed) unverified BSD-2-Clause (permissive) · 2a49eb37cf4d8847 · report

Tasks

Active LearningImage ClassificationSemantic Segmentationimage-classification

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

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