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

Kipróbáltuk az iPhone XS Max-ot

Megnéztük hogyan teljesít hosszabb távon!

Hey Siri – két szó, elképesztő technológia


Újabb bejegyzéssel bővült az Apple által tavaly nyáron útjára indított Machine Learning Journal. Ezúttal a Hey Siri parancs működéséről, személyreszabásáról és más érdekességekről olvashattunk. Egyszerűnek tűnhet, de komoly technológiáról van szó.

Az, hogy az Apple elkezdte rövid publikációk formájában megosztani a mesterségesintelligencia-kutatásait, az egyik legjobb dolog, ami az Apple technológiái iránt érdeklődőkkel történhetett. Az Apple fejlesztéseit mindenki ismeri, sokan még használják is őket nap, mint nap, így ezek az írások úgy tudnak tudományosak lenni, hogy közben a laikus olvasók is kötni tudják valahova az információkat, nem csak egy, a valóságból kiragadott katyvasz lesz az egész.

A Hey Siri funkció működéséről korábban már volt szó, ezúttal inkább a személyre szabásra helyeződött a hangsúly, azonban ennek megértéséhez egy kis ismétlés nem árthat. Szóval röviden, így működik maga a detektálás:

Egy nagyon kicsi hangfelismerő modul folyamatosan működik és hallgatózik, mindössze két apró szó után kutatva. Miután detektálta a “Hey Siri” kifejezést, elkezdi parancs vagy lekérésként elemezni a kuécsszavakat követő beszédet. A “Hey Siri” detektor úgynevezett Deep Neural Networköt (DNN) használ arra a célra, hogy a hangod akusztikai mintázatát minden egyes időpillanatban valószínűség-eloszlással elemezze amíg a beszéd tart. Ezután az adatok felhasználva egy időbeli integrációs folyamattal kiszámolja a Hey Siri találati valószínűségét, amire egy pontszámot ad. Ha ez a pontszám elég magas, akkor Siri “felébred”.

A funkciót még az iOS 8-cal egyetemben mutatták be és kezdetben csak akkor működött, amikor a készülék töltőre volt csatlakoztatva. Az iPhone 6s-től fölfelé azonban bekerült egy apró, nagyon kis energiaigényű, úgynevezett Always On Processzor (AOP) is a motorháztető alá, közvetlenül a Motion segédprocesszorba ágyazva. Ennek folyamatos hozzáférése van a mikrofon bemeneti jeléhez, amelyből csak és kizárólag a Hey Siri parancsot próbálja kihámozni. Ennek az energiatakarékos megoldásnak köszönhető, hogy az újabb iPhone-okon már akármikor aktiválható a Siri.

A mostani bejegyzésben egy kicsit részletesebb betekintést nyerhetünk az eljárás egyénreszabásának részleteibe. Amikor először bekapcsoljuk a funkciót, egy varázsló végigkísér bennünket a beállítás folyamatán. Ez lényegében annyiból áll, hogy a el kell ismételnünk a “Hey Siri” kifejezést háromszor, majd a “Hey Siri, how is the weather today?” és a “Hey Siri, it’s me.” mondatokat egyszer-egyszer.

A beállítás során összevetünk minden lehetséges új Hey Siri kifejezést az eltárolt mintákkal a következők szerint. A detektor az időzítésről gyűjt információkat, amelyeket utána arra használunk, hogy az akusztikai mintázatot átkonvertáljuk egy fix hosszúságú vektorrá, az egyes állapotokhoz igazított ablakok átlagolásával. Egy különálló, speciálisan erre a feladatra tanított DNN átalakítja ezt a vektort egy úgynevezett “beszélő térré”.

Az azonos beszélőtől származó minták tendenciaszerűen közelebb fognak esni ehhez a térhez, míg az eltérő beszélők mintái távolabb. A beszélőfelismerés során összevetjük az aktuálisan mért távolságot a beállítás során kimért referenciaértékkel. Ehhez a referenciaértékhez egy újabb küszöbérték tartozik, ami meghatározza majd, hogy a Hey Siri parancsot a beállítást végző beszélőhöz, vagy valaki máshoz társítja majd a rendszer.

Ennek köszönhetően tehát elméletben nagyjából csak minket, vagy a hangszínünkhöz közeleső személyek által kiadott parancsokra kéne felébrednie az asszisztensnek. A gyakorlati tapasztalat azonban inkább azt mutatja, hogy jóformán mindenki be tudja kapcsolni mindenki Sirijét – gondolom veletek is megesett már, hogy egy videót nézve felvillant a telefonotok, ha elhangzott a varázsszó.

Ennek leginkább az áll a hátterében, hogy nem olyan egyszerű az egyéni beszédjellemzők kinyerése. Míg egy gépi beszédszintetizátor végtelenszer tudja ugyanúgy elismételni az egyes szavakat, addig az ember nagyon változatosan beszél egyfolytában. Ezt szokás beszélőn belüli varianciának nevezni, és olyan apróságok is hatással vannak rá, amikre nem is gondolnál. Máshogy beszélsz ha fáradt vagy, ha beteg vagy, ha rossz a hangulatod, ha vidám vagy és még sorolhatnánk.

Mindez pedig erősen megnehezíti a gépek számára, hogy egyértelműen be tudjanak azonosítani téged. Arról már nem is beszélve, hogy az akusztikai bemenetet a külső tényezők is erősen befolyásolják, nem mindegy hogy buszon ülve akarod aktiválni az asszisztenst, vagy a könyvtár csendjében.

A normálisan ejtett “Hey Siri” parancs, utolsó két beszédhangjának (ri) hullámformája és hangszínképe. A különböző színű pontos és vonalak azt jelülik, hogy a gép detektálni tudott akusztikai jellemzőket (intenzitás, beszéddallam, formánsok, periódusok stb.).
A suttogott “Hey Siri” parancs utolsó két beszédhangjának (ri) hullámformája és hangszínképe. Látható, hogy jóval zörejesebb, és kevésbe periodikus az egész, a gép is nehezebben tud vele mit kezdeni, ha egyáltalán.

A tervezés során okosan kell lavírozni több tényező között. Egyrészt oda kell figyelni arra, hogy ne legyen túl sok a téves riasztás, amit szaknyelven False Accept (FA)-nak neveznek. Ugyanígy nem jó az sem, ha a rendszer tévesen utasítja el a felszólítást. Ezt nevezzük False Reject (FR)-nek. Végül pedig csökkenteni kell a feljebb is említett, külső személyektől származó aktiválásokat is, azaz az Imposter Accept (IA)-et.

Az Apple-nek mind a háromra vannak megoldásai. Az FA leginkább a megfelelően kiválasztott kulcsszóval redukálható. A „Hey Siri“-re azért esett a választás, mert természetesen adja magát. Megfigyelték, hogy már a funkció előtt is sokan úgy kérdeztek dolgokat a Siritől, hogy kvázi beköszöntek neki. Nyilván megszoktuk, hogy akivel beszélgetünk azzal illik illedelmesnek lenni, és nehezen tudunk elvonatkoztatni attól, hogy géppel van dolgunk. Én a mai napig néha önkéntelenül is odamondom a please-t a parancsok végére.

Szerencsés egybeesés, hogy a hétköznapi életben relatíve kevésszer hangzanak el körülöttünk olyan szavak, amelyek hangzásukban emlékeztetnének a Hey Sirire. Az Apple azért tud párat említeni, ilyen például az „are you serious?“ kérdés, vagy az “in Syria today” kifejezés. Nyilván Magyarországon nem ezek a leggyakoribbak, mindenesetre tapasztalataim szerint ilyen értelemben vett FA elég kevésszer szokott megesni.

A FR már más tészta – ezzel valószínűleg mindenki gyakrabban találkozik. Szerencsére valamelyest lehet javítani a dolgon, amihez az Apple úgynevezett második esély mechanizmust használ. Ha a detektor ugyan érzékel valamit, de az a fentebbi módon meghatározott küszöbértéknek csak az alját súrolja, akkor a rendszer ugyan elutasítja a kérést, de jóval érzékenyebbre állítja magát, azaz letolja a küszöbértéket néhány másodpercre. Ennek köszönhetően sokkal kisebb az esélye annak, hogy a másodszor elhangzó parancs is félremenjen.

Végül pedig ott van a IA, amit talán a legnehezebb redukálni. Nagyon nincs is jobb mód rá, csak a beszélőmodell folyamatos tökéletesítési, pontosítása. Miután beállítottuk a funkciót (explicit enrollment), a telefon nem hagyja abba a tanulást, és minden egyes sikeres felismerés után kicsit részletesebb képet kap róla, hogyan szoktunk a Sirihez szólni, és milyen környezeti zajokkal érdemes számolni. Ennek köszönhetően idővel egyre inkább rátanul a mi hangunkra a modell (implicit enrollment), és egyre nagyobb valószínűséggel fogja elutasítani az idegenekét.

A rendszer fejlesztése során tehát sokkal alapvetőbb szempont annak a megállapítása, hogy „ki beszél“, mint annak hogy „mit beszél“.

A beszélőfelismerés (speaker recognition [SR]) általános célja, hogy megbizonyosodjunk annak a személynek az identitásáról, akinek a hangját detektáltuk. Számunkra az az érdekes, hogy ki beszél, szemben a beszédfelismerés alapvető kérdésével, azaz azzal, hogy „mit beszéltek“. Azokat a beszélő felismerő rendszereket, amelyek egy előzetesen meghatározott kifejezésre aktiválódnak szokás szövegfüggő beszélőfelismerésnek nevezni. Ellenkező esetben a problémát szövegfüggetlen beszélőfelismerésnek hívjuk.

Látható tehát, hogy egy meglehetősen összetett, elég kifinomult technológiát igényel még ez az egyszerű funkció is. Akit lázba hoznak az olyan nyalánkságok, mint a Mel-frekvenciás kepsztrális együtthatón (MFCC) alapuló sok-dimenzionális szupervektrok, vagy a lineáris diszkriminancia-analízis, az mindenképpen olvassa el a teljes bejegyzést. A többiek pedig amikor legközelebb odaszólnak a telefonjuk, hogy „Hey Siri”, gondoljanak rá, milyen elképesztő folyamatok zajlanak a háttérben.

Forrás: Apple Machine Learning Journal

iPhone XR | Részletre is

Ezt már olvastad?

A Sirinek ez is az egyik baja, hogy mindenki a célközönség. Valószínűleg hatékonyabb lenne, ha először jól működő modulokat hoznának létre egy-egy funkcióra szabva.

Miért nem ismeri anyanyelvünket az Apple virtuális asszisztense? - Klikk ide!