Пару дней назад на портале препринтов bioRxiv.org появилась работа российских исследователей из МФТИ и компаний Neurobotics и Neuroassistive Technologies, которые занимаются созданием нейрокомпьютерных интерфейсов. В работе утверждается, что ученым и разработчиками удалось научить алгоритм в реальном времени реконструировать просматриваемое человеком видео по ЭЭГ-сигналам. Звучит по-настоящему круто и интересно — почти как «чтение мыслей». На самом деле все, разумеется, не так просто: мысли компьютеры читать не научились. Если говорить коротко, то компьютер научился по записи ЭЭГ определять, какое изображение из пяти разных заранее известных классов видел испытуемый. О том, как строился эксперимент, какие задачи ставили ученые, и почему чтение мыслей воплотить в жизнь в ближайшее время вряд ли удастся, рассказываем в нашем блоге.
Вообще говоря, идея считывать электрический сигнал головного мозга и дешифровать его так, чтобы было видно, чтó в данную минуту человек думает или делает, с учетом темпов происходящего сейчас технического прогресса не кажется такой уж сложной. Вот есть сигнал, а вот есть то, что этот сигнал означает: складываем два и два, обучаем классификатор и получаем необходимый нам результат.
В результате получается то, что футуристы и люди несведущие назвали бы «чтением мыслей». И кажется, что подобная технология могла бы найти себе самые разные применения: от совершенных нейрокомпьютерных интерфейсов, которые позволяют управлять умными протезами, до создания системы, которая наконец расскажет, о чем там думает ваш кот.
На деле все, разумеется, совсем не так просто, и идея создания подобного алгоритма примерно сразу же разбивается о главное препятствие: нам приходится иметь дело с мозгом. Мозг же — штука очень сложная: в ней больше 80 миллиардов нейронов, а связей между ними — в несколько тысяч раз больше.
Даже непрофессионалу ясно: это слишком много для того, чтобы мы могли понять, за что отвечает каждая клетка и их совокупности. Ученые до сих пор не расшифровали человеческий коннектом — пусть и сравнительно успешно пытаются это сделать.
Возникает закономерный вопрос: а нужно ли вообще понимать функции каждого нейрона для того, чтобы точно представлять, что происходит в головном мозге? Неужели, например, недостаточно функциональных карт?
Ответ на этот вопрос, по сути, должен быть «да», но и здесь не все так просто. Если бы человечество полагалось на расшифровку коннектома как на единственный ключик к открытию тайны мозга, то мы бы сегодня продвинулись совсем недалеко. Однако кое-что о том, как работает наш мозг, мы все же знаем и, разумеется, можем это успешно использовать.
Один из ярких и самых очевидных примеров использования накопленных учеными знаний о работе мозга — это, разумеется, нейроинтерфейсы (недавно мы подробно рассказывали о них в материале «Не голова, а компьютер»). Вообще говоря, сегодня действительно есть технологии, позволяющие считывать активность мозга и с помощью нее управлять, например, курсором компьютерной мыши или даже движениями протеза.
Добиться эффективной работы нейроинтерфейса можно двумя способами. Первый способ — вызванные потенциалы: мы смотрим на кривую электрической активности определенных участков мозга и выделяем на ней те изменения сигнала, которые, как нам доподлинно известно, появляются в определенный момент после предъявления стимула.
Второй способ — не полагаться на стимуляцию вообще, а использовать воображение человека для получения электрического сигнала, поддающегося считыванию. Например, человека можно попросить представить себе, как он двигает ногой или рукой.
У обоих способов есть существенные недостатки. Первому мешает то, что число известных нам достоверно вызванных потенциалов не так велико: их количество точно не может покрыть все возможные исполняемые человеком действия. Недостаток второго в том, что для достижения хоть какого-то эффекта необходима длительная тренировка.
Авторы препринта решили объединить оба подхода для создания нейрокомпьютерных интерфейсов, справедливо посчитав, что это избавит оба способа от существенных ограничений и позволит разработать новый и наиболее эффективный на сегодняшний момент метод работы с нейроинтерфейсами.
Предполагалось также, что этот метод будет закрытым (closed loop), то есть получаемый с его помощью результат будет, в свою очередь, влиять на работу алгоритма. Но об этом — позже.
В самом начале алгоритм разбивает все изображения на отдельные компоненты-признаки, распределяемые в векторном пространстве, с помощью которого их потом можно соотнести с определенными сигналами головного мозга, записанными с помощью ЭЭГ.
На этом начальном этапе используется бинарный классификатор — грубо говоря, то самое «два и два»: имея достаточно чистый сигнал (запись ЭЭГ очистили от моторных артефактов), можно выбрать либо одно, либо другое с точностью выше случайного попадания.
В своих экспериментах ученые использовали видео с объектами пяти классов: изображения людей, водопадов, абстрактных геометрических фигур, экстремальных видов спорта и машин Голдберга. С одной стороны, подобный набор кажется странным, но с другой — кажется, что все эти объекты очень сильно не похожи друг на друга. Действительно, разве есть что-то общее между человеческими лицами и абстрактными геометрическими фигурами?
Между тем, если верить бинарному классификатору, то абстрактные фигуры и человеческие лица неотличимы друг от друга: результаты девяти из 17 участников исследования показывают, что нейроинтерфейс, судя по всему, не сумел их различить. А вот машины Голдберга и те же лица, с точки зрения мозга, наоборот, хорошо отличаются друг от друга.
На первый взгляд, не очень понятно, почему так происходит: скорее отличить друг от друга нельзя те же машины и геометрические фигуры. Все становится чуть более понятным, если взглянуть на пример кадров из использованных видео.
Скорее всего (мы, разумеется, тут можем только предполагать), успех классификатора зависит от того, насколько использованные в двух классах изображения отличаются друг от друга по каким-то поверхностным, базовым признакам — в первую очередь, по цвету. Это также хорошо соотносится с тем, что размерность латентного пространства в автоэнкодере — 10.
Вообще, для того чтобы классифицировать изображения пяти классов, хватит и размерности пять, но в этом случае делаться это будет максимум по цветовой гистограмме — значит, размерность 10 не слишком улучшит и уточнит результат.
Не очень понятно, почему авторы не использовали линейный классификатор сразу на пять классов вместо десяти бинарных классификаторов: скорее всего, получилось бы лучше.
Затем наступает этап реконструкции получившегося изображения. То, что оно выходит размазанным, понятно — дело в той же размерности латентного пространства. Но тут смущают две вещи.
Первая — исходное и реконструированное изображения очень похожи друг на друга. Тут, конечно, не хочется никого расстраивать (и себя самих в том числе — мы все же за прогресс), но это происходит не из-за того, что сигнал так хорошо записан и расшифрован (да еще и в реальном времени!), а из-за того, что алгоритм восстанавливает ровно те изображения, которые у него уже были.
Причем работает это не всегда так хорошо, как хотелось бы: если, например, посмотреть на видео работы системы, то можно заметить, что в видео с плачущим мужчиной нейроинтерфейс почему-то видит женщину. Это происходит потому, что алгоритм реконструирует не изображения, а объекты определенного класса: даже если он делает это достаточно эффективно, ничто не препятствует тому, что в изображении мотоцикла алгоритм увидит катер — просто потому, что они относятся к одному классу.
Поэтому то, что появляется на экране при реконструкции, — зачастую просто усредненное изображение всех использованных объектов класса.
Что касается осмысленности использования закрытой системы, то и с ней все не очень понятно: при выполнении задания человек видит и запись сигналов ЭЭГ и постепенно возникающее из его головы изображение. Помогает ли это в действительности, сказать сложно — авторы не сравнивали эффективность работы интерфейса с подкреплением и без. Но на первый взгляд кажется, что не особо. Если все же помогает — очень хочется узнать, как именно.
В общем, можно смело заключить, что мысли компьютеры читать не научились. И даже воссоздавать видео не научились. Все, что они научились делать, исходя из работы ученых, — по каким-то базовым признакам классифицировать увиденные объекты по пяти классам. Умели ли компьютеры делать это раньше? Конечно, умели. Есть ли тут мозг? Конечно, есть: но это мозг, который видит, а не мозг, который понимает, что именно он увидел.