Каждый раз на вашу сетчатку падают фактически разные изображения. Ваш мозг приспосабливается к каждому изображению — крупному либо мелкому, яркому либо тусклому, с улыбкой или нахмуренными бровями. Число различных версий лица — как физического раздражителя, воспринимаемого вашей сетчаткой, — практически бесконечно. Однако же мы узнаем знакомые лица мгновенно и без усилий. И мы способны различать не три лица, а сотни и тысячи. Каким же образом нашему мозгу, который, по сути, является всего лишь природным аппаратом, как и все остальное в нашем теле, удается так хорошо справляться с этой задачей? Давайте начнем с более простого примера. Представьте, что вам нужно разработать компьютерную программу, способную распознавать букву А. Современные компьютеры справляются с этим легко, не так ли? Но это всего лишь видимость — компьютеры нас обманывают (через пару абзацев я объясню, почему так говорю).
Решение кажется очевидным: в компьютере (или в мозге) должен иметься шаблон или образец буквы А. Компьютер (или мозг) сравнивает распознаваемую букву с образцом буквы А и делает вывод об их сходстве или различии. Но что, если размер распознаваемой А отличается от размера шаблонной А? Их сопоставление покажет, что это разные буквы.
Хорошо, значит, в компьютерную программу необходимо включить все множество шаблонов буквы А разного размера.
Окей, проблема с несхожими размерами решена. Но предположим, что распознаваемая буква А немного наклонена. Накренившаяся буква снова не будет совпадать ни с одним из имеющихся шаблонов.
Чтобы решить эту проблему, мы включаем в программу набор шаблонов буквы А всех возможных размеров со всеми возможными углами наклона. Если компьютер достаточно мощный, эта программа может работать достаточно быстро. Но как насчет остальных параметров, таких как толщина линии, цвет, шрифт и т. д.? Мало того: число комбинаций, которые в итоге нужно проверить компьютеру, — все возможные размеры, умноженные на все возможные углы наклона, умноженные на все возможные свойства шрифта, умноженные на все возможные цвета, и т. д. Это количество становится очень большим, слишком большим с практической точки зрения. И вся морока ради того, чтобы распознать одну единственную букву!
С лицами числу вариантов и вовсе нет предела. Лицо может улыбаться или хмуриться, быть ярко освещенным или находиться в тени, быть видимым в профиль или анфас. А элементы нашего мозга — нейроны и синапсы — работают очень неспешно по сравнению с современными компьютерами. Передача самого базового сигнала через синапс между контактирующими нейронами занимает около тысячной доли секунды. За это время мощный компьютер успевает выполнить почти миллион операций. Именно благодаря такой сверхчеловеческой скорости компьютеры и могут обманывать нас, делая то, на что неспособен ни один живой биологический организм. Если предположить, что сравнение по одному из параметров состоит из ста операций, то, пока наш мозг передает через синапс один нервный импульс, компьютер успевает сравнить тысячу параметров. И это без учета времени прохождения сигнала по соединяющим нейроны нервным волокнам (аксонам)! Если бы наш старина мозг работал по тому же принципу, что и компьютеры, ему требовались бы минуты, чтобы распознать даже хорошо знакомое лицо. Короче говоря, перебор вариантов — не вариант для нашего мозга.
Вот пример, связанный с другим восприятием — слуховым. Возьмем так называемый феномен сегментации. Если кто-то вам скажет: «Вон бежит синяя собака» — вы услышите то, что будет примерно соответствовать написанному выше. Но на самом деле в обычной устной речи мы не делаем пауз между словами (не считая тех случаев, когда мы выделяем каждое слово намеренно). С акустической точки зрения вы слышите эту фразу как один непрерывный звуковой поток: «Вонбежитсиняясобака». Чтобы осмыслить ее, наш мозг разбивает эту длинную последовательность звуков на отдельные знакомые нам слова.
И снова очевидно, что мозг делает это не путем сопоставления слов с некими шаблонами. Сколько звуков должны были бы включать такие шаблоны? Сколько словесных форм? Разумеется, гораздо больше, чем в словаре. И это не говоря уже о разных акцентах, темпах речи, фоновом шуме и многом другом…
Эта загадка — способность, которую мы с такой легкостью используем по многу раз на день, — и есть то, что мы называем проблемой распознавания объектов. Хотя ее принято рассматривать в основном как проблему восприятия, здесь также задействована память: чтобы распознать объект, нам нужно сопоставить текущий раздражитель с воспоминаниями о соответствующих объектах, с которыми мы сталкивались в прошлом. Выяснить, как это работает, — захватывающая научная задача, Эверест сенсорной нейробиологии.
Из книги "Глубокое обучение", Николенко С., Кадурин А., Архангельская Е.
Сверточные нейронные сети (convolutional neural networks, CNN) — это весьма широкий класс архитектур, основная идея которых состоит в том, чтобы переиспользовать одни и те же части нейронной сети для работы с разными маленькими, локальными участками входов. Как и многие другие нейронные архитектуры, сверточные сети известны довольно давно, и в наши дни у них уже нашлось много самых разнообразных применений, но основным приложением, ради которого люди когда-то придумали сверточные сети, остается обработка изображений.
И это не случайно: идея сверточных сетей во многом мотивирована исследованиями о зрительной коре головного мозга. Конечно, изучение механизмов зрения — это очень большая тема, подробнее узнать про неё можно, например, в книгах Дэвид Хьюбел (David Hunter Hubel, 1926–2013) и Торстена Визеля (Thorsten Nils Wiesel) (Hubel D. H. Eye, Brain, and Vision, 2nd edition, W. H. Freeman, 1995 и др.).
Проводя эксперименты на кошках и обезьянах, они впервые применили к исследованиям зрительной коры новую технологию микроэлектродов, позволяющих регистрировать возбуждение отдельных нейронов. С помощью таких электродов они изучили, как происходит бинокулярное зрение, а главное — выяснили, на что реагируют отдельные нейроны, как некоторые из них служат детекторами границ, другие реагируют на форму линейных сегментов и т. д.
Люди давно задумывались о том, как именно мы видим окружающий мир, как работает зрение. Связь глаз со зрением была, простите за каламбур, очевидной даже древним. Широко известно, например, мнение Аристотеля, который считал мозг своеобразным радиатором, охлаждающим кровь. Но о назначении глаз людям, слышавшим о печальной истории царя Эдипа, действительно догадаться несложно. Глаз как оптический прибор изучали Леонардо да Винчи, Иоганн Кеплер и многие другие великие физики, отмечавшие его выдающиеся оптические свойства. Впрочем, мнения разнились. Герман Гельмгольц писал так: «Какой плохой оптик Господь Бог! Я счел бы себя вправе самым резким образом выразиться о небрежности работы оптика и возвратить ему прибор с протестом, если бы он вздумал продать мне инструмент, обладающий такими недостатками, как человеческий глаз». Но все-таки на самом деле способности глаза к аккомодации, то есть изменению фокусного расстояния, и адаптации, то есть способности хорошо видеть при разных условиях освещенности, и впрямь потрясающе хороши.
Есть известная цитата Дарвина из «Происхождения видов», которую иногда цитируют так: «В высшей степени абсурдным, откровенно говоря, может показаться предположение, что путем естественного отбора мог образоваться глаз со всеми его неподражаемыми изобретениями...». Любопытно, что иногда эту цитату всерьез приводят креационисты как свидетельство того, будто бы Дарвин «сам понимал» ограниченность теории эволюции. Однако цитата буквально тут же продолжается так: «...Разум мне говорит: если можно показать существование многочисленных градаций от простого и несовершенного глаза к глазу сложному и совершенному, причем каждая ступень полезна для ее обладателя, а это не подлежит сомнению; если, далее, глаз когда-либо варьировал и вариации наследовались, а это также несомненно; если, наконец, подобные вариации могли оказаться полезными животному при переменах в условиях его жизни — в таком случае затруднение, возникающее при мысли об образовании сложного и совершенного глаза путем естественного отбора, хотя и непреодолимое для нашего воображения, не может быть признано опровергающим всю теорию». И действительно, последние исследования показывают, что сложные глаза, способные различать формы, образовались у разных животных в процессе эволюции совершенно независимо целых пятьдесят, а то и сто раз; а известная модель Нильссона и Пелгер показала, что эволюция полноценного глаза от первых улавливающих свет клеток могла произойти очень быстро, в течение буквально нескольких тысяч поколений, или нескольких сотен тысяч лет. Но нас, конечно, в этой книге интересует не глаз, а то, что потом происходит с прочитанным с сетчатки изображением.
Зрительный нерв — толстый пучок аксонов ганглионарных клеток, по которому информация с сетчатки доходит до мозга, — отмечали еще средневековые анатомы, и его важность для зрения была очевидной. Зрительный нерв входит в таламус, отдел мозга, обрабатывающий информацию от органов чувств, там первичная обработка происходит в так называемом латеральном коленчатом теле (lateral geniculate nucleus, LGN), а затем зрительная информация от LGN поступает в собственно зрительную кору (visual cortex).
Все это было известно людям еще в XIX веке, но настоящие исследования зрительной коры и восприятия изображений не могли начаться раньше, чем люди смогли заглянуть на уровень отдельных нейронов, то есть в первой половине XX века. Об исследованиях человеческого зрения и обработки зрительных сигналов можно написать отдельную книгу (и таких книг, конечно же, написано немало). Есть масса очень интересных примеров зрительных иллюзий и странных заболеваний. Например, в нашем мозге почти наверняка есть особые области и особые пути обработки человеческих лиц, отдельные от распознавания всех остальных объектов. Как ученые пришли к этому выводу? Очень просто: при определенных повреждениях мозга (например, инсультах) вырабатывается так называемая предметная агнозия, когда человек не может распознавать и правильно идентифицировать объекты... но с распознаванием лиц у него при этом все в порядке! А распознавание лиц отключается при лицевой агнозии, которая, в свою очередь, совершенно не мешает распознавать другие объекты. Попробуем отметить несколько важных черт в устройстве зрительной коры, которым можно найти некоторые условные соответствия в архитектуре современных искусственных нейронных сетей. Речь идет исключительно о том, чтобы «вдохновляться идеями»: реальная работа мозга пока что остается для нас слишком сложной и непонятной, и смоделировать зрительную кору или даже отдельные ее части пока выше сил человеческих.
Зрительная кора, как ни странно, расположена сзади, в затылочной доле головного мозга. Она делится на несколько частей, которые обычно незамысловато называются зрительная зона V1 (visual area one), которую также называют стриарной корой или первичной зрительной корой, зрительная зона V2 (visual area two), зрительная зона V3 и т. д., до V6 и V7. Зоны отличаются друг от друга физиологией, архитектурой да и просто обособленным положением в коре, и исследователи не сомневаются, что они различаются и по своим функциям. Хотя на самом деле функциональная специализация зон пока что до конца не ясна, понятно, что функции зон зрительной коры становятся постепенно все более и более общими. По нынешним представлениям:
- в зоне V1 выделяются локальные признаки небольших участков считанного с сетчатки изображения; это для нас сейчас самое интересное, и об этом мы подробно поговорим ниже;
- V2 продолжает выделять локальные признаки, слегка обобщая их и добавляя бинокулярное зрение (то есть стереоэффект от двух глаз);
- в зоне V3 распознается цвет, текстуры объектов, появляются первые результаты их сегментации и группировки;
- зона V4 уже начинает распознавать геометрические фигуры и очертания объектов, пока несложных; кроме того, именно здесь наиболее сильна модуляция посредством нашего внимания: активация нейронов в V4 не равномерна по всему полю зрения, а сильно зависит от того, на что мы осознанно или неосознанно обращаем внимание;
- зона V5 в основном занимается распознаванием движений, пытаясь понять, куда и с какой скоростью передвигаются в зоне видимости те самые объекты, очертания которых выделились в зоне V4;
- в зоне V6 обобщаются данные о всей картинке, она реагирует на изменения по всему полю зрения (wide-field stimulation) и изменения в картинке вследствие того, что передвигается сам человек;
- иногда также выделяют зону V7, где происходит распознавание сложных объектов, в частности человеческих лиц.
Такая функциональная специализация — это первое замечание о зрительной коре, которое хорошо соответствует тому, что мы обычно видим в глубоких нейронных сетях: более высокие уровни нужны для того, чтобы выделять более общие признаки, соответствующие абстрактным свойствам входа, а на нижних уровнях признаки более конкретные. В сверточных сетях, разумеется, эффект будет тот же самый. Но есть и другие интересные свойства архитектуры зрительной коры, которые нашли отражение в машинном обучении.
Кроме зон V1–V7, выделяют и другие области, а среди перечисленных иерархия не такая уж строгая: есть масса прямых связей, когда, например, нейроны из зоны V1 подаются на вход не только в зону V2, но и напрямую в зону V5; это тоже найдет отражение в сверточных архитектурах.
Кроме того, в отличие от большинства архитектур искусственных нейронных сетей, между нейронами в мозге всегда присутствует очень сильная обратная связь от более высоких уровней к более низким. Например, современные исследования предполагают, что внимание, которое зарождается в зоне V4, потом переходит обратно к V2 и V1 (там тоже присутствуют сильная модуляция на основе внимания!).
В искусственных нейронных сетях тоже вводят подобные механизмы внимания, помогающие выбрать, какие именно входы и промежуточные выходы сети сейчас нужно учитывать больше всего. Но все-таки именно обратную связь мы, специалисты по машинному обучению, пока не очень умеем «готовить»; придумать математическую модель для того, как мозг с ней управляется — одна из важнейших открытых задач нейробиологии.
Кстати, по современным представлениям выходы нейронов из зоны V1 и V2 обрабатываются сразу двумя параллельными путями: вентральный путь из V2 направляется к V4 отвечает на вопрос «Что?» (его иногда называют What Pathway), отвечая за распознавание форм и объектов, а дорсальный путь (Where Pathway) отвечает на вопрос «Где?» (К сожалению, When Pathway в мозге пока не нашелся...), проходит из V2 к V5 и V6 и занимается в основном распознаванием движений, управлением движением глаз и рук (особенно если речь идет о том, как достать находящийся в поле зрения объект). Настолько детальной специализацией мы наши искусственные сети снабдить не сможем, но эта идея, вообще говоря, тоже регулярно используется: часто есть смысл обработать один и тот же вход несколькими разными способами и только потом объединить результаты, скажем, суммированием или конкатенацией. В сверточных сетях так часто делают, когда обрабатывают вход с помощью сразу нескольких размеров фильтров.
Но и это еще не все. Из всей зрительной коры наиболее хорошо изучена зона V1, первичная зрительная кора: она ближе всего к собственно входам, достаточно просто устроена, и там проще понять, за что «отвечают» отдельные нейроны и как они друг с другом взаимодействуют; именно с зоной V1 были связаны самые громкие результаты Хьюбела и Визеля. Оказалось, что зона V1 сама состоит из шести уровней нейронов: входные сигналы приходят из латерального коленчатого тела в четвертый уровень, дальнейшие сигналы выходят из уровней 2 и 3, а обратная связь — из шестого. Нейроны в зоне V1 располагаются не случайно: зона V1 содержит полную «карту» полей зрения обоих глаз, то есть близкие участки сетчатки обрабатываются близкими нейронами в V1. Любопытно, что при этом «картировании» локальная структура переносится очень точно, а вот на глобальном уровне есть серьезные искажения: во-первых, центральный участок поля зрения сильно увеличен (половина всех нейронов отвечают за 2 % поля зрения), во-вторых, есть геометрические искажения, похожие на использование полярных координат: концентрические круги и радиальные линии на картинке преобразуются в вертикальные и горизонтальные линии в V1. Это позволяет сохранять инвариантность изображения при смене нашей позиции и угла зрения. Такие преобразования мы применять не будем, но давайте запомним, что каждый нейрон в V1 работает с очень маленьким участком изображения (он называется рецептивным полем, receptive field), и между ними сохраняются пространственные взаимосвязи, подобные исходной картинке.
Интересно понять, на что, собственно, реагируют нейроны в V1. Кроме расположения, отраженного в «карте», разные нейроны в V1 распознают:
- ориентацию, то есть нейрон реагирует, например, на то, что освещенность вдоль диагонали изображения высокая, а по двум другим углам низкая; или на то, что освещенность нижней части изображения выше, чем верхней; таким образом нейроны распознают границы изображений (edge detection);
- пространственную частоту, то есть то, насколько часто меняется освещенность в пределах рецептивного поля нейрона;
- направление: в отличие от большинства сетей, которые мы будем рассматривать ниже, человеку интересна не только и не столько статичная картинка, сколько происходящие в ней движения; нейроны умеют «запоминать» и сравнивать предыдущие входы с последующими, распознавая таким образом направление не только в пространстве, но и во времени; аналогично распознается и временная частота;
- различие между глазами: в V1 у каждого нейрона два рецептивных поля, для каждого глаза, и хотя большинство нейронов в основном «посвящены» одному конкретному глазу (то есть не реагируют на стимулы с другого), некоторые распознают как раз различия между тем, что видят левый и правый глаз;
- цвет, относительно которого нейроны обычно распознают одно из трех основных направлений: красный — зеленый, синий — желтый и черный — белый.
Математическое описание того, как нейроны зрительной коры активируются в зависимости от ориентации, оказалось тесно связано с так называемыми фильтрами Габора — видом математических преобразований, очень эффективным для выделения границ объектов на изображениях (edge detection).
А знаменитый набор признаков для изображений SIFT (scale-invariant feature transform, масштабно-инвариантное преобразование признаков), разработанный Дэвидом Лоу в конце 1990-х годов, во многом соответствует тому, как активируются нейроны зрительной коры. Сегодня развитие глубоких сетей привело к тому, что сейчас мы получаем примерно те же (только еще лучше работающие) признаки на нижних уровнях сверточных сетей.
Рассказ о зоне V1 плавно подводит нас к последнему замечанию: как видно, обработка изображений в мозге устроена как весьма глубокая нейронная сеть. В частности, уже в самых ранних работах Хьюбела и Визеля клетки зрительной коры (а именно зоны V1) подразделялись на простые и сложные. Простые клетки реагируют только на участки и полосы света, края стимулов, проходящих в определенном месте под определенным углом. А сложные клетки могут, например, реагировать на ориентацию независимо от конкретного положения сигнала. Достигается это тем, что сложные клетки относятся к следующему уровню обработки, получая на вход результат активации простых клеток; поэтому их рецептивное поле обычно немного больше, а выявляемые ими признаки оказываются инвариантными к местоположению сигнала. В частности, клетки, реагирующие на движение сигнала, тоже всегда являются сложными по данной классификации.
И это только начало: в одной только зоне V1 выделяют шесть уровней, а ведь сигнал по ходу движения проходит через сразу несколько зон, начиная с латерального коленчатого тела (в котором, кстати, тоже шесть уровней) и заканчивая высокоуровневыми зонами V6 и V7. Это тоже нашло отражение в искусственных нейронных сетях: сверточные сети для обработки изображений — это самые глубокие из существующих сетей.
Впоследствии, с помощью более точных инструментов, чем были у Хьюбела и Визеля в 70-60 годы 20 столетия ученые выяснили, что лишь небольшая часть нейронов зрительной коры мозга ведет себя так, как предсказывает их модель.
Оказалось, что только 10 процентов нервных клеток в мозге животных работают так, как описано в общепринятой модели. Остальные нейроны демонстрировали более специализированное поведение, не укладывающееся в существующие алгоритмы, а треть нервных клеток вообще не реагировала достоверно ни на один из визуальных стимулов.
"Дело не в том, что все предыдущие исследования были ошибкой, а в том, что изученные ими клетки оказываются очень малой долей всех нейронов в коре, — приводятся в пресс-релизе института Аллена в Сиэтле слова руководителя исследования Саскии де Ври (Saskia de Vries). — Зрительная кора мыши гораздо сложнее и богаче, чем мы думали ранее".
"Считалось, что существуют простые принципы, в соответствии с которыми зрительные нейроны обрабатывают визуальную информацию, — говорит еще один автор исследования Кристоф Кох (Christof Koch). — Но теперь, когда мы можем обследовать десятки тысяч ячеек одновременно, мы получаем более тонкую и гораздо более сложную картину".
То, что существуют более изменчивые, менее специфичные нейроны, не новость. Но было удивительно, что они доминируют над зрительными частями мозга мыши, отмечают исследователи. Пока не ясно, как эти другие нейроны участвуют в обработке зрительных образов. Как не ясно и то, насколько зрительная система мыши соответствует системе обработки визуальной информации у человека или приматов, которых изучали ученые, создававшие классическую модель.