Docs /Active Learning Active Learning
Active Learning Overview
The annotation workspace is where a hospital builds its own training data, on its own cases, inside its own perimeter. Nothing here leaves the site: the images, the labels and any model trained from them stay on the hospital’s own hardware.
The Loop
Active Learning is not a one-off labelling exercise. It is a loop, and each turn is meant to make the next one shorter:
- A radiologist annotates a handful of cases
- Those annotations are frozen into an immutable dataset
- A model is trained from that dataset, on the site’s own GPU
- The model pre-annotates the next cases
- The radiologist corrects the proposal instead of starting from nothing — and the correction is the new label
The number that matters is the time it takes to correct one case, and how it falls as the number of annotated cases grows. It measures how efficiently labels are produced — not diagnostic accuracy, which is a different claim entirely and one the platform does not make.
What the loop does today. The turn described above is the one segmentation makes with its default network, and it is the only complete one: on every other task and network the chain breaks before step 4, and the workspace says where. Projects and Tasks has the detail per combination. Even for segmentation, every piece exists and is merged but no site has yet run a full turn on real cases — until a radiologist annotates a case end to end and receives the next one pre-segmented, treat the numbers as untested.
How the Next Case Is Chosen
By the order it was attached — first in, first out. The workspace does not try to pick the most informative case for you, and that is a deliberate choice rather than a gap waiting to be filled.
It was measured. An offline bench ran the loop’s logic on real LIDC-IDRI chest CTs, each case carrying the contours of four independent radiologists, with a simulated annotator returning one of the four. On that task the largest possible gain from choosing cases cleverly was about 3 percent — and that 3 percent is the ceiling of an oracle allowed to peek at the ground truth, so no real strategy can beat it. Every strategy that could actually be implemented did worse than taking cases in order.
So the value of this loop is in step 5, not step 4: a radiologist correcting a proposal instead of drawing from nothing. Choosing which case comes next is a different promise, and on this evidence it is not one worth making.
Who Does What
| Role | What they do |
|---|---|
| Manager | Creates projects, picks the task, defines labels, attaches cases, assigns annotators, freezes datasets and starts trainings |
| Annotator | Opens their assigned cases one at a time, annotates, marks them complete |
Both roles use the same place: the Active Learning projects panel in the main navigation. There are no separate screens to switch between — what the panel lists depends on your grant. With the annotation-management grant you see every active project, grouped by the database it lives in, and a + on each group header to create one. Without it, you see only the projects you have been assigned to.
Double-clicking a project loads it into the work tree on the left, the same place a patient’s acquisitions or an engineering project’s versions appear, with its dashboard on the right.
Freezing a dataset, splitting it, starting a training and generating proposals are done from a panel that opens off the tree’s Datasets and Trainings branches, with the green play button on either header. Training and Proposals is that chapter, written from a turn that actually ran rather than from a list of buttons.
Two Families of Task
What you annotate decides almost everything else — how you draw, which networks can be trained, and how the result is measured.
- Morphological tasks are drawn by a radiologist on an image. The cost of the task is annotation time, and the bottleneck is the editor.
- Functional tasks use a label that already exists — a number in the record, the output of a solver — and never pass through the editor at all. There the bottleneck is having the paired data, not drawing it.
The two are kept apart deliberately, so that the timescale of one is never promised for the other.
Where to Go Next
- Projects and Tasks — setting up the work
- Annotating with Masks — painting voxels
- Annotating with Boxes — drawing boxes for detection
- Training and Proposals — freezing a dataset, training on the site’s GPU, sending proposals back, and running the training worker
- Recalibrating Virtual Spirometry on Your Cohort — a different way to improve a model with your own patients: no annotation, a frozen cohort and a paired verdict