Нейросеть обучили распознавать речь по активности коры мозга человека. Алгоритм обучали и тестировали на ограниченном наборе из 50 предложений, точность распознавания в среднем составила 97 процентов. Обучение на дополнительных данных снизило количество ошибок, что говорит о том, что алгоритм не просто запоминает предложения, а находит общие закономерности. Статья опубликована в журнале Nature Neuroscience.
Современные нейроинтерфейсы умеют хорошо расшифровывать активность мозга, которая связана с движениями, — таким образом человек может управлять, например, искусственными конечностями. А вот напрямую переводить электрические сигналы мозга в речь до сих пор было невозможно, поэтому повсеместно используется схема, в которой человек управляет курсором и печатает текст на экране компьютера. Но даже если бы точность контроля курсора была идеальной, говорить таким способом все равно получалось бы очень медленно — максимальная скорость была бы как при печати одним пальцем.
Были и попытки расшифровать речь из активности мозга напрямую, однако пока удавалось понять лишь отдельные фонемы или звуки, а распознать речь, которая состояла из ограниченного набора в 100 слов, ученым удалось с точностью менее 40 процентов.
Ученые из Калифорнийского университета в Сан-Франциско под руководством Джозефа Мэйкина (Joseph Makin) воспользовались методами машинного обучения для того, чтобы расшифровать речь по активности мозга. У четырех добровольцев записывали электрокортикограмму, аналог электроэнцефалограммы, в котором электроды накладывают непосредственно на кору мозга (электроды пациентам установили по медицинским показаниям). Решетка электродов покрывала область коры вокруг боковой борозды — эта зона включает в себя речевые центры.
Участники читали вслух предложения из двух баз данных: в одной было 30 предложений и 125 уникальных слов, во второй — 50 предложений и 250 уникальных слов. Каждый набор фраз зачитывали как минимум три раза (два для обучения и один тестовый).
Из электрокортикограммы выделяли высокочастотную составляющую (70-150 Герц) и использовали эту последовательность в качестве входных данных для нейросетевого автокодировщика. Такие алгоритмы переводят входящий сигнал во внутренний код, а затем расшифровывают его. Нейросеть как бы переводит информацию сначала на «свой язык», а потом уже в нужный нам формат.
На первом этапе алгоритм выделял небольшие последовательности электрической активности мозга, которые были характерны для определенных компонент речи и повторялись в разных образцах. Нейросеть отфильтровывала остальную информацию и передавала на следующий элемент только оставшиеся последовательности.
В качестве кодировщика авторы использовали рекуррентную нейросеть, которая позволяет обрабатывать цепочки событий вне зависимости от их длины и использует для этого свою внутреннюю память. Кодировщик на этом этапе также предсказывал и зашифровывал звуковые характеристики слов, это было дополнительной подсказкой при обучении алгоритма. Вторая рекуррентная сеть затем переводила внутренние последовательности в текст, единицей расшифровки было слово (а не звук, как в предыдущих моделях). Кроме того, в качестве входных данных декодер использовал собственное предсказание следующего слова в предложении.
Исследователи предположили, что нейросеть может просто запоминать набор предложений и выбирать наиболее подходящее. Чтобы проверить эту гипотезу, алгоритмы, которые использовали ограниченный набор данных и распознавали речь с большим числом ошибок, дополнительно обучили на другом наборе предложений, а также использовали активность мозга другого человека. Кроме того, для сравнения своей парадигмы с существовавшими ранее авторы работы попробовали расшифровать те же образцы речи при помощи скрытой марковской модели, которая может использовать в качестве единицы только звуки, но не слова.
Чтобы узнать, какая анатомическая область вносит больший вклад в работу алгоритма, ученые программно меняли данные отдельных электродов и проверяли, насколько увеличится количество ошибок в распознанном тексте.
Уровень точности расшифровки речи составил около 97 процентов. Если для декодирования не использовали звуковые характеристики речи, количество ошибок увеличивалось в несколько раз, но уровень точности в целом оставался приемлемым (ниже 25 процентов). Значит, алгоритм можно тренировать, даже если человек не может произносить предложения вслух. Обучение на другом наборе предложений или на данных от другого человека значительно снизило число ошибок (p < 0,001). Это говорит о том, что нейросеть не просто запоминает ограниченный набор предложений, но и выделяет общие закономерности речи и языка. Уровень ошибок в модели, которая расшифровывала не слова, а звуки был выше 33 процентов — значит, подход этой работы более эффективен.
Наибольший вклад в работу алгоритма вносила вентральная сенсомоторная кора и верхняя височная борозда — области, которые связаны с созданием и восприятием речи.
В будущем можно обучать модель на большем числе образцов речи, чтобы она могла распознавать речь, не ограниченную набором из 50 предложений, в том числе у пациентов, которые не могут говорить и двигаться.
Впервые подобную модель ученые представили в прошлом году: в работе были использованы предложения с большим набором слов, но уровень ошибок распознавания был между 7 и 11 процентами. Интересно, что этот алгоритм работал и когда участники произносили фразу беззвучно, хотя точность распознавания в таком случае снижалась до 30-60 процентов.
Алиса Бахарева