Een zeer interessant technisch artikel, gepubliceerd op 1 oktober op Apple's Machine Learning Journal-blog, is tot op heden onopgemerkt gebleven.
Daarin legt Apple gedetailleerd uit hoe de ongebonden 'Hey Siri'-functie gebruikmaakt van de hardware, software en de kracht van iCloud om klanten hun assistent handsfree te laten gebruiken.
Het systeem combineert cloudgebaseerde spraakherkenning, interpretatie van de natuurlijke taal en andere services met hardware-ondersteunde verwerking op het apparaat. Op een iOS-apparaat wordt de hele tijd 'een heel kleine spraakherkenner' gebruikt, die alleen naar de zin 'Hé Siri' luistert.
De microfoon in uw iPhone of Apple Watch neemt 16.000 streams instantane golfvormmonsters per seconde op. Dit is de reden waarom dat uw iPhone-batterij niet zwaar belast of andere systeembronnen monopoliseert, zoals RAM en CPU:
Om te voorkomen dat de hoofdprocessor de hele dag wordt uitgevoerd, alleen om te luisteren naar de triggerzin, heeft de altijd actieve coprocessor van de iPhone (AOP, een hulpstroomprocessor met laag vermogen ingebed in de M-serie motion coprocessor van Apple) toegang tot het microfoonsignaal op uw iPhone 6s en hoger.
We gebruiken een klein deel van de beperkte verwerkingskracht van de AOP om een detector met een kleine versie van het neurale netwerk te laten werken. Wanneer de score een drempel overschrijdt, maakt de motion coprocessor de hoofdprocessor wakker, die het signaal analyseert met behulp van een groter neuraal netwerk.
Vanwege zijn veel kleinere batterij, werkt Apple Watch alleen met de "Hey Siri" -detector wanneer de bewegingscoprocessor een polsbeweging detecteert, waardoor het scherm wordt ingeschakeld. Daarom kunt u "Hey Siri" op Apple Watch niet gebruiken als het scherm is uitgeschakeld.
WatchOS wijst "Hey Siri" ongeveer vijf procent van het beperkte rekenbudget toe.
Dus, hoe herkennen ze de echte "Hey Siri" -zin in realtime??
Eenmaal vastgelegd door uw apparaat, wordt de golfvorm opgedeeld in een reeks frames, die elk het geluidsspectrum van ongeveer 0,01 sec beschrijven. Ongeveer twintig van deze frames tegelijk (0,2 sec. Audio) worden doorgegeven aan het diepe neurale netwerk.
Daar wordt het geluid omgezet in een waarschijnlijkheidsverdeling over een reeks spraakgeluidsklassen: die welke worden gebruikt in de uitdrukking "Hey Siri", plus stilte en andere spraak, voor een totaal van ongeveer 20 geluidsklassen. Het berekent vervolgens een vertrouwensscore dat de uitdrukking die u uitsprak was "Hey Siri".
Als de score hoog genoeg is, wordt Siri wakker.
Op de iPhone gebruiken ze één neuraal netwerk voor initiële detectie (uitgevoerd op de power-sipping motion chip) en een ander als secundaire checker (uitgevoerd op de hoofdprocessor). Om valse triggers te verminderen, vergelijkt Apple ook nieuwe "Hey Siri" -uitingen met de vijf zinnen die op het apparaat zijn opgeslagen tijdens het "Hey Siri" -inschrijvingsproces.
"Dit proces vermindert niet alleen de kans dat 'Hey Siri' gesproken door een andere persoon je iPhone zal activeren, maar vermindert ook de snelheid waarmee andere, soortgelijk klinkende zinnen Siri activeren," verklaart het onderzoekspaper.
Het apparaat uploadt de golfvorm ook naar de Siri-server.
Als de belangrijkste spraakherkenner die in de cloud wordt uitgevoerd, het hoort als iets anders dan "Hey Siri" (bijvoorbeeld "Hey Seriously", "Hey Syria" of zoiets), stuurt de server een annuleringssignaal naar de telefoon om het terug te zetten naar slaap.
"Op sommige systemen voeren we een verkorte versie van de belangrijkste spraakherkenning op het apparaat uit om eerder een extra controle te geven," merkt Apple op. Ik neem aan dat met "sommige systemen" apparaten worden bedoeld die op stroom zijn aangesloten, zoals Macs, Apple TV's en misschien zelfs iPads.
Hierboven afgebeeld: het akoestische patroon terwijl het door de "Hey Siri" -detector beweegt, met een spectrogram van de golfvorm van de microfoon helemaal onderaan. De eindscore, bovenaan weergegeven, wordt vergeleken met een drempel om te beslissen of Siri wordt geactiveerd.
De drempel zelf is dynamische waarde omdat Apple gebruikers in moeilijke omstandigheden Siri wil laten activeren - als het een echte "Hey Siri" -gebeurtenis mist, gaat het systeem een paar seconden in een meer gevoelige toestand. Het herhalen van de zin gedurende die tijd zal Siri activeren.
En hier is hoe ze het akoestische model van de "Hey Siri" -detector trainden:
Ruim voordat er een Hey Siri-functie was, zei een klein deel van de gebruikers 'Hey Siri' aan het begin van een verzoek, te beginnen door op de knop te drukken. We hebben dergelijke 'Hey Siri'-uitingen gebruikt voor de eerste trainingsset voor het Amerikaans-Engelse detectormodel.
We hebben ook algemene spraakvoorbeelden opgenomen, zoals gebruikt voor het trainen van de belangrijkste spraakherkenner. In beide gevallen gebruikten we automatische transcriptie op de trainingszinnen. Siri-teamleden hebben een subset van de transcripties gecontroleerd op juistheid.
Het akoestische model in het Amerikaans Engels houdt zelfs rekening met verschillende eerste klinkers in "Siri", de ene als in "serious" en de andere als in "Syria".
Het trainen van één model duurt ongeveer een dag en er zijn meestal een paar modellen tegelijkertijd in training. Ze trainen over het algemeen drie versies: een klein model voor de eerste pass op de motion chip, een groter model voor de tweede pass en een middelgroot model voor Apple Watch.
En het laatste stukje: het systeem is getraind om ook gelokaliseerde "Hey Siri" -zinnen te herkennen.
Franstalige gebruikers zeggen bijvoorbeeld "Dis Siri". In Korea zeggen ze "Siri 야", wat klinkt als "Siri Ya". Russisch sprekende gebruikers gebruiken de uitdrukking "привет Siri" (klinkt als "Privet Siri") en in het Thais "หวัด ดี Siri" (klinkt als "Wadi Siri").
"We hebben opnames gemaakt speciaal in verschillende omstandigheden, zoals in de keuken (zowel dichtbij als veraf), auto, slaapkamer en restaurant, door moedertaalsprekers van elke taal," zegt Apple.
Ze gebruiken zelfs podcasts en Siri-ingangen in vele talen om zowel achtergrondgeluiden (vooral spraak) als de "soorten zinnen die een gebruiker tegen een andere persoon kan zeggen" weer te geven.
"De volgende keer dat je 'Hé Siri' zegt, denk je misschien aan alles wat er gebeurt om te reageren op die zin, maar we hopen dat het 'gewoon werkt'," vat Apple het goed samen.
Het zeer technische artikel biedt een fascinerend inzicht in de "Hey Siri" -technologie die we als vanzelfsprekend beschouwen, dus zorg ervoor dat u het leest of bewaart voor later als u meer wilt weten.