Ascoltatore umano
Mantenere il messaggio
Il parlato resta riconoscibile e comprensibile entro un budget di ampiezza rigoroso.
Deep Learning & Applied AI · Sapienza 2026
Perturbazioni generative veloci contro Whisper ASR.
Addestrare una volta, poi perturbare una nuova forma d’onda in un solo forward pass. Il risultato rimane comprensibile per una persona, ma porta Whisper lontano dalla trascrizione originale.
δ ≤ ε
→
Gθ(x)
01 · L’idea
NoWhisper trasforma un lento attacco specifico per ogni campione in un generatore riutilizzabile. Impara l’attacco una volta, poi crea una perturbazione vincolata per parlato mai visto senza ottimizzazione per clip.
Ascoltatore umano
Il parlato resta riconoscibile e comprensibile entro un budget di ampiezza rigoroso.
Whisper ASR
Sostituzioni e inserimenti allontanano il testo decodificato dal parlato originale.
02 · Metodo
Entrambe le strade aumentano la reference loss di Whisper mantenendo la forma d’onda entro un limite.
Riferimento white-box
I gradienti attraversano il frontend differenziabile di Whisper per molti passi di aggiornamento.
ForteLento per ogni forma d’onda
Attacco ammortizzato
La rete addestrata predice una perturbazione completa in una singola valutazione.
RiutilizzabileUn forward pass
x_adv = clip(x + Π[-ε, ε](δ), -1, 1)
x_gen = clip(x + ε tanh(Gθ(x)), -1, 1)
La proiezione e la parametrizzazione tanh impongono lo stesso budget di ampiezza L∞ nelle due pipeline.
03 · Modello
Le skip connection preservano la struttura locale, mentre i blocchi residuali dilatati ampliano il contesto.
Il risultato sorprendente
Il generatore più forte evita l’imitazione del teacher e attacca direttamente la reference loss di Whisper.
Blocchi: Conv1D, GroupNorm, SiLU, dilatazione, proiezioni di canale e percorsi residuali.
Obiettivo: reference loss avversaria, regolarizzatori sulla forma d’onda e loss teacher opzionali nel dominio temporale o spettrale.
J(θ) = -w_adv L_ref(x_gen, y) + R_gen + loss teacher opzionali
04 · Evidenze
Lo stesso generatore con ε = 0,0075 è stato valutato su 100 clip held-out per modello, senza riaddestramento.
| Modello | WER pulito → avversario | CER pulito → avversario | Successo | SNR |
|---|---|---|---|---|
| Small | 0,047 → 3,825 | 0,020 → 3,028 | 99% | 20,79 dB |
| Medium | 0,033 → 2,242 | 0,014 → 1,860 | 98% | 20,79 dB |
| Large-v3 | 0,023 → 2,817 | 0,009 → 2,248 | 96% | 20,79 dB |
Con ε = 0,005 la migliore run da 20 epoche raggiunge WER 2,165 a 23,37 dB. Il masking forte alza lo SNR a 23,64 dB, ma riduce il WER avversario a 0,064.
05 · Avvio locale
Clona, installa il gruppo PyTorch adatto e avvia l’interfaccia Gradio. Non serve addestrare il generatore.
git clone https://github.com/Reewd/NoWhisper.git
cd NoWhisper
uv sync --group cpu
uv run --group cpu nowhisper-ui
models/generators/resunet1d/latest.pt
Caricato in modo lazy al primo utilizzo della modalità generatore.
cpu con cu126 o cu130.Il testo di riferimento modificabile compare qui prima dell’attacco.
06 · Limiti e risorse
Con uno SNR di circa 20–23 dB il parlato è comprensibile, ma la perturbazione può essere udibile.
Il masking più forte preserva la qualità, ma modifica appena il WER.
Altre famiglie ASR, lingue e riproduzione over-the-air restano test futuri.
Obiettivi percettivi appresi, valutazione multilingue, test di riproduzione fisica e adversarial training sono i prossimi passi più chiari.