imagazin arrow2-left arrow2-right arrow2-top arrow-up arrow-down arrow-left arrow-right cart close dossiers education fb instagram menu notification oander rss rss-footer search service shuffle speech-bubble star store stores tests twitter youtube

Odstartujte nový rok efektivně!

Aplikace, které vám pomohou dosáhnout vašich cílů.

Hey Siri – Úžasná technologie ve dvou slovech


Apple minulé léto spustil Machine Learning Journal, kde se nyní objevuje nový příspěvek. Tentokrát se zaměřením na využití, upravitelnost a další zajímavosti příkazu Hey Siri. Na první pohled může jít o jednoduchou věc, jde přitom o skutečně pokročilou technologii.

Fakt, že se Apple rozhodl vydávat odborné články o svém výzkumu umělé inteligence, je pro milovníky vědy a technologií úžasnou věcí. Výsledky vývoje Applu zná snad každý, miliony lidí po celém světě je denně využívají. Publikované články přitom pomáhají nahlédnout pod pokličku, abychom pochopili, proč tomu tak je.

Dříve jsme rozebírali využití funkce Hey Siri, psali jsme však o nastavení. Zde je krátké shrnutí:

Na pozadí neustále běží malá aplikace na rozpoznávání řeči, která detekuje pouze ona dvě kouzelná slova. Po zaznamenání spojení „Hey Siri“ s ním Siri začne dál pracovat. Detektor „Hey Siri“ konverzuje akustický vzor vašeho hlasu pomocí Deep Neural Network (DNN). Posléze vypočítá, s jakou pravděpodobností jste opravdu vyslovili frázi „Hey Siri“. Pokud je pravděpodobnost dostatečně vysoká, Siri začne reagovat.

Funkce byla představena spolu s iOS 8 a zpočátku fungovala pouze ve chvíli, kdy bylo zařízení připojeno na nabíječku. S iPhonem 6s nicméně přišel i drobný Always On Processor (AOP), jenž potřeboval pouze malé množství energie. Je přitom zabudovaný přímo do koprocesoru Motion. Ten má neustálý přístup ke vstupnímu signálu mikrofonu, mezi dalšími zvuky se pak snaží rozpoznávat příkaz Hey Siri. Díky úspornému řešení může být Siri na zařízeních novějších než iPhone 6 spuštěna kdykoliv.

V minulém článku jsme se na detaily procesoru podívali blíže. Když funkci poprvé zapnete, instalační pomocník vás provede jednotlivými kroky nastavení. Nejde o nic přemrštěného, prostě třikrát zopakujete příkaz: „Hey Siri,“ pak zkusíte: „Hey Siri, It’s me,“ a „Hey Siri, how is the weather today?“

Veškeré vyřčené spojení „Hey Siri“ je porovnáno s uloženými příklady. Detektor vyšle časovou informaci, která se používá pro konverzi akustického vzoru do vektoru stálé délky stanovené průměrem každého stavu. Speciálně vytrénovaná DNN transformuje tento vektor do „prostoru řeči“, kde jsou vzory stejného mluvčího blíže sobě než vzory rozdílných mluvčích. Tyto vzdálenosti porovnáváme se vzory vytvořenými při registraci a rozhodujeme, zda byl detektor probuzen slovy „Hey Siri“ vyřčenými registrovaným uživatelem.

Díky tomu zařízení rozpozná zvuk nebo zvuky, které se blíží vašemu hlasu. V praxi to však znamená, že prakticky každý může Siri spustit. Může se vám třeba stát, že při sledování filmu některá z postav magickou hlášku vysloví a vám se virtuální asistentka probudí k životu.

Důvodem je fakt, že je extrémně složité oddělovat mluvící jednotlivce. Zatímco syntezátor řeči zvládne konkrétní větu opakovat zcela stejně, člověk ve skutečnosti mluví pokaždé o dost jinak. V angličtině se tento fenomén označuje jako interspeaker variability a popisuje i ty nejdrobnější detaily, jež mají vliv na to, jak mluvíme. Projev se nám mění podle únavy, nemoci, psychické pohody apod.

Proto je tak náročné rozpoznávat konkrétního uživatele. A to ani nemluvíme o dalších akustických vstupech či okolním hluku. Je obrovský rozdíl, když chcete virtuální asistentku aktivovat při jízdě v autobusu nebo v naprostém klidu vlastní pracovny.

Mapování a podoba zvukových vln posledních dvou písmen (ri) standardně vysloveného příkazu „Hey Siri“. Tečky a linky rozdílných barev indikují, že přístroj zvládá rozpoznat akustické detaily (intenzitu, tón, formant, periodu apod.).
Mapování a podoba zvukových vln posledních dvou písmen (ri) příkazu „Hey Siri“ vysloveného potichu. Jasně vidíme mnohem více ruchů a méně period, přístroj má tak rozpoznání příkazu zásadně náročnější.

Během vývoje se muselo dbát na několik aspektů. Na jednu stranu se musel minimalizovat počet nechtěného spuštění, které jsou označovány jako False Accepts (FA). Ve stejnou chvíli se však musel minimalizovat počet situací, kdy by uživatel chtěl funkci spustit, ale zařízení ji špatně odmítlo. Tento stav je označován jako Fales Rejet (FR). No a nakonec tu máme omezení výše zmíněného zapojení aktivit třetích stran, jež jsou vedeny jako Imposter Accepts (IA).

Apple má řešení všech problémů. FA se dají odstranit pomocí přesně vybraných klíčových slov. Příkaz „Hey Siri“ byl vybrán, protože jde o skutečně unikátní slova. Ještě před spuštěním funkce se zjistilo, že mnoho lidí právě takto své asistenty oslovuje. Pochopitelně jsme si zvykli na to, že když mluvíme s člověkem, dodržujeme jisté zásady zdvořilého chování. Neumíme se přitom úplně oprostit od toho, že nemluvíme se skutečnou osobou, ale se strojem. I nám se občas stane, že do příkazu připojíme slovo „prosím“.

Šťastnou náhodou přitom je, že v každodenním životě je jen velice málo vyjádření, jež by se podobala Hey Siri (pochopitelně nyní mluvíme o anglických konverzacích). Apple jich několik vyjmenovává, mezi podobné výrazy patří třeba: „Are you serious,“ nebo: „in Syria today“. Jestliže Siri používáme u nás, tyto věty jen těžko zařadíme do běžné mluvy, tento druh FA pro nás tedy neplatí.

FR jsou úplně jiným problémem a setkáváme se s ním běžněji. Situace však může být snadno zlepšena díky tzv. Second Chance Mechanism. Jestliže detektor rozpozná příkaz, který je na spodní hranici rozpoznání, systém příkaz zamítne a sníží citlivost – díky tomu je druhý pokus o příkaz mnohem úspěšnější.

No a pak tu máma IA, která jsou na odstranění nejnáročnější. Nejlepším způsobem je neustále zlepšovaný model řeči. Po nastavení služby telefon nekončí s učením, s každým dalším úspěšným příkazem zpřesňuje nastavení a získává detailnější obraz o tom, jak se Siri mluvíte. Stejně tak se učí rozpoznávat běžné okolní ruchy. Díky tomu Siri lépe rozpozná váš hlas a odmítne jiné.

Během vývoje je nyní mnohem důležitější rozpoznat, kdo příkazy dává, než co říká.

Celkovým cílem rozpoznávání mluvčího (SR) je zjistit totožnost osoby, která používá svůj hlas. Oproti rozpoznávání hlasu, které cílí na „co je řečeno“, nás zajímá „kdo mluví“. SR fungující na základě a priori známe frázi, jako je „Hey Siri“, je často označováno jako textově-závislé SR; jinak řečeno, problém je známý jako textově-závislé SROV.

Můžeme vidět, že i na pohled jednoduchá funkce potřebuje skutečně komplikovanou a vyladěnou technologii. Jestliže vás zajímají multidimenzionální řečové vektory založené na Mel Frequency Cepstral Coefficients nebo na analýze lineárních diskriminantů, doporučujeme vám projít celý článek.

Zdroj: Apple Machine Learning Journal

iMac Pro
Apple Inc. (AAPL)

Tohle už jste četli?

Nový systém se zaměřuje především na dvě oblasti: na uživatelský zážitek a na výkon. Z pohledu výkonu staví na novém frameworku Metal, který Apple již dříve přinesl na iOS. Metal kombinuje schopnosti technologií OpenGl a OpenCL do jednoho prvku.

Klikněte zde!