Microsoft Teams userà l’AI per eliminare i rumori nelle videochiamate
Grazie all'AI e al machine learnign la soppressione del rumore nelle videochiamate in Teams sarà di altissimo livello

8 min


Il mese scorso, Microsoft ha annunciato che Teams, ha superato 44 milioni di utenti attivi ogni giorno. Ma oltre a questa notizia, che ha fatto felice i manager di Redmond, sono passate un po’ in sordina alcune delle migliorie che Microsoft ha sviluppato per il proprio strumento di collaborazione. Alcune non erano certo delle novità da strapparti i capelli. come una funzione di alzata di mano per indicare che si ha qualcosa da dire, il supporto offline e con larghezza di banda ridotta per leggere i messaggi di chat e scrivere risposte anche se si ha una connessione a Internet scadente o assente e anche un’opzione per far apparire le chat in un’altra finestra. Ma tra queste meno importanti è stata integrata una che può davvero fare la differenza: la soppressione del rumore in tempo reale. E per rendere ancora migliore questa tecnologia, Microsoft ha utilizzato l’IA per minimizzare il rumore di fondo che distrae durante una chiamata.

Quello dei rumori di sottofondo è sicuramente uno dei problemi che affliggono tutte le app di videochiamata. Ora questo sembra risolto. La soppressione del rumore in tempo reale filtrerà anche qualcuno che digita sulla tastiera durante una riunione, il fruscio di un sacco di patatine (come si può vedere nel video sopra) e un aspirapolvere in esecuzione in background. L’intelligenza artificiale rimuoverà il rumore di fondo in tempo reale in modo da poter ascoltare solo le voci presenti durante una chiamata. Ma come funziona esattamente? Per scoprirlo. i colleghi di Venturebeats hanno intervistato Robert Aichner, responsabile del programma del gruppo Microsoft Teams.

“Rumori stazionari” vs “non stazionari”

La soppressione del rumore esiste da anni nelle app Microsoft Teams, Skype e Skype for Business. Anche altri strumenti di comunicazione e app di videoconferenza hanno una qualche forma di soppressione del rumore. Ma fino ad oggi tutte le tecnologia integrate nelle varie app si occupavano di ridurre il rumore  definito “stazionario”, come ad esempio una ventola del computer o un condizionatore d’aria in esecuzione nella stanza dove si esegue la videoconferenza. Il metodo tradizionale utilizzato per la soppressione del rumore si occupa di cercare pause vocali, stimare la base del rumore, supporre che il rumore di fondo continuo non cambi nel tempo e filtrarlo.

La novità che sarà introdotto in Microsoft Teams è quella che prevede che il proprio sistema di soppressione del rumore si occuperà anche di quelli “non stazionari”,  come ad esempio un cane che abbaia o qualcuno che chiude una porta. “I rumori non è stazionari”, ha spiegato Aichner. “non si possono stimare nelle pause vocali. Ciò che l’apprendimento automatico ora consente di fare è creare questo grande set di apprendimento, con molti rumori rappresentativi”.

teamsIn effetti, Microsoft ha aperto la sua formazione all’inizio di quest’anno su GitHub “per far avanzare la comunità di ricerca in questo campo”. Mentre la prima versione è pubblicamente disponibile, Microsoft sta lavorando attivamente per estendere i set di dati. Un portavoce dell’azienda ha confermato che nell’ambito della funzione di soppressione del rumore in tempo reale, alcune categorie di rumori nei set di dati non verranno filtrate in base alle chiamate, inclusi strumenti musicali, risate e canto.

Microsoft non può semplicemente isolare il suono delle voci umane perché anche altri rumori si verificano alle stesse frequenze. Infatti, in uno spettrogramma del segnale vocale, il rumore indesiderato appare negli spazi tra il discorso e la sovrapposizione con il discorso. È quindi quasi impossibile filtrare questo tipo di rumore, se questo si sovrappone al discorso. Al contrario, è però possibile “addestrare” in anticipo una rete neurale per farle capire come si presenta il rumore e il parlato, e le relative (poche) differenze.

Riconoscimento vocale e soppressione del rumore

Per chiarire i suoi punti, Aichner ha messo a confronto i modelli di machine learning per la soppressione del rumore con quelli di machine learning per il riconoscimento vocale. Per quest’ultimo è necessario registrare un ampio campione di utenti che parlano al microfono e quindi fare in modo che vengano etichettati i dati vocali da esseri umani che scrivono ciò che è stato detto. Invece di mappare l’input del microfono su parole scritte, nella soppressione del rumore si sta cercando di passare da un discorso rumoroso a uno pulito.

“Formiamo un modello per capire la differenza tra rumore e discorso, e quindi il modello sta cercando di mantenere il discorso”, ha spiegato Aichner. “Abbiamo set di dati di formazione. Abbiamo preso migliaia di altoparlanti diversi e più di 100 tipi di rumore. Quello che facciamo è mescolare il discorso pulito senza rumore con il rumore. Quindi simuliamo un segnale del microfono, dopodichè diamo al modello anche un discorso pulito come la verità fondamentaleQuindi stiamo chiedendo al modello: da questi dati rumorosi, per favore estrai questo segnale pulito, ed è così che dovrebbe apparire”. È così che alleni le reti neurali [in] apprendimento supervisionato, dove fondamentalmente hai qualche verità di base”.

Per il riconoscimento vocale, la “verità fondamentale” è ciò che è stato detto nel microfono. Per la soppressione del rumore in tempo reale, la “verità fondamentale” è il discorso senza rumore. Alimentando un set di dati abbastanza grande, in questo caso centinaia di ore di dati, Microsoft può addestrare efficacemente il suo modello. “È in grado di generalizzare e ridurre il rumore con la mia voce anche se questa non faceva parte dei dati di allenamento”, ha affermato Aichner. “In tempo reale, quando parlo, il modello sarebbe in grado di estrarre il discorso pulito senza rumore e inviarlo semplicemente alla persona con cui si sta interloquendo.”

Le sfide

Il confronto tra la funzionalità e il riconoscimento vocale rende la soppressione del rumore molto più realizzabile, anche se sta accadendo in tempo reale. Quindi perché non è mai stato fatto prima? I concorrenti di Microsoft possono ricrearlo rapidamente? Aichner ha elencato le sfide per la creazione della soppressione del rumore in tempo reale, inclusa la ricerca di set di dati rappresentativi, la costruzione del modello e l’utilizzo delle competenze di apprendimento automatico.

Set di dati rappresentativi

Abbiamo già parlato della prima sfida: set di dati rappresentativi. Il team dei ricercatori di Microsoft ha trascorso molto tempo a capire come produrre file audio che esemplificano ciò che accade in una chiamata tipica.

Hanno usato audiolibri per rappresentare voci maschili e femminili, poiché “le caratteristiche del linguaggio differiscono tra voci maschili e femminili”. Hanno usato set di dati YouTube con dati etichettati che specificano che una registrazione include, diciamo, digitazione e musica. Il team di Aichner ha quindi combinato i dati del parlato e dei rumori utilizzando uno script del sintetizzatore con rapporti segnale/rumore diversi. Amplificando il rumore, potrebbero imitare diverse situazioni realistiche che possono accadere durante una chiamata.

Ma gli audiolibri sono drasticamente diversi dalle teleconferenze. Ciò non influirebbe sul modello e quindi sulla soppressione del rumore?

“Questo è un buon punto” chiarisce Aichner. “Il nostro team ha anche effettuato alcune registrazioni per assicurarsi che non stiamo solo allenando su dati sintetici che generiamo noi stessi, ma che funziona anche su dati reali. Ma è sicuramente più difficile ottenere queste vere registrazioni. ”

Restrizioni sulla privacy

Il team di Aichner non è autorizzato a esaminare i dati dei clienti. Inoltre, Microsoft ha internamente rigide linee guida sulla privacy. “Non posso semplicemente dire: ‘Ora registro ogni incontro”.

Quindi il team non ha potuto utilizzare le chiamate di Microsoft Teams. Anche se potessero, (se alcuni dipendenti Microsoft decidessero di registrare le loro riunioni)  qualcuno dovrebbe comunque contrassegnare quando si sono verificati esattamente dei rumori che hanno portato a distrarsi dalla riunione.

“Ed è per questo che al momento abbiamo fatto poco  per raccogliere alcune di queste registrazioni reali con una varietà di dispositivi e altoparlanti e così via”, ha affermato Aichner. “Abbiamo un set di test che riteniamo sia ancora più rappresentativo di incontri reali. E poi, come possiamo capire se usiamo un determinato set di apprendimento, quanto bene fa sul set di test? Quindi idealmente sì, mi piacerebbe avere un set di apprendimento, che frutto delle registrazioni vere riunioni ed avere tutti i tipi di rumori che la gente ascolta. È solo che non riesco facilmente a ottenere lo stesso numero di dati rispetto allo stesso volume che posso prendendo un altro set di dati open source “.

Ma in che modo un programma opt-in per registrare i dipendenti Microsoft che utilizzano i team ha un impatto sulla funzionalità?

“Si potrebbe sostenere che migliora”, ha detto Aichner. “Se disponi di dati più rappresentativi, potrebbe migliorare ulteriormente. Quindi penso che sia una buona idea potenzialmente in futuro vedere se possiamo migliorare ulteriormente. Ma penso che ciò che stiamo vedendo finora sia anche solo prendendo i dati pubblici, funziona davvero bene”.

Nuvola e bordo

La prossima sfida è capire come costruire la rete neurale, quale dovrebbe essere l’architettura del modello e iterare. Il modello di apprendimento automatico ha subito molte modifiche. Ciò ha richiesto molto calcolo. Il team di Aichner faceva ovviamente affidamento su Azure, usando molte GPU. Anche con tutto ciò che calcola, tuttavia, l’addestramento di un modello con un set di dati di grandi dimensioni potrebbe richiedere più giorni.

“Gran parte dell’apprendimento automatico avviene nel cloud”, ha affermato Aichner. “Quindi, ad esempio per il riconoscimento vocale, parli nel microfono e la voce viene inviato al cloud. Nel cloud si ha un enorme possibilità di calcolo, quindi esegui questi modelli di grandi dimensioni per riconoscere il tuo discorso. Per noi, poiché è una comunicazione in tempo reale, devo elaborare ogni frame. Diciamo che sono 10 o 20 millisecondi di frame. Devo ora elaborarlo entro quel tempo, in modo da poterlo inviare immediatamente alla persona che sta ascoltando il discorso. Non riesco quindi a inviarlo nel cloud, attendere la soppressione del rumore e rispedirlo”.

Per il riconoscimento vocale, può essere utile sfruttare il cloud. Per la soppressione del rumore in tempo reale, non è possibile. Una volta ottenuto il modello di apprendimento automatico, è necessario ridurlo per adattarlo al client Teams Bisogna infetti essere in grado di eseguirlo su un normale telefono o computer. Un modello di apprendimento automatico solo per le persone con dispositivi di fascia alta è inutile.

Spingere l’elaborazione al limite

C’è un altro motivo per cui il modello di apprendimento automatico dovrebbe vivere in locale anziché sul cloud. Microsoft vuole limitare l’uso del server. A volte, infatti non c’è nemmeno un server attivo durante una chiamata. Per esempio nelle chiamate one-to-one in Microsoft Teams, la configurazione passa attraverso un server, ma i pacchetti di segnali audio e video effettivi vengono inviati direttamente tra i due partecipanti. Per le chiamate di gruppo o le riunioni pianificate, è presente un server, ma Microsoft ne riduce al minimo il carico. Fare molta elaborazione dal server per ogni chiamata aumenta i costi e ogni ulteriore utilizzo delle rete aggiunge latenza. È quindi più efficiente dal punto di vista dei costi e della latenza eseguire l’elaborazione in locale.

Vogliamo spingere la maggior parte del calcolo verso l’endpoint dell’utente perché non vi è alcun costo in questo. Ha già il suo laptop o il suo PC o lo smartphone, quindi gli facciamo fare qualche elaborazione aggiuntiva. Finché non si sta sovraccaricando la CPU, dovrebbe andare bene “, ha detto Aichner.

teamsC’è però un problema: la durata della batteria. “Ovviamente stiamo prestando attenzione anche a quello. Non vogliamo che un utente debba avere durata della batteria molto inferiore solo perché abbiamo aggiunto un po ‘di soppressione del rumore. Ci stiamo lavorando”.

Dimensione del download e protezione per il futuro

Poiché stiamo parlando di un modello di apprendimento automatico, il lavoro non finisce mai.

“Stiamo cercando di costruire qualcosa che sia flessibile in futuro perché non smetteremo di investire nella soppressione del rumore dopo il rilascio della prima funzione”, ha affermato Aichner.“Vogliamo renderlo sempre migliore. Forse per alcuni test del rumore non stiamo andando bene come dovremmo. Vogliamo sicuramente avere la capacità di migliorarlo. Il cliente di Teams sarà in grado di scaricare nuovi modelli e migliorare la qualità nel tempo ogni volta che pensiamo di avere qualcosa di meglio “.

microsoft teamsIl modello che sarà installato nel client Teams sarà di pochi megabyte, e non influirà sulla dimensione del client stesso. “Questo è anche un altro requisito che abbiamo. Quando gli utenti scaricano l’app sul telefono o sul desktop o sul laptop, desideriamo ridurre al minimo le dimensioni del download.”

Competenza nell’apprendimento automatico

Tutto quanto sopra richiede un’ultima componente: il talento.

“È inoltre necessario disporre dell’esperienza di machine learning per sapere cosa si desidera fare con tali dati”, ha affermato Aichner. “Ecco perché abbiamo creato questo team di machine learning in questo gruppo di comunicazione intelligente. Hai bisogno di esperti per sapere cosa dovrebbero fare con quei dati. Quali sono i modelli giusti? L’apprendimento profondo ha un significato molto ampio. Esistono molti tipi diversi di modelli che è possibile creare. Abbiamo diversi centri in tutto il mondo in Microsoft Research e abbiamo anche molti esperti di audio. Stiamo lavorando a stretto contatto con loro perché hanno molta esperienza in questo settore di apprendimento”.

I dati sono open source e possono essere migliorati. È richiesto molto calcolo, ma qualsiasi azienda può semplicemente sfruttare un cloud pubblico, inclusi i principali fornitori come Amazon Web, Microsoft Azure e Google Cloud. Quindi, se un’altra società con uno strumento di chat video avesse i giusti strumenti potrebbero farlo?

“La risposta è probabilmente sì, simile a come diverse aziende stanno ottenendo il riconoscimento vocale”, ha detto Aichner. “Hanno un riconoscimento vocale in cui sono coinvolti anche molti dati. C’è bisogno di molta esperienza per costruire un modello. Quindi le grandi aziende lo stanno facendo. “

Aichner ritiene che Microsoft abbia ancora un grosso vantaggio. “Penso che il valore siano i dati. Ciò che vogliamo fare in futuro è avere un programma in cui i dipendenti Microsoft possano darci un numero sufficiente di  chiamate reali effettuate con Teams in modo da avere un’analisi ancora migliore di ciò che i nostri clienti stanno realmente facendo”.


Danilo Loda

author-publish-post-icon









 




 

Sì, iscrivimi alla newsletter!
close-link