23.09.2026 666 материалов

Как FPGA и алгоритм на основе центроидов помогают «прочитать» речь из сигналов мозга

Исследователи из Frontiers in Computational Neuroscience предложили архитектуру с аппаратной синхронизацией на базе FPGA, которая позволяет распознавать гласные из ЭЭГ без усреднения по множеству попыток. Система достигает точности до 90% для отдельных испытуемых, но пока не умеет переносить модель между людьми.

Как FPGA и алгоритм на основе центроидов помогают «прочитать» речь из сигналов мозга

Чтобы «услышать» речь по сигналам мозга, нужно не просто считать данные — нужно считать их с точностью до микросекунд. И именно аппаратная синхронизация оказалась тем краеугольным камнем, без которого одиночные попытки декодирования превращаются в гадание.

О чём вообще речь

Представьте, что вы хотите понять, какой звук слышит человек, просто наблюдая за его мозговой активностью. Это задача декодирования речи по данным электроэнцефалографии (ЭЭГ) — и она одна из ключевых на пути к полноценным интерфейсам «мозг — компьютер» (BCI). Если такая технология заработает надёжно, это откроет дорогу к устройствам, которые помогали бы людям с нарушениями речи общаться, а в перспективе — к системам прямого «считывания» мыслей.

Но есть проблема: сигналы ЭЭГ очень зашумлены. На фоне электрической активности мозга отдельная нейронная реакция на звук — это как шёпот на оживлённом рынке. Поэтому десятилетиями учёные использовали приём «усреднения по множеству повторений» (grand averaging): слушаете один и тот же звук сто раз, записываете сто ответов мозга, складываете и делите на сто — случайный шум усредняется до нуля, а настоящий сигнал остаётся.

Проблема в том, что при усреднении теряется всё самое интересное. Мозг не реагирует на одинаковые звуки абсолютно одинаково каждый раз — и эта вариативность не просто «шум», а важная информация о текущем состоянии нейронных сетей. Более того, усреднение работает как низкочастотный фильтр: оно вырезает быстрые гамма-колебания (выше 30 Гц), которые, как считается, играют ключевую роль в фонетическом распознавании.

Временны́е дрожания: враг, которого не видно

Здесь в игру входит аппаратная часть. Когда экспериментатор предъявляет звуковой стимул испытуемому, компьютерная программа должна одновременно начать воспроизведение звука и поставить метку времени в записи ЭЭГ. Проблема в том, что операционная система — штука непредсказуемая: служебные процессы, планировщик задач, задержки аудиобуфера — всё это вносит случайные задержки от 5 до 30 миллисекунд.

Кажется, ерунда? Но гамма-колебания с частотой 40 Гц имеют период всего 25 миллисекунд. Ошибка синхронизации в 10 мс — и фаза сигнала «плывёт» от попытки к попытке, при усреднении колебания взаимно гасятся, и нужный компонент просто исчезает.

Именно поэтому группа исследователей решила использовать аппаратную синхронизацию на базе FPGA (программируемой вентильной матрицы).

FPGA: железо решает

Авторы работы собрали синхронизационный модуль на чипе Intel Cyclone IV EP4CE115. Схема работает на уровне регистровых передач (RTL), а не через программное обеспечение — и это принципиально. Логическая задержка внутренних цепей составляет всего два такта на частоте 50 МГц, то есть 40 наносекунд. Определяющая величина — частота дискретизации встроенного аудиокодека (48 кГц), что даёт итоговую точность синхронизации около 21 микросекунды.

Для сравнения: программная синхронизация давала 5–30 мс неопределённости. Аппаратная — в сотни и тысячи раз точнее.

Система работает в три этапа:

  1. Детектирование начала звука — внутренний компаратор фиксирует момент, когда аудиосигнал пересекает заданный порог, с точностью 40 нс.

  2. Детерминистская метка времени — FPGA одновременно направляет звук на наушники испытуемого и генерирует TTL-импульс, который встраивается прямо в поток данных ЭЭГ.

  3. Управление ходом эксперимента — физические кнопки и внутренний счётчик проб управляют последовательностью стимулов, поддерживая точность строго в пределах 21 мкс.

Результат: каждый отсчёт ЭЭГ оказывается жёстко привязан к моменту появления звука. Фаза высокочастотных колебаний сохраняется от попытки к попытки — а значит, усреднение больше не нужно.

Что именно декодировали

Испытуемым предъявляли три испанские гласные: /a/, /i/, /u/. Этот выбор не случаен: эти звуки занимают крайние позиции на «гласном треугольнике» — карте первых двух формант (основных частотных компонентов голоса). Они максимально далеки друг от друга акустически, что делает задачу классификации максимально чёткой.

Звуки записывали пять носителей испанского языка (три мужчины, две женщины), причём записывающие люди не пересекались с теми, кто потом слушал стимулы в эксперименте — чтобы исключить эффект узнавания собственного голоса. Каждая проба состояла из несемантического сигнала-подсказки, секунды тишины и целевого гласного. Порядок предъявления и выбор диктора рандомизировались.

Двадцать участников (14 мужчин, 6 женщин, возраст 18–31 год, все носители испанского) прослушали по 100 проб на каждый гласный, плюс 20 проб с белым шумом и 20 с тишиной — всего 340 проб на человека в двух сессиях. У одного участника из-за усталости получилось по 50 проб на гласный. Для контроля внимания на случайных пробах всплывал диалог с просьбой назвать последний услышанный звук.

Как алгоритм извлекает признаки

Традиционные методы машинного обучения для ЭЭГ часто кормят «сырыми» данными, надеясь, что нейросеть сама найдёт нужные паттерны. Авторы пошли другим путём — создали прозрачный, «открытый» (open-box) пайплайн, где каждый шаг можно проследить и проверить.

Сначала сигнал разделили на три частотных поддиапазона:

  • Альфа (8–13 Гц) — связана с распределением внимания и подавлением нерелевантной активности.
  • Бета (14–30 Гц) — отражает активную лингвистическую обработку.
  • Гамма (31–60 Гц) — критична для перцептивной «связки» и фонетического различения.

Затем из 64 электродов отобрали 16 наиболее информативных — тех, что стабильно показывали минимум мощности в альфа-диапазоне (внимание к стимулу) и максимум в бета и гамма (фонетическая обработка). Эти электроды расположены в височных и лобных областях — зонах, ответственных за слуховую обработку и языковое понимание. Это сокращение на 75% не только экономит вычислительные ресурсы, но и убирает избыточную информацию, которая только мешает классификатору.

Ключевой элемент — алгоритм на основе центроидов. Для каждого гласного в обучающей выборке вычисляется «эталонный» отклик — среднее по всем обучающим пробам (центроид). Здесь принципиальная разница с классическим усреднением: центроид строится только на тренировочных данных и только для одного конкретного класса (одной гласной). Тестовые пробы остаются нетронутыми — каждая обрабатывается как одиночная попытка.

Новая тестовая проба проецируется в пространство корреляций с тремя центроидами (по одному на каждый гласный) в каждом из трёх частотных диапазонов. Незадачливый шум, не имеющий фазовой устойчивости, при таком проецировании подавляется, а настоящий сигнал — усиливается. Полученные корреляционные матрицы векторизуются, подаются на PCA для снижения размерности, а затем — в классификатор на основе метода опорных векторов (SVM).

Результаты: что удалось, а что нет

Разберём числа, потому что они говорят сами за себя.

Что работает:

  • Средняя точность классификации по всем участникам — 67,7%, что значительно выше теоретического уровня случайного угадывания (33,33%).
  • Пиковая точность для отдельных испытуемых достигала 90% в конкретных фолдах кросс-валидации.
  • Средний максимум по фолдам — 83%.
  • Минимальная точность — 40% (у одного участника).

Абляционное исследование (то есть проверка «а что будет, если убрать критический компонент») показало, что при введении имитированного программного дрожания в 10–20 мс точность падала до 33,2% — то есть до уровня случайного угадывания. Это подтвердило, что аппаратная синхронизация — не «приятное дополнение», а строгая предпосылка для одиночного декодирования.

Что не работает (пока):

  • Кросс-субъектная обобщаемость — катастрофически низкая. При попытке обучить модель на 19 людях и протестировать на 20-м (метод «один против всех» — LOSO) точность составила 33,08% — то есть случайное угадывание.
  • Коэффиент каппа Криппендорфа (κ = −0,0036) подтвердил полное отсутствие обобщаемости.

Это важный и честный результат. Он показывает, что мозг каждого человека по-своему кодирует одни и те же звуки — по крайней мере, на уровне ЭЭГ-сигналов. Пока не удаётся найти «универсальный нейронный слепок» для гласных, который переносился бы между людьми. Для практического применения это значит, что каждому пользователю нужна персональная калибровка — сеанс «обучения» системы на конкретном человеке.

Почему это важно, несмотря на ограничения

На первый взгляд, 67% точности при распознавании трёх звуков может показаться скромным достижением. Но контекст имеет значение.

Во-первых, речь идёт о натуральных звуках — записанных живыми людьми, с вариациями интонации, тембра и длительности. Это принципиально сложнее, чем синтетические форманты или идеализированные сигналы MIDI, которые использовались в большинстве предыдущих работ. Мозг по-разному реагирует на «роботизированный» звук и на живую речь — и декодирование второго ближе к реальным задачам.

Во-вторых, декодирование идёт на уровне одиночной попытки. Это означает потенциал для работы в реальном времени — не нужно ждать, пока человек повторит звук десятки раз. Для BCI это принципиально: устройство должно реагировать сразу, а не после усреднения.

В-третьих, результат получен на открытом, прозрачном пайплайне. Авторы сознательно отказались от глубоких нейросетей в пользу интерпретируемого алгоритма — и это, при всех компромиссах, позволяет разобраться, что именно в сигнале мозга несёт информацию. Зная это, можно строить более эффективные модели в будущем.

Какое железо стоит за исследованием

Для тех, кому интересна аппаратная сторона:

  • ЭЭГ-система: BioSemi ActiveTwo с 64 активными электродами (система 10-20) плюс 8 внешних каналов (EXG) — 7 для отслеживания артефактов глаз, мышц и сердца, 1 — референсный на мочке уха.
  • Частота дискретизации: 2048 Гц — высокая для ЭЭГ, что позволяет разрешать быстрые колебания.
  • FPGA: Intel Cyclone IV EP4CE115, схемотехнический модуль синхронизации на уровне RTL.
  • Аудиокодек: встроенный, с частотой 48 кГц — именно она определяет итоговую точность синхронизации (≈21 мкс).
  • Обработка: PCA для снижения размерности, SVM для классификации — классика, но применённая к грамотно извлечённым признакам.

Что дальше

Авторы открыто признают, что текущая система — это фундамент, а не готовый продукт. Кросс-субъектная обобщаемость остаётся главным барьером на пути к практическим BCI. Чтобы его преодолеть, нужны либо более продвинутые методы выравнивания данных между людьми (domain adaptation), либо обязательная персональная калибровка, либо — и это самый интересный вариант — поиск более устойчивых нейронных маркеров, которые сохраняются между людьми.

Тем не менее, работа демонстрирует важный принцип: аппаратная точность синхронизации — это не опция, а необходимое условие для одиночного декодирования речи. Без неё всё остальное — архитектуры нейросетей, сложные классификаторы, обилие данных — работает на уровне случайного угадывания.

Для будущих нейроинтерфейсов, которые должны работать в реальном времени и с живой речью, это отправная точка, из которой придётся двигаться. Путь предстоит непростой — но, как показывает эта работа, железо для него уже существует.