Guohua Shen/ATR
Shen et al., 2017
|
Недавно в новости попали японские исследователи из ATR Computational Neuroscience Labs в Киото и из Университета Киото. Их статья под названием «Глубокие нейронные сети для реконструкции изображений по активности человеческого мозга» (Shen et al., 2017), по сути, утверждает, что они разработали модель машинного обучения, которая может прочесть ваши мысли (примеры реконструированных из мыслей картинок показаны выше). Что все это значит? Может, пора уже привыкать думать только правильные мысли? Чтобы понять, что на самом деле означает эта новость, придется начать с кратких пояснений.
У нейронных сетей всегда была одна большая проблема — непрозрачность: конечный результат увидеть можно, но очень трудно понять, что же там внутри происходит. Это проблема относится ко всем архитектурам, но давайте сейчас сосредоточимся на сверточных нейронных сетях (convolutional neural networks, CNN), которые постоянно используются для обработки изображений и вообще данных с пространственной структурой.
Очень грубо говоря, CNN — это многослойные (глубокие) нейронные сети, в которых каждый слой обрабатывает свой вход маленькими окнами, извлекая локальные признаки. Последовательно, уровень за уровнем, локальные признаки обобщаются и становятся глобальными: признаки на высоких уровнях сети «видят» гораздо большую часть изображения, чем на низких. Вот как это работает в очень простой CNN (картинку я взял из вот этого текста, который рекомендую прочесть полностью):
Как читать мысли глубоких нейросетей
У нейронных сетей всегда была одна большая проблема — непрозрачность: конечный результат увидеть можно, но очень трудно понять, что же там внутри происходит. Это проблема относится ко всем архитектурам, но давайте сейчас сосредоточимся на сверточных нейронных сетях (convolutional neural networks, CNN), которые постоянно используются для обработки изображений и вообще данных с пространственной структурой.
Очень грубо говоря, CNN — это многослойные (глубокие) нейронные сети, в которых каждый слой обрабатывает свой вход маленькими окнами, извлекая локальные признаки. Последовательно, уровень за уровнем, локальные признаки обобщаются и становятся глобальными: признаки на высоких уровнях сети «видят» гораздо большую часть изображения, чем на низких. Вот как это работает в очень простой CNN (картинку я взял из вот этого текста, который рекомендую прочесть полностью):
WILDML
|
Rob Fergus
|
Jason Yosinski
|
Jason Yosinski
|
Слева на этой картинке — самое обычное изображение, и оно вполне корректно распознается как крышка от бутылки. А справа — «антагонистическое» изображение: разницу между ними трудно заметить, даже когда они стоят рядом, но та же самая сеть, которая картинку слева распознавала как крышку, картинку справа уверенно распознает как… карликового пуделя.
На самом деле картинка справа получилась из картинки слева добавлением специального шума, очень маленьких изменений, которые выглядят абсолютно случайными, но на самом деле все направляют сеть в одну и ту же сторону — в сторону карликового пуделя. Это делается как раз при помощи оптимизации картинок под сеть, в данном случае — под один из ее выходов.
Кстати, эти примеры показывают, что современным сверточным сетям еще есть над чем поработать, прежде чем задача компьютерного зрения будет окончательно решена. Хотя все мы знаем примеры оптических иллюзий, которые работают и для людей, все-таки вряд ли можно подобрать двумерную картинку бутылочной крышки, которую человек распознает как карликового пуделя. Но подгонку картинок под заданную нейросеть можно использовать и во благо — и с чтением мыслей как раз так и получилось...
Что же все-таки сделали японские исследователи в статье (Shen et al., 2017)? Во-первых, они получили фМРТ мозга человека, который смотрит на некоторое изображение, и выделили из него признаки. Функциональная магнитно-резонансная томография (фМРТ) — это тип медицинских снимков, в которых активность мозга анализируется на основе изменений в токе крови: когда нейроны в некоторой области мозга активны, приток крови увеличивается, и это можно измерить. фМРТ называется функциональным, потому что отмечает изменения в притоке крови во времени, и в итоге получается как бы «видеосъемка» активности мозга. Советую вот это объясняющее видео о сути работы фМРТ.
А пример получающегося датасета можно увидеть здесь:
На самом деле картинка справа получилась из картинки слева добавлением специального шума, очень маленьких изменений, которые выглядят абсолютно случайными, но на самом деле все направляют сеть в одну и ту же сторону — в сторону карликового пуделя. Это делается как раз при помощи оптимизации картинок под сеть, в данном случае — под один из ее выходов.
Кстати, эти примеры показывают, что современным сверточным сетям еще есть над чем поработать, прежде чем задача компьютерного зрения будет окончательно решена. Хотя все мы знаем примеры оптических иллюзий, которые работают и для людей, все-таки вряд ли можно подобрать двумерную картинку бутылочной крышки, которую человек распознает как карликового пуделя. Но подгонку картинок под заданную нейросеть можно использовать и во благо — и с чтением мыслей как раз так и получилось...
Как же читать человеческие мысли?
Что же все-таки сделали японские исследователи в статье (Shen et al., 2017)? Во-первых, они получили фМРТ мозга человека, который смотрит на некоторое изображение, и выделили из него признаки. Функциональная магнитно-резонансная томография (фМРТ) — это тип медицинских снимков, в которых активность мозга анализируется на основе изменений в токе крови: когда нейроны в некоторой области мозга активны, приток крови увеличивается, и это можно измерить. фМРТ называется функциональным, потому что отмечает изменения в притоке крови во времени, и в итоге получается как бы «видеосъемка» активности мозга. Советую вот это объясняющее видео о сути работы фМРТ.
А пример получающегося датасета можно увидеть здесь:
Поскольку мы измеряем ток крови, а не непосредственно активность нейронов, пространственное разрешение фМРТ не идеально: мы не можем спуститься на уровень отдельных нейронов, но все-таки можем различить довольно маленькие участки мозга — размер вокселя (трехмерного пикселя) в фМРТ получается порядка одного миллиметра. Давно было известно, что по фМРТ можно понять некоторую общую информацию о том, что человек в сканере думает: эмоции, базовую мотивацию, входы какого рода мозг сейчас обрабатывает (речь, музыку, видео) и т. д., но работа (Shen et al., 2017) продвигает эту идею гораздо дальше.
Авторы попытались буквально реконструировать изображения, на которые смотрят люди в фМРТ-сканерах. Для этого они обучили глубокую нейронную сеть на результатах фМРТ, а затем попытались совместить признаки нового изображения с признаками фМРТ человека. Иными словами, они делали как раз то, что мы обсуждали выше: подгоняли картинку под заданные признаки, сгенерированные нейронной сетью. Разница только в том, что признаки теперь заданы не нужным выходом или признаком, а результатом работы другой сети (тоже, конечно, сверточной) на данных фМРТ. На этом видео можно увидеть, как сеть постепенно подгоняет картинку под заданный паттерн фМРТ:
Авторы попытались буквально реконструировать изображения, на которые смотрят люди в фМРТ-сканерах. Для этого они обучили глубокую нейронную сеть на результатах фМРТ, а затем попытались совместить признаки нового изображения с признаками фМРТ человека. Иными словами, они делали как раз то, что мы обсуждали выше: подгоняли картинку под заданные признаки, сгенерированные нейронной сетью. Разница только в том, что признаки теперь заданы не нужным выходом или признаком, а результатом работы другой сети (тоже, конечно, сверточной) на данных фМРТ. На этом видео можно увидеть, как сеть постепенно подгоняет картинку под заданный паттерн фМРТ:
Guohua Shen
|
Если эти результаты удастся реплицировать и развить дальше, получится несомненный прорыв в нейронауках. Можно даже помечтать о том, как парализованные люди смогут общаться с нами через фМРТ-аппараты, концентрируясь на том, что они хотят сказать. И хотя в работе (Shen et al., 2017) результаты реконструкции, конечно, получаются гораздо хуже, когда люди всего лишь представляют себе некоторую форму, а не прямо смотрят на нее, иногда даже с воображаемыми формами результаты получаются неплохие:
Guohua Shen
|
Ну так что, может нейронная сеть прочитать ваши мысли? Нет, на самом деле не совсем. Надо сначала лечь в большой и страшный фМРТ-аппарат, потом тщательно сконцентрироваться на одном неподвижном изображении. И даже в лучшем случае результат получается примерно такой, чем-то безусловно похожий, но не то чтобы узнаваемый:
Guohua Shen
|
Сергей Николенко