Baidu's Artificial Intelligence Lab onthult synthetisch spraaksysteem

In de strijd om deep learning-technieken toe te passen op de echte wereld, steekt één bedrijf met kop en schouders boven de concurrentie uit. De DeepMind-dochteronderneming van Google heeft de techniek gebruikt om machines te maken die mensen kunnen verslaan in videogames en het oude spel Go. En vorig jaar zijn de Google Translate-services aanzienlijk verbeterd dankzij de introductie achter de schermen van deep-learningtechnieken.





Het is dus interessant om te zien hoe andere bedrijven aan het racen zijn om de achterstand in te halen. Vandaag is het de beurt aan Baidu, een internetzoekbedrijf dat wel eens wordt omschreven als het Chinese equivalent van Google. In 2013 opende Baidu een onderzoekslaboratorium voor kunstmatige intelligentie in Silicon Valley, wat een interessante vraag opriep: wat is er aan de hand?

Nu heeft Baidu's laboratorium voor kunstmatige intelligentie zijn werk aan spraaksynthese onthuld. Een van de uitdagingen bij spraaksynthese is het verminderen van de hoeveelheid finetuning die achter de schermen plaatsvindt. Baidu's grote doorbraak is het creëren van een deep-learning machine die dit soort bemoeienis grotendeels wegneemt. Het resultaat is een tekst-naar-spraaksysteem genaamd Deep Voice dat in slechts een paar uur kan leren praten met weinig of geen menselijke tussenkomst.

Eerst wat achtergrond. Tekst-naar-spraaksystemen zijn in de moderne wereld bekend in navigatie-apps, sprekende klokken, telefoonbeantwoordingssystemen, enzovoort. Traditioneel zijn deze gemaakt door een grote database met spraak van één persoon op te nemen en vervolgens de uitingen opnieuw te combineren om nieuwe zinnen te maken.



Het probleem met deze systemen is dat het moeilijk is om naar een nieuwe spreker over te schakelen of de nadruk in hun woorden te veranderen zonder een geheel nieuwe database op te nemen. Dus computerwetenschappers hebben aan een andere aanpak gewerkt. Hun doel is om spraak in realtime vanaf het begin te synthetiseren als dat nodig is.

Vorig jaar maakte Google's DeepMind een belangrijke doorbraak op dit gebied. Het onthulde een neuraal netwerk dat leert spreken door naar de geluidsgolven van echte spraak te luisteren en dit te vergelijken met een transcriptie van de tekst. Na de training was het in staat om synthetische spraak te produceren op basis van de tekst die het kreeg. Google DeepMind noemde zijn systeem WaveNet.

Het werk van Baidu is een verbetering op WaveNet, dat tijdens het trainingsproces nog enige fine-tuning vereist. WaveNet is ook rekenkundig veeleisend, zozeer zelfs dat het onduidelijk is of het ooit kan worden gebruikt om spraak in realtime in de echte wereld te synthetiseren.



Baidu zegt dat het deze problemen heeft overwonnen. De aanpak is relatief eenvoudig. Het maakt gebruik van diepgaande leertechnieken om tekst om te zetten in de kleinste perceptueel verschillende geluidseenheden, fenomenen genaamd. Het gebruikt vervolgens een spraaksynthesenetwerk om deze geluiden te reproduceren. Het belangrijkste verschil hier is dat elke fase van het proces werkt door middel van diepgaand leren, dus als het eenmaal is getraind, is er weinig behoefte aan menselijke afstemming.

Neem bijvoorbeeld het woord hallo. Het systeem van Baidu moet eerst de fenomenengrenzen op de volgende manier uitwerken: (stilte HH), (HH, EH), (EH, L), (L, OW), (OW, stilte). Het voedt deze vervolgens in een spraaksynthesesysteem, dat het woord uitspreekt.

De enige variabelen die het nieuwe systeem niet controleert, zijn de spanningen op de fonemen, hun duur en de natuurlijke frequentie van het geluid. Hierdoor kan Baidu de stem van de spreker en de emotie die het woord overbrengt veranderen.



Dit alles is rekenkundig veeleisend. De bemonsteringsfrequentie voor realistische spraak ligt in de buurt van 48 kilohertz. Een computer heeft dus ongeveer 20 microseconden om elk monster te genereren. Omdat het proces van het creëren van dit geluid meerdere lagen omvat, moet elk van deze zijn werk doen in 1,5 microseconde. Om dit in context te plaatsen: toegang tot een waarde die zich in het hoofdgeheugen van een CPU bevindt, kan 0,1 microseconde duren.

Om in realtime gevolgtrekkingen uit te voeren, moeten we er goed op letten dat we nooit resultaten opnieuw berekenen, het hele model in de processorcache opslaan (in tegenstelling tot het hoofdgeheugen) en optimaal gebruikmaken van de beschikbare rekeneenheden, zeggen de Baidu-onderzoekers.

Desalniettemin zeggen ze dat realtime spraaksynthese mogelijk is met hun systeem en hebben ze het getest door crowdsourcing-percepties ervan op Amazon's Mechanical Turk. Dit hield in dat een groot aantal luisteraars werd gevraagd om de kwaliteit van de audio te beoordelen en deze te vergelijken met grondwaarheidsgegevens in de vorm van een originele menselijke opname.



Baidu zegt dat de resultaten van hoge kwaliteit zijn. We optimaliseren de gevolgtrekking naar sneller dan realtime snelheden, wat aantoont dat deze technieken kunnen worden toegepast om in realtime audio te genereren op een streaming-manier, zeggen ze.

Maar nog belangrijker is het nut van het systeem, dat snel kan worden omgeschoold op geheel nieuwe datasets. Ons systeem kan worden getraind zonder enige menselijke tussenkomst, wat het proces van het maken van tekst-naar-spraaksystemen drastisch vereenvoudigt, aldus het team.

Dat is interessant werk dat voortbouwt op de inspanningen van Google om tekst-naar-spraaksystemen aanzienlijk te verbeteren. Dat is belangrijk omdat de decennia-oude droom van sciencefictionschrijvers is om in realtime met computers te kunnen praten en dat ze antwoord kunnen geven. Text-to-speech is daar een belangrijk onderdeel van.

Het is natuurlijk onwaarschijnlijk dat Google's DeepMind (of iemand anders in de wereld van deep learning) stil heeft gezeten terwijl Baidu zijn synthetische spraaksysteem perfectioneert. Het zal zeker een kwestie van tijd zijn voordat we zien wat ze hebben uitgespookt en hoe het zich verhoudt.

Referentie: arxiv.org/abs/1702.07825 : Diepe stem: realtime neurale tekst-naar-spraak

zich verstoppen