Tradução automática, não revista por um falante nativo. O inglês é a referência.

Confiança do recetor e marítimoEditar no GitHubFonte: docs/BENCH.md

kshana-bench

Um conjunto aberto de tarefas, divisões e métricas para a deteção de interferência GNSS e o holdover de temporização. A especificação é bench/SPEC.md (versão 2.0.0; licença do texto e dos manifestos: CC-BY-4.0 / CC0 propostas, decisão do proprietário pendente). A revisão das licenças do conjunto de dados é bench/LICENCES.md. Os limiares das linhas de base foram fixados antes da primeira execução pontuada em xval/bench/PREREGISTRATION.md e, para a 2.0.0, em PREREGISTRATION-v2.md, e os seus resultados constam de xval/bench/RESULTS-v2.md.

Veredictos tal como aí registados: os limiares do avaliador, C1 a C3 e D2, são atingidos; A2 é NOT MET (agc_k_sigma AUC 0,766 contra pelo menos 0,80 na divisão de teste), D1 é NOT MET (maior diferença 0,0301) e a tarefa (b) R1 é NOT MET (transportado, não reexecutado). Nenhum limiar foi afrouxado.

O que é: uma forma de comparar métodos sobre os mesmos dados com o mesmo código de métricas. O que não é: uma classificação de produtos, uma aprovação, nem prova de que um método funciona no terreno. Toda a pontuação é MODELLED, e uma pontuação descreve um registo ou um corpus, nunca um produto. Os resultados do Kshana são consultivos.

As linhas de base incorporadas da tarefa D do kshana-bench (a diferença de otimismo) na divisão de teste, a partir de uma execução real do motor v0.40.0 (`kshana bench baseline`). Cada par de barras é a área sob a curva ROC nos casos dentro da distribuição e nos casos deslocados; a diferença entre elas é a diferença de otimismo, face a uma tolerância de 0,05. fused-max-z: 0,998 e 0,983 (diferença 0,015); sqm-imbalance: 0,882 e 0,882 (diferença 0,001); agc-excess: 0,848 e 0,819 (diferença 0,030); raim-parity: 0,682 e 0,672 (diferença 0,010); energy-cn0-drop: 0,595 e 0,565 (diferença 0,030). As etiquetas são etiquetas de modelo generativo de um corpus sintético, nunca dados de terreno: MODELLED. Consultivo: modelado ou medido face a referências indicadas, não é uma aprovação, uma certificação nem uma declaração de aderência à norma. Uma pontuação descreve um registo ou corpus, nunca um produto.As linhas de base incorporadas da tarefa D do kshana-bench (a diferença de otimismo) na divisão de teste, a partir de uma execução real do motor v0.40.0 (`kshana bench baseline`). Cada par de barras é a área sob a curva ROC nos casos dentro da distribuição e nos casos deslocados; a diferença entre elas é a diferença de otimismo, face a uma tolerância de 0,05. fused-max-z: 0,998 e 0,983 (diferença 0,015); sqm-imbalance: 0,882 e 0,882 (diferença 0,001); agc-excess: 0,848 e 0,819 (diferença 0,030); raim-parity: 0,682 e 0,672 (diferença 0,010); energy-cn0-drop: 0,595 e 0,565 (diferença 0,030). As etiquetas são etiquetas de modelo generativo de um corpus sintético, nunca dados de terreno: MODELLED. Consultivo: modelado ou medido face a referências indicadas, não é uma aprovação, uma certificação nem uma declaração de aderência à norma. Uma pontuação descreve um registo ou corpus, nunca um produto.

Tarefas#

Tarefa Unidade Dados Métrica principal
(a) deteção em registos de recetor uma época de um registo do JammerTest 2024 obtido por scripts/fetch_jammertest2024.sh (GPL-3.0+, nunca incorporado) AUC
(b) deteção em IQ uma janela pontuada de uma cena receita de cena sintética do Kshana; TEXBAT apenas como referência AUC por tipo de alarme
(c) previsão de holdover de temporização (satélite, origem) relógios IGS a 300 s (extrato versionado, hash fixado) RMSE a 3600 s
(d) diferença de otimismo fora da distribuição um caso sintético corpus impairment-eval, dentro e fora da distribuição AUC fora da distribuição e a diferença

Comandos#

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>

Uma submissão é um ficheiro (kshana-bench-predictions/1): scores (um número por identificador de caso; maior significa maior probabilidade de estar afetado) para as tarefas a, b e d, ou predictions (a variação de fase em ns a cada horizonte) para a tarefa c. Um ficheiro de resultados (kshana-bench-result/1) indica a versão da especificação, a divisão, o SHA-256 da referência e das previsões, e as métricas. Os resultados de diferentes versões principais da especificação nunca são colocados na mesma tabela.

Limites com honestidade#

  • Os conjuntos reservados de dados reais (a e c) são públicos, porque qualquer pessoa pode descarregar os dados. Protegem contra a escolha de uma divisão depois de ver as pontuações, não contra o ajuste sobre essas pastas. O conjunto reservado selado da tarefa (d) é um compromisso e revelação: o proprietário compromete apenas o hash em bench/holdout/COMMITMENTS.json e guarda a semente (ainda nenhum está selado).
  • A referência da tarefa (a) são os intervalos de ataque programados dos registos de eventos com resolução de um minuto, pelo que uma probabilidade de deteção é um limite inferior; as métricas ao nível do evento (latência, alarmes omitidos, falsos alarmes) chegarão com o avaliador Jammertest de kshana jammertest score.
  • A linha de base de IQ da tarefa (b) é transportada de docs/design/DETECTION-ROC.md, não reexecutada para a v1.
  • O corpus da tarefa (d) é uma verificação de separabilidade e do pipeline; uma AUC sobre ele é uma AUC sobre etiquetas derivadas de modelo.