При чтении мы обычно не просто видим слова и понимаем их суть, но и проговариваем их про себя, не издавая при этом никаких звуков. Этот процесс называется субвокализацией. Особенность субвокализации заключается в том, что, хотя мы и не произносим слова вслух, мозг все равно заставляет мышцы голосового тракта двигаться, пускай и намного меньше, чем при обычной вокализованной речи. Инженеры довольно давно научились использовать эти сокращения мыщц и считывать их с помощью различных методов, в основном при помощи электромиографии, которая регистрирует электрическую активность мышц.
В основном нейромышечные интерфейсы для распознавания субковализации используют для превращения беззвучной речи в текст. Дэвид Гэдди (David Gaddy) и Дэн Кляйн (Dan Klein) из Калифорнийского университета в Беркли создали алгоритм для превращения беззвучной речи в слышимую. Ранее другие исследователи уже решали эту задачу: на человеке закрепляли электроды и он произносил текст, а параллельно с этим исследователи записывали звук и электрическую активность. Затем они обучали алгоритм на парах звук-электрическая активность, что позволяло восстановить первое из второго. Этот подход изначально закладывает в результаты неточность, потому что электрическая активность мышц голосового аппарата при слышимой и неслышимой речи похожа, но не идентична.
В новой работе Гэдди и Кляйн использовали более точный подход и решили обучать алгоритм на всех трех типах данных: запись слышимой речи и активность мышц во время слышимой и неслышимой речи. В основе их метода лежит преобразование исходных сигналов (звука и электромиографии) в представление в пространстве признаков. Создать преобразователь из пространства признаков в сигнал для данных, полученных при слышимой речи, относительно легко, потому что оба сигнала согласованы по времени и их можно использовать как пары для обучения. Для беззвучной речи это сделать не так легко, потому что парой для электромиографического сигнала будет беззвучная запись.
Разработчики решили эту проблему, создав алгоритм, который принимает все три сигнала (две электромиограммы и слышимую речь). На первом этапе он с помощью алгоритма динамической трансформации временной шкалы находит оптимальное соответствие между двумя сигналами: другими словами, он позволяет взять фрагмент из первой последовательности и найти его во второй. На втором этапе алгоритм, используя полученное соответствие, создает из аудиозаписи слышимой речи аудиозапись речи из электромиограммы неслышимой.
Этот алгоритм нужен не сам по себе, а в качестве учителя для нейросети, которая делает то же самое, получая на вход не три вида сигнала, а всего один (электромиограмму неслышимой речи). Исследователи использовали рекуррентную нейросеть с долгой краткосрочной памятью (LSTM). Затем данные из пространства признаков, полученные на выходе из нейросети, подаются на нейросеть WaveNet, декодирующую их в аудиозапись человеческого голоса.
Исследователи собрали собственный датасет для обучения алгоритма. Он состоит из 20 часов записи слышимой и беззвучной речи одного добровольца, представленной в виде трех типов данных (звук-две электромиограммы). Обучив нейросеть, авторы проверили понятность генерируемых записей речи. Обычно при проверке новых алгоритмов их результаты сравнивают с результатом лучшего на данный момент алгоритма для этой задачи (state of art). Поскольку ранее никто напрямую не переносил речь из электромиограммы беззвучной речи в звук, авторы решили сравнить полноценную нейросеть с ней же, но обученной на данных с электромиограммы слышимой речи.
Тесты проходили на закрытом словаре (человек зачитывал простые фразы типа даты) и на открытом (отрывки из книг). В качестве метрики авторы использовали стандартную пословную вероятность ошибки (WER): сумма измененных, отсутствующих и лишних слов, поделенная на общую длину текста. На закрытом словаре вероятность ошибки для полноценной нейросети составила 3,6, а для той, которую обучали только на слышимой речи, она составила 88,8. На открытом словаре разница была не такой большой: 74,8 к 95,1 при проверке человеком и 68 к 91,2 при проверке системой распознавания речи Mozilla DeepSpeech.
Исследователи опубликовали код алгоритмов и датасет на GitHub. Кроме того, на сайте конференции опубликован доклад одного из авторов, в котором, помимо прочего, можно услышать результаты работы нейросети (в конце ролика).