Как распознаёт образы человек – и как нейронная сеть

В нашей новой рубрике мы публикуем статьи, написанные учёными, работающими в области нейронаук. Сегодня наш автор — Екатерина Малахова, аспирантка сразу двух крупных нейроцентров мира: Института физиологии им. И.Павлова в России и RIKEN в Японии. Мы уже публиковали интервью с самой Екатериной, а сейчас она расскажет нам об аналогиях в процессе обработки зрительного сигнала человеком и нейронными сетями, задаче распознавания образов и о том, почему нейронные сети представляют большой интерес для нейронауки.

как распознаёт образы человек

От автора: Изучая процесс зрительного восприятия человека, я не могла обойти стороной достижения в разработке искусственных нейронных сетей. И сейчас мои исследования включают в себя моделирование нейронных сетей для проведения сравнительного анализа их работы с работой зрительной системы человека. Так мы и пришли к парадоксу “курицы и яйца”: первые сети были созданы на основе знаний об устройстве зрительной коры, а теперь мы изучаем их, чтобы понять как устроено наше зрение.

Получение зрительного сигнала — первоочередная, но не самая существенная стадия зрения. Давайте представим видеокамеру, фиксирующую происходящее на пленку: понять, что же происходило во время съёмки, можно будет только после просмотра видеоматериала человеком или дополнительной программной обработки. Так же обстоят дела и со зрительной системой, в которой важнейшим условием для работы с поступающим сигналом является умение распознавать образы. Человек легко опознает объекты, несмотря на вариации в их размерах, положении и освещении. Эта способность называется инвариантным распознаванием образов. Она есть у людей, обезьян, крыс, цыплят и, по-видимому, у многих других животных. С появлением глубоких нейронных сетей появилась такая способность и у машин.

Интересно то, что в нейронауке до сих пор нет понимания как именно реализуется инвариантное распознавание образов в коре головного мозга: работа с образами осуществляется на высоких уровнях иерархии зрительной системы, а происходящие там процессы не так просто соотнести с поступающим зрительным сигналом.

Распознавание образов человеком

На рис. 1 изображено иерархическое строение зрительной системы. На нижних уровнях изображение можно представить в виде матрицы пикселей. В каждый нейрон здесь поступает информация с малой части зрительного поля и активация этого нейрона происходит в ответ на определенную ориентацию (наклон), частоту линий или цвет, вне зависимости от семантического содержания. Охват зрительного поля у отдельно взятого нейрона здесь очень небольшой, то есть нейроны «видят» не все изображение целиком, а лишь его малую локальную часть. С повышением иерархического уровня увеличивается охват зрительного поля, видимого отдельно взятым нейроном, и усложняется структура обрабатываемых им признаков, а это значит, что нейрон будет активироваться в ответ на более сложные формы — овалы, контуры объектов, лица.

Рис. 1. Слева: Иерархическое строение зрительной системы с прямым распространением сигнала: от сетчатки к латеральному коленчатому телу (LGN), далее к областям зрительной коры V1, V2, V4, и нижневисочной (IT) коре. Принятие решения на основании поступившего сигнала осуществляется в лобной коре. По центру: Нейроны на нижних уровнях иерархии имеют маленькие рецептивные поля (обрабатывают сигнал с малой части изображения), в то время как нейроны в более высоких областях видят всё большую часть зрительного поля, аккумулируя сигналы с нижестоящих уровней. Справа: Нижние уровни иерархии отвечают за распознавание базовых признаков изображений, таких как углы и линии. Нейроны высоких уровней собирают с нижележащих областей и кодируют информацию о более сложных признаках, таких как сложные формы, объекты и лица. Изображение взято из “When crowding of crowding leads to uncrowding” by Manassi, M., Sayim, B., & Herzog, M. H. (2013). Journal of Vision, 13 (13), 10-10.

И если нам давно известно, какие параметры изображения обрабатываются нейронами на начальных уровнях, то пространство признаков, выделяемых нейронами нижневисочной коры на сегодняшний день активно изучается. Например, в лаборатории в RIKEN, где я сейчас работаю над диссертацией, в 2013 году опубликовали карту регионов, «занимаемых» отдельными категориями объектов. Но это лишь начальные шаги к пониманию механизмов работы с информацией на высоких уровнях зрительной системы.

Распознавание образов нейронными сетями

Теперь давайте посмотрим что же происходит в искусственных сетях, чем они так удивили ученых из области нейронаук, и как могут применяться в исследованиях зрительной системы человека. Начиная с 2012 года, искусственные нейронные сети получили широкое распространение и практическое применение. Несмотря на то, что архитектура для подобных сетей была предложена еще в 1980 году К. Фукушимой, вдохновлённым открытиями нобелевских лауреатов Дэвида Хьюбела и Торстена Визеля о строении зрительной системы, технологии позволили создавать глубокие свёрточные нейронные сети (Convolutional Neural Networks, CNNs) и обучать их на больших объемах данных сравнительно недавно. Высокая точность сетей в задачах детектирования, классификации и сегментации образов быстро вытеснила годами разрабатываемые алгоритмы компьютерного зрения.

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

Рис. 2. Архитектура слоев нейронной сети AlexNet. Обозначения слоев: Conv — convolutional, Pool — max-pooling, Norm — normalization.

Архитектура свёрточных нейронных сетей, как уже было упомянуто выше, первоначально создавалась на основе представлений о строении зрительной системы. Наиболее классический вариант архитектуры (см. рис. 2) — AlexNet — включает в себя Convolutional (сверточные), Pooling (объединяющие) и Fully-connected (полностью соединенные) слои.

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

Рис. 3. Convolution: Пример применения фильтра 3×3 пикселя к бинарному изображению, размером 5×5 пикселей. В данном случае фильтр предполагает активацию в ответ на Х-образный паттерн, то есть учитываются только пиксели, находящиеся на обеих диагоналях фильтра. Источник.

После некоторых свёрточных слоев находятся pooling-слои, которые производят обобщение за счет выбора одного значения из заданного диапазона входного слоя. Чаще всего, это операция max-pooling, то есть выбирается только максимальное значение. Таким образом, на данных слоях производится уменьшение размерности, что, с одной стороны, снижает вычислительную нагрузку, а с другой — делает работу сети более инвариантной к входящему сигналу, убирая незначительные различия в деталях изображения.

Рис. 4. Pooling: пример обобщения и уменьшения размерности: из определенного региона выбирается одно значение, области не перекрываются. Источник.

Каждый нейрон в fully-connected (полносвязном) слое соединен со всеми нейронами предыдущего слоя, получая, таким образом, сигнал со всего рецептивного поля, то есть, изображения целиком.

В архитектуре AlexNet также присутствуют слои нормализации, однако их влияние на результат оказалось минимальным, поэтому постепенно они перестали применяться.

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

Фильтры первого свёрточного слоя (рис. 5) выделяют простые признаки вроде цвета и наклона линии, они универсальны практически для всех сетей, работающих с изображениями, вне зависимости от выполняемой задачи. Изображения, вызывающие максимальную активацию в нейронах данного слоя, представляют из себя фрагменты небольшого размера, содержащие линии, углы, решетки и так далее.

Рис. 5. Первый свёрточный слой (conv1): a) фильтры слоя. b) карты активации выделенных фильтров. c) фрагменты изображений, вызывающих максимальную активацию отдельного нейрона слоя (для девяти случайно выбранных нейронов представлены 9 лучших фрагментов). d) оригинальное изображение, для которого строились карты активации.

На втором свёрточном слое (рис. 6) фильтры не выглядят настолько же легко интерпретируемыми, размер рецептивного поля увеличивается и изображения, подобранные для визуализации максимальной активации, содержат менее тривиальные формы.

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

Рис. 6. Второй свёрточный слой (conv2): a) фильтры слоя. b) карты активации выделенных фильтров. c) фрагменты изображений, вызывающих максимальную активацию отдельного нейрона слоя (для трех случайно выбранных нейронов представлены 9 лучших фрагментов). d) оригинальное изображение, для которого строились карты активации.

Каждый нейрон полносвязного слоя получает информацию от всех нейронов предыдущего слоя, что позволяет учитывать все возможные пространственные локации объектов. Для некоторых нейронов возможно определить признаки/объекты, выделяемые ими на изображениях, для других же это сделать довольно затруднительно (рис. 7).

Рис. 7. Изображения, наилучшим образом активирующие девять случайно выбранных нейронов первого полносвязного слоя (fc6).

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

Рис. 8. Изображения, наилучшим образом активирующие нейроны последнего полносвязного слоя сети (fc8), обученной для задачи детекции лиц на изображениях. a) нейрон, отвечающий за категорию «не лица». b) нейрон, отвечающий за категорию «лица».

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

Текст: Екатерина Малахова

Ссылка на источник