Un articolo tecnico molto interessante pubblicato il 1 ottobre sul blog di Machine Learning Journal di Apple è passato inosservato, fino ad oggi.
In esso, Apple illustra in dettaglio come la funzione libera "Hey Siri" sfrutta l'hardware, il software e la potenza di iCloud per consentire ai clienti di usare il loro assistente a mani libere.
Il sistema abbina il riconoscimento vocale basato su cloud, l'interpretazione del linguaggio naturale e altri servizi con l'elaborazione su dispositivo assistita da hardware. Un dispositivo iOS esegue sempre "un riconoscimento vocale molto piccolo", che ascolta solo la frase "Hey Siri".
Il microfono del tuo iPhone o Apple Watch registra 16.000 flussi di campioni di forme d'onda istantanee al secondo. Ecco perché ciò non tassa molto la batteria del tuo iPhone o monopolizza altre risorse di sistema, come RAM e CPU:
Per evitare di eseguire il processore principale tutto il giorno solo per ascoltare la frase trigger, il coprocessore sempre attivo dell'iPhone (AOP, che è un processore ausiliario a bassa potenza incorporato nel coprocessore di movimento serie M di Apple) ha accesso al segnale del microfono sul tuo iPhone 6s e versioni successive.
Utilizziamo una piccola parte della potenza di elaborazione limitata dell'AOP per far funzionare un rivelatore con una versione ridotta della rete neurale. Quando il punteggio supera una soglia, il coprocessore di movimento sveglia il processore principale, che analizza il segnale utilizzando una rete neurale più grande.
A causa della sua batteria molto più piccola, Apple Watch esegue il rivelatore "Hey Siri" solo quando il suo coprocessore di movimento rileva un gesto di aumento del polso, che accende lo schermo, ecco perché non è possibile utilizzare "Hey Siri" su Apple Watch quando lo schermo è spento.
WatchOS alloca "Hey Siri" circa il cinque percento del budget di calcolo limitato.
Quindi, come riconoscono l'effettiva frase bollente "Hey Siri" in tempo reale?
Una volta catturata dal dispositivo, la forma d'onda viene suddivisa in una sequenza di frame, ciascuno dei quali descrive lo spettro sonoro di circa 0,01 secondi. Circa venti di questi frame alla volta (0,2 sec di audio) vengono passati alla rete neurale profonda.
Lì, il suono viene convertito in una distribuzione di probabilità su una serie di classi di suoni del parlato: quelli usati nella frase "Hey Siri", più silenzio e altri discorsi, per un totale di circa 20 classi di suoni. Calcola quindi un punteggio di fiducia che la frase pronunciata era "Hey Siri".
Se il punteggio è abbastanza alto, Siri si sveglia.
Su iPhone, usano una rete neurale per il rilevamento iniziale (in esecuzione sul chip di movimento che consuma energia) e un'altra come controllore secondario (in esecuzione sul processore principale). Per ridurre i falsi trigger, Apple confronta anche qualsiasi nuova espressione "Hey Siri" con le cinque frasi salvate sul dispositivo durante il processo di registrazione "Hey Siri".
"Questo processo non solo riduce la probabilità che" Hey Siri "pronunciato da un'altra persona attiverà il tuo iPhone, ma riduce anche la velocità con cui altre frasi simili dal suono attivano Siri", spiega il documento di ricerca.
Il dispositivo carica anche la forma d'onda sul server Siri.
Se il principale riconoscimento vocale in esecuzione nel cloud lo sente come qualcosa di diverso da "Hey Siri" (ad esempio "Hey Seriously", "Hey Syria" o qualcosa del genere), il server invia un segnale di annullamento al telefono per rimetterlo a dormire.
"Su alcuni sistemi, eseguiamo una versione ridotta del principale riconoscimento vocale sul dispositivo per fornire un controllo aggiuntivo in precedenza", osserva Apple. Presumo che per "alcuni sistemi" intendano dispositivi collegati all'alimentazione, come Mac, Apple TV e forse persino iPad.
Nella foto sopra: il modello acustico mentre si muove attraverso il rivelatore "Hey Siri", con uno spettrogramma della forma d'onda dal microfono mostrato in fondo. Il punteggio finale, mostrato in alto, viene confrontato con una soglia per decidere se attivare Siri.
La soglia stessa è un valore dinamico perché Apple vuole consentire agli utenti di attivare Siri in condizioni difficili: se manca un vero evento "Hey Siri", il sistema entra in uno stato più sensibile per alcuni secondi. Ripetere la frase durante quel periodo attiverà Siri.
Ed ecco come hanno addestrato il modello acustico del rivelatore "Hey Siri":
Ben prima che ci fosse una funzione Hey Siri, una piccola parte degli utenti diceva "Hey Siri" all'inizio di una richiesta, avendo iniziato premendo il pulsante. Abbiamo usato queste espressioni "Hey Siri" per il set di addestramento iniziale per il modello di rivelatore inglese americano.
Abbiamo anche incluso esempi di linguaggio generale, usati per addestrare il principale riconoscimento vocale. In entrambi i casi, abbiamo usato la trascrizione automatica delle frasi di addestramento. I membri del team Siri hanno verificato la precisione di un sottoinsieme delle trascrizioni.
Il modello acustico in inglese americano tiene conto anche di diverse prime vocali in "Siri", uno come in "serio" e l'altro come in "Siria".
L'allenamento di un modello richiede circa un giorno e di solito ci sono alcuni modelli di allenamento contemporaneamente. Generalmente si allenano tre versioni: un modello piccolo per il primo passaggio sul chip di movimento, un modello di dimensioni maggiori per il secondo passaggio e un modello di medie dimensioni per Apple Watch.
E l'ultimo bocconcino: il sistema è addestrato per riconoscere anche le frasi localizzate "Hey Siri".
Ad esempio, gli utenti di lingua francese dicono "Dis Siri". In Corea, dicono "Siri 야", che suona come "Siri Ya". Gli utenti di lingua russa usano la frase "привет Siri" (suona come "Privet Siri") e in tailandese "หวัด ดี Siri" (suona come "Wadi Siri").
"Abbiamo realizzato registrazioni appositamente in varie condizioni, come in cucina (vicino e lontano), auto, camera da letto e ristorante, da madrelingua di ogni lingua", afferma Apple.
Usano persino podcast e input di Siri in molte lingue per rappresentare sia i suoni di sottofondo (specialmente il parlato) sia i "tipi di frasi che un utente potrebbe dire a un'altra persona".
"La prossima volta che dici" Ehi Siri "potresti pensare a tutto ciò che accade per far sì che risponda a quella frase, ma speriamo che" funzioni ", riassume bene Apple..
L'articolo altamente tecnico fornisce una visione affascinante della tecnologia "Hey Siri" che diamo per scontato, quindi assicurati di dargli una lettura o di salvarla per dopo se sei interessato a saperne di più.