kshana-bench
Et åbent sæt af opgaver, opdelinger og metrikker til detektion af GNSS-interferens og tids-holdover. Specifikationen er bench/SPEC.md (version 2.0.0; licens for teksten og manifesterne: CC-BY-4.0 / CC0 foreslået, ejerens beslutning afventer). Gennemgangen af datasættets licens er bench/LICENCES.md. Baselines' tærskler blev fastsat før den første scorede kørsel i xval/bench/PREREGISTRATION.md og, for 2.0.0, i PREREGISTRATION-v2.md, og deres resultater står i xval/bench/RESULTS-v2.md.
Afgørelser som registreret dér: scorerens tærskler, C1 til C3 og D2, er nået; A2 er NOT MET (agc_k_sigma AUC 0,766 mod mindst 0,80 på testopdelingen), D1 er NOT MET (største afstand 0,0301) og opgave (b) R1 er NOT MET (videreført, ikke kørt igen). Ingen tærskel er løsnet.
Hvad det er: en måde at sammenligne metoder på de samme data med den samme metrikkode. Hvad det ikke er: en rangordning af produkter, en godkendelse eller belæg for, at en metode virker i felten. Hver score er MODELLED, og en score beskriver en log eller et korpus, aldrig et produkt. Kshana-resultater er vejledende.
Opgaver#
| Opgave | Enhed | Data | Primær metrik |
|---|---|---|---|
| (a) detektion på modtagerlogs | én epoke af en JammerTest 2024-log | hentes med scripts/fetch_jammertest2024.sh (GPL-3.0+, aldrig medleveret) |
AUC |
| (b) detektion på IQ | ét scoret vindue af en scene | Kshanas opskrift på syntetiske scener; TEXBAT kun som reference | AUC pr. alarmtype |
| (c) forudsigelse af tids-holdover | (satellit, oprindelse) | IGS-ure ved 300 s (indsendt uddrag, fastlåst hash) | RMSE ved 3600 s |
| (d) optimismegab uden for fordelingen | ét syntetisk tilfælde | korpus impairment-eval, inden for og uden for fordelingen |
AUC ud, og gabet |
Kommandoer#
kshana bench spec
kshana bench cases --task d --split test --scale 0.5 --out cases/ # cases.json + truth.json
kshana bench cases --task c --split test --out cases/
kshana bench truth --task a --data <extracted JammerTest 2024> --split test --out truth.json
kshana bench score --truth truth.json --predictions my-scores.json --out my.result.json
kshana bench baseline --task d --split test --out results/ # the built-in baselines
kshana bench validate results/*.result.json
kshana bench leaderboard results/ --out bench/site/index.html
kshana bench seal --task d --seed-file secret.txt --new # owner: make a seed, print only its hash
kshana bench reveal-check --task d --seed-file secret.txt --commitment <hex>
kshana bench manifest --task a --data <extracted dir> --out manifest.json
kshana bench verify-manifest manifest.json --root <dir>
En indsendelse er en fil (kshana-bench-predictions/1): scores (ét tal pr. tilfælds-id; højere betyder mere sandsynligt forringet) til opgave a, b og d, eller predictions (faseændringen i ns ved hver horisont) til opgave c. En resultatfil (kshana-bench-result/1) angiver specifikationsversionen, opdelingen, SHA-256 af referencen og af forudsigelserne samt metrikkerne. Resultater fra forskellige hovedversioner af specifikationen sættes aldrig i samme tabel.
Ærlige begrænsninger#
- De tilbageholdte datasæt med rigtige data (a og c) er offentlige, fordi enhver kan hente dataene. De beskytter mod at vælge en opdeling, efter at man har set scores, ikke mod tuning på de mapper. Det forseglede tilbageholdte datasæt til opgave (d) er et commit-og-afslør: ejeren committer kun hashen til
bench/holdout/COMMITMENTS.jsonog beholder seedet (intet er forseglet endnu). - Referencen for opgave (a) er de planlagte angrebsvinduer i hændelseslogs med en opløsning på ét minut, så en detektionssandsynlighed er en nedre grænse; metrikkerne på hændelsesniveau (latenstid, oversete alarmer, falske alarmer) kommer med Jammertest-scoreren i
kshana jammertest score. - IQ-baseline for opgave (b) er videreført fra
docs/design/DETECTION-ROC.mdog ikke kørt igen til v1. - Korpusset til opgave (d) er en kontrol af separerbarhed og pipeline; en AUC på det er en AUC over labels afledt af modellen.