Обратите внимание, что на рис. 10 каждый слой сети представлен группой из трех наложенных друг на друга прямоугольников. Эти прямоугольники обозначают карты активации, создаваемые по аналогии с подобными “картами”, обнаруженными в зрительной системе мозга. Хьюбел и Визель установили, что нейроны в нижних слоях зрительной коры формируют решетку, в которой каждый нейрон реагирует на соответствующую небольшую зону визуального поля. Представьте, что вы фотографируете ночной Лос-Анджелес с самолета: огни на вашем снимке складываются в схематичную карту светящихся элементов города. Аналогичным образом активация нейронов в каждом матричном слое зрительной коры формирует схематичную карту важных признаков наблюдаемой сцены. Теперь представьте, что у вас особенный фотоаппарат, который может делать отдельные снимки с огнями домов, светом из окон высотных зданий и фарами машин. Примерно так работает зрительная кора: у каждого важного зрительного признака появляется собственная нейронная карта. Комбинация этих карт – ключ к нашему восприятию сцены.
Как и нейроны зрительной коры, ячейки сверточной нейронной сети служат детекторами важных визуальных признаков, причем каждая ячейка ищет свой признак в конкретной области визуального поля. И (условно говоря) как и зрительная кора, каждый слой СНС состоит из нескольких решеток, сформированных такими ячейками, и каждая решетка является картой конкретного визуального признака.
Какие визуальные признаки должны выявлять ячейки СНС? Давайте сначала посмотрим на мозг. Хьюбел и Визель обнаружили, что нейроны нижних слоев зрительной коры служат детекторами
Тип ребер, на которые реагируют эти нейроны, довольно четко определен. Одни нейроны активируются, только когда в их рецептивном поле оказывается вертикальное ребро, другие реагируют только на горизонтальное ребро, третьи – только на ребра, проходящие под другими определенными углами. Одним из важнейших открытий Хьюбела и Визеля стало то, что каждая небольшая область зрительного поля человека соответствует рецептивным полям многих нейронов, служащих “детекторами ребер”. Таким образом, на низком уровне обработки зрительной информации ваши нейроны определяют ориентацию ребер в каждом фрагменте сцены, на которую вы смотрите. Информация от нейронов – детекторов ребер – поступает в более высокие слои зрительной коры, нейроны которых, вероятно, служат детекторами конкретных форм, объектов и лиц[102].
Рис. 11. Карты активации в первом слое нашей СНС
Подобным образом первый слой нашей гипотетической сверточной нейронной сети состоит из ячеек, которые выявляют ребра. На рис. 11 приводится более подробная схема устройства первого слоя нашей сверточной нейронной сети. Этот слой включает три карты активации, каждая из которых представляет собой решетку из ячеек. Каждая ячейка на карте соответствует аналогичному месту на входном изображении, и каждая ячейка получает входной сигнал из небольшой области вокруг этого места – из своего рецептивного поля. (Как правило, рецептивные поля соседних ячеек накладываются друг на друга.) Каждая ячейка каждой карты вычисляет уровень активации, показывающий, в какой степени поле соответствует той ориентации ребер, которая предпочитается данной ячейкой – например, вертикальной, горизонтальной или наклоненной под определенным углом.
На рис. 12 в подробностях показано, как ячейки карты 1, ответственные за выявление вертикальных границ, вычисляют уровни своей активации. Маленькими белыми квадратиками на входном изображении обозначены рецептивные поля двух разных ячеек. Увеличенные фрагменты изображения, попадающие в эти поля, показаны в качестве решеток со значениями пикселей. Здесь я для простоты показала каждый фрагмент как решетку пикселей 3 × 3 (значения обычно находятся в диапазоне от 0 до 255 – чем светлее пиксель, тем выше значение). Каждая ячейка получает в качестве входного сигнала значения пикселей в своем рецептивном поле. Она умножает каждое входное значение на его вес, складывает результаты и получает уровень своей активации.
Рис. 12. Иллюстрация применения свертки для выявления вертикальных ребер. Например, свертка верхнего рецептивного поля с весами составляет (200 × 1) + (110 × 0) + (70 × –1) + (190 × 1) + (90 × 0) + + (80 × –1) + (220 × 1) + (70 × 0) + (50 × –1) = 410