Baidus Labor für künstliche Intelligenz stellt synthetisches Sprachsystem vor

Im Kampf um die Anwendung von Deep-Learning-Techniken in der realen Welt steht ein Unternehmen der Konkurrenz weit voraus. Googles DeepMind-Tochter hat die Technik genutzt, um Maschinen zu entwickeln, die Menschen bei Videospielen und dem alten Go-Spiel schlagen können. Und im vergangenen Jahr haben sich die Google Translate-Dienste dank der Einführung von Deep-Learning-Techniken hinter den Kulissen deutlich verbessert.





Es ist also interessant zu sehen, wie andere Unternehmen versuchen, aufzuholen. Heute ist Baidu an der Reihe, ein Internet-Suchunternehmen, das manchmal als chinesisches Äquivalent zu Google bezeichnet wird. Im Jahr 2013 eröffnete Baidu im Silicon Valley ein Forschungslabor für künstliche Intelligenz und warf eine interessante Frage auf: Was hat es vor?

Jetzt hat Baidus Labor für künstliche Intelligenz seine Arbeit an der Sprachsynthese enthüllt. Eine der Herausforderungen bei der Sprachsynthese besteht darin, die Menge an Feinabstimmung zu reduzieren, die hinter den Kulissen stattfindet. Baidus großer Durchbruch besteht darin, eine Deep-Learning-Maschine zu entwickeln, die diese Art der Einmischung weitgehend überflüssig macht. Das Ergebnis ist ein Text-to-Speech-System namens Deep Voice, das das Sprechen in nur wenigen Stunden mit wenig oder ohne menschliche Eingriffe lernen kann.

Zuerst etwas Hintergrund. Text-to-Speech-Systeme sind in der modernen Welt von Navigations-Apps, sprechenden Uhren, Anrufbeantwortern und so weiter bekannt. Traditionell wurden diese erstellt, indem eine große Sprachdatenbank einer einzelnen Person aufgezeichnet und die Äußerungen dann neu kombiniert wurden, um neue Sätze zu bilden.



Das Problem bei diesen Systemen besteht darin, dass es schwierig ist, zu einem neuen Sprecher zu wechseln oder die Betonung in seinen Worten zu ändern, ohne eine völlig neue Datenbank aufzuzeichnen. Daher haben Informatiker an einem anderen Ansatz gearbeitet. Ihr Ziel ist es, Sprache in Echtzeit nach Bedarf von Grund auf neu zu synthetisieren.

Im vergangenen Jahr gelang Googles DeepMind in diesem Bereich ein bedeutender Durchbruch. Es enthüllte ein neuronales Netzwerk, das das Sprechen lernt, indem es den Schallwellen echter Sprache zuhört und diese mit einer Abschrift des Textes vergleicht. Nach dem Training war es in der Lage, synthetische Sprache basierend auf dem ihm gegebenen Text zu produzieren. Google DeepMind nannte sein System WaveNet.

Baidus Arbeit ist eine Verbesserung gegenüber WaveNet, das während des Schulungsprozesses noch etwas Feinabstimmung erfordert. WaveNet ist auch rechenintensiv, so sehr, dass unklar ist, ob es jemals verwendet werden könnte, um Sprache in Echtzeit in der realen Welt zu synthetisieren.



Baidu sagt, es habe diese Probleme überwunden. Sein Ansatz ist relativ einfach. Es verwendet Deep-Learning-Techniken, um Text in die kleinsten wahrnehmbar unterschiedlichen Klangeinheiten umzuwandeln, die als Phänomene bezeichnet werden. Es verwendet dann ein Sprachsynthesenetzwerk, um diese Töne zu reproduzieren. Der Hauptunterschied besteht darin, dass jede Phase des Prozesses durch Deep Learning funktioniert, sodass nach dem Training nur noch wenig menschliche Feinabstimmung erforderlich ist.

Nehmen Sie zum Beispiel das Wort Hallo. Baidus System muss zunächst die Phänomengrenzen auf folgende Weise ausarbeiten: (Stille HH), (HH, EH), (EH, L), (L, OW), (OW, Stille). Diese speist er dann in ein Sprachsynthesesystem ein, das das Wort ausspricht.

Die einzigen Variablen, die das neue System nicht kontrolliert, sind die Belastungen der Phoneme, ihre Dauer und die Eigenfrequenz des Tons. Dadurch kann Baidu die Stimme des Sprechers und die Emotion, die das Wort vermittelt, verändern.



All dies ist rechenintensiv. Die Abtastrate für realistische Sprache liegt im Bereich von 48 Kilohertz. Ein Computer hat also etwa 20 Mikrosekunden Zeit, um jedes Sample zu erzeugen. Da der Entstehungsprozess dieses Klangs mehrere Schichten umfasst, muss jede von ihnen ihre Aufgabe in 1,5 Mikrosekunden erfüllen. Um dies in einen Zusammenhang zu bringen, kann der Zugriff auf einen Wert, der sich im Hauptspeicher einer CPU befindet, 0,1 Mikrosekunden dauern.

Um Inferenzen in Echtzeit durchzuführen, müssen wir sorgfältig darauf achten, niemals Ergebnisse neu zu berechnen, das gesamte Modell im Prozessor-Cache (im Gegensatz zum Hauptspeicher) zu speichern und die verfügbaren Recheneinheiten optimal zu nutzen, sagen die Baidu-Forscher.

Nichtsdestotrotz sagen sie, dass mit ihrem System Echtzeit-Sprachsynthese möglich ist, und haben es getestet, indem sie Wahrnehmungen davon auf Amazons Mechanical Turk gesammelt haben. Dazu wurde eine große Anzahl von Zuhörern gebeten, die Audioqualität zu bewerten und sie mit Ground-Truth-Daten in Form einer originalen menschlichen Aufnahme zu vergleichen.



Laut Baidu sind die Ergebnisse von hoher Qualität. Wir optimieren die Inferenz auf Geschwindigkeiten, die schneller als Echtzeit sind, und zeigen, dass diese Techniken angewendet werden können, um Audio in Echtzeit im Streaming-Verfahren zu erzeugen, sagen sie.

Aber noch bedeutender ist die Nützlichkeit des Systems, das schnell auf völlig neue Datensätze umgeschult werden kann. Unser System ist ohne menschliche Beteiligung trainierbar, was den Prozess der Erstellung von Text-to-Speech-Systemen dramatisch vereinfacht, sagt das Team.

Das ist eine interessante Arbeit, die auf den Bemühungen von Google aufbaut, Text-to-Speech-Systeme deutlich besser zu machen. Das ist wichtig, denn der jahrzehntelange Traum von Science-Fiction-Autoren besteht darin, in Echtzeit mit Computern sprechen zu können und ihnen zu antworten. Text-to-Speech ist dabei ein wichtiger Bestandteil.

Natürlich ist es unwahrscheinlich, dass Googles DeepMind (oder sonst jemand in der Welt des Deep Learning) still gesessen hat, während Baidu sein synthetisches Sprachsystem perfektioniert. Es wird sicherlich nur eine Frage der Zeit sein, bis wir sehen, was sie vorhatten und wie es im Vergleich abschneidet.

Ref: arxiv.org/abs/1702.07825 : Deep Voice: Neurales Text-to-Speech in Echtzeit

verbergen