You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three strategies ship with this example, all implementing the
225
+
Four strategies ship with this example, all implementing the
226
226
`physicsnemo.active_learning.QueryStrategy` protocol. Select via
227
227
`++acquisition=…`:
228
228
@@ -231,6 +231,7 @@ Three strategies ship with this example, all implementing the
231
231
|**JointUQQueryStrategy**|`joint_uq`| The recommended UQ-driven default. Per-sample score is `max(|disagreement|, 2 · GP_std)`, where *disagreement* is `|Cd_GP − Cd_field|` — i.e. the gap between the GP-head Cd prediction and the field-integrated Cd recovered from the same forward pass. |
232
232
|**RandomQueryStrategy**|`random`| Pure random baseline (uniform over the pool). Use as a UQ-vs-random sanity check. |
233
233
|**ClassBalancedRandomQueryStrategy**|`class_balanced_random`| Random *within each class*, with the per-round budget split proportionally. Use as a strong baseline that controls for class imbalance in the pool. |
234
+
|**LatentNoveltyQueryStrategy**|`latent_novelty`| Encoder-only novelty signal: each round we calibrate the embedded `OODGuard` (from `physicsnemo.experimental.guardrails.embedded`) on the currently labeled set, then rank unlabeled samples by their average kNN cosine distance in the learned geometry-latent space. Reuses the same guardrail that flags OOD inputs at inference time as the acquisition signal. The first round falls back to class-balanced random because the calibration buffer is empty. |
234
235
235
236
Adding a new strategy is a matter of subclassing `QueryStrategy` from
0 commit comments