Un artículo técnico muy interesante publicado el 1 de octubre en el blog Machine Learning Journal de Apple ha pasado desapercibido, hasta hoy..
En él, Apple expone en detalle cómo la función "Hey Siri", sin ataduras, aprovecha el hardware, el software y la potencia de iCloud para permitir a los clientes usar su asistente de manos libres..
El sistema combina el reconocimiento de voz basado en la nube, la interpretación del lenguaje natural y otros servicios con procesamiento en el dispositivo asistido por hardware. Un dispositivo iOS ejecuta "un reconocedor de voz muy pequeño" todo el tiempo, que solo escucha la frase "Hey Siri".
El micrófono de su iPhone o Apple Watch registra 16,000 transmisiones de muestras instantáneas de formas de onda por segundo. He aquí por qué eso no grava mucho la batería de su iPhone ni monopoliza otros recursos del sistema, como la RAM y la CPU:
Para evitar ejecutar el procesador principal todo el día solo para escuchar la frase de activación, el coprocesador siempre encendido del iPhone (AOP, que es un procesador auxiliar de baja potencia integrado en el coprocesador de movimiento de la serie M de Apple) tiene acceso a la señal del micrófono en su iPhone 6s y posterior.
Utilizamos una pequeña proporción de la potencia de procesamiento limitada del AOP para ejecutar un detector con una versión pequeña de la red neuronal. Cuando la puntuación supera un umbral, el coprocesador de movimiento activa el procesador principal, que analiza la señal utilizando una red neuronal más grande.
Debido a su batería mucho más pequeña, Apple Watch ejecuta el detector "Hey Siri" solo cuando su coprocesador de movimiento detecta un gesto de elevación de la muñeca, que enciende la pantalla, por eso no puede usar "Hey Siri" en Apple Watch cuando la pantalla está apagada.
WatchOS asigna "Hey Siri" aproximadamente el cinco por ciento del presupuesto de cómputo limitado.
Entonces, ¿cómo reconocen la verdadera frase "Hey Siri" en tiempo real?
Una vez capturada por su dispositivo, la forma de onda se divide en una secuencia de cuadros, cada uno de los cuales describe el espectro de sonido de aproximadamente 0.01 segundos. Aproximadamente veinte de estos cuadros a la vez (0.2 segundos de audio) se pasan a la red neuronal profunda.
Allí, el sonido se convierte en una distribución de probabilidad sobre un conjunto de clases de sonido de voz: las que se usan en la frase "Hey Siri", más silencio y otras palabras, para un total de aproximadamente 20 clases de sonido. Luego calcula un puntaje de confianza de que la frase que pronunció fue "Hola Siri".
Si el puntaje es lo suficientemente alto, Siri se despierta.
En iPhone, usan una red neuronal para la detección inicial (que se ejecuta en el chip de movimiento de consumo de energía) y otra como un verificador secundario (que se ejecuta en el procesador principal). Para reducir los disparadores falsos, Apple también compara cualquier nueva expresión "Hey Siri" con las cinco frases guardadas en el dispositivo durante el proceso de inscripción "Hey Siri".
"Este proceso no solo reduce la probabilidad de que 'Hey Siri' pronunciado por otra persona active su iPhone, sino que también reduce la velocidad a la que otras frases similares suenan a Siri", explica el trabajo de investigación..
El dispositivo también carga la forma de onda al servidor Siri.
En caso de que el reconocedor de voz principal que se ejecuta en la nube lo escuche como algo diferente a "Hola Siri" (por ejemplo, "Hola en serio", "Hola Siria" o algo así), el servidor envía una señal de cancelación al teléfono para volver a ponerlo en dormir.
"En algunos sistemas, ejecutamos una versión reducida del reconocedor de voz principal en el dispositivo para proporcionar una verificación adicional antes", señala Apple. Supongo que por "algunos sistemas" se refieren a dispositivos conectados a la alimentación, como Macs, Apple TV y tal vez incluso iPads.
En la foto de arriba: el patrón acústico a medida que se mueve a través del detector "Hey Siri", con un espectrograma de la forma de onda del micrófono que se muestra en la parte inferior. El puntaje final, que se muestra en la parte superior, se compara con un umbral para decidir si activar Siri.
El umbral en sí mismo es un valor dinámico porque Apple quiere permitir que los usuarios activen Siri en condiciones difíciles: si se pierde un evento genuino "Hey Siri", el sistema entra en un estado más sensible durante unos segundos. Repetir la frase durante ese tiempo activará Siri.
Y así es como entrenaron el modelo acústico del detector "Hey Siri":
Mucho antes de que hubiera una función Hey Siri, una pequeña proporción de usuarios diría 'Hey Siri' al comienzo de una solicitud, comenzando presionando el botón. Utilizamos dichos enunciados 'Hey Siri' para el conjunto de entrenamiento inicial para el modelo de detector de inglés de EE. UU..
También incluimos ejemplos generales del habla, como los utilizados para entrenar al reconocedor principal del habla. En ambos casos, utilizamos la transcripción automática en las frases de entrenamiento. Los miembros del equipo Siri verificaron la precisión de un subconjunto de las transcripciones..
El modelo acústico en inglés estadounidense incluso tiene en cuenta diferentes primeras vocales en "Siri", una como "grave" y la otra como "Siria".
El entrenamiento de un modelo lleva aproximadamente un día y generalmente hay algunos modelos en entrenamiento en cualquier momento. Generalmente entrenan tres versiones: un modelo pequeño para el primer pase en el chip de movimiento, un modelo de mayor tamaño para el segundo pase y un modelo de tamaño mediano para Apple Watch.
Y el último dato: el sistema está entrenado para reconocer también frases localizadas de "Hey Siri".
Por ejemplo, los usuarios de habla francesa dicen "Dis Siri". En Corea, dicen "Siri 야", que suena como "Siri Ya". Los usuarios de habla rusa usan la frase "привет Siri" (suena como "Privet Siri") y en tailandés "หวัด ดี Siri" (suena como "Wadi Siri").
"Hicimos grabaciones especialmente en diversas condiciones, como en la cocina (tanto cerca como lejos), automóvil, dormitorio y restaurante, por hablantes nativos de cada idioma", dice Apple.
Incluso usan podcasts y entradas de Siri en muchos idiomas para representar tanto los sonidos de fondo (especialmente el habla) como los "tipos de frases que un usuario podría decir a otra persona".
"La próxima vez que diga 'Hola Siri', puede pensar en todo lo que sucede para hacer que la respuesta a esa frase suceda, pero esperamos que 'simplemente funcione'", Apple lo resume muy bien.
El artículo altamente técnico proporciona una visión fascinante de la tecnología "Hey Siri" que damos por sentado, así que asegúrese de leerla o guardarla para más adelante si está interesado en aprender más.