Веса на рис. 12 должны давать высокую положительную активацию при наличии в рецептивном поле вертикального ребра на стыке светлого и темного участков (то есть высокого контраста между левой и правой сторонами входного фрагмента). Верхнее рецептивное поле содержит вертикальное ребро: переход от светлой шерсти собаки к фону темной травы. Это отражается высоким уровнем активации (410). Нижнее рецептивное поле не содержит такого ребра, потому что в него попадает только темная трава, и уровень активации (–10) оказывается ближе к 0. Обратите внимание, что вертикальное ребро перехода от темного участка к светлому даст “высокий” отрицательный уровень активации (то есть отрицательное число, далекое от 0).
Это вычисление – умножение каждого значения в рецептивном поле на соответствующий вес и сложение результатов – и называется сверткой. Отсюда и название “сверточная нейронная сеть”. Выше я упомянула, что в сверточной нейронной сети карта активации представляет собой решетку ячеек, соответствующих рецептивным полям по всему изображению. Каждая ячейка карты активации использует одни и те же веса, чтобы вычислить свертку для своего рецептивного поля: представьте, как белый квадрат скользит по всем фрагментам входного изображения[103]. В результате получается карта активации с рис. 12: центральный пиксель рецептивного поля ячейки окрашивается в белый при высоких положительных и отрицательных уровнях активации, но становится темнее при уровнях, близких к 0. Можно видеть, что белые зоны показывают места, где есть вертикальные ребра. Карты 2 и 3 с рис. 11 были созданы аналогичным образом, но их веса помогали выявлять соответственно горизонтальные и наклонные ребра. В совокупности карты активации, составляемые единицами первого слоя, ответственными за обнаружение ребер, обеспечивают сверточную нейронную сеть таким представлением входного изображения, в котором показаны по-разному ориентированные ребра в отдельных фрагментах, что-то похожее на результат работы программы по обнаружению ребер.
Давайте на минутку остановимся, чтобы обсудить использование слова “карта” в этом контексте. В повседневной жизни “картой” называют пространственное представление географической местности, например города. Скажем, карта дорог Парижа показывает конкретную характеристику города – схему его улиц, проспектов и переулков, – но не включает многие другие характеристики, такие как здания, дома, фонарные столбы, урны, яблони и пруды. Другие карты уделяют внимание другим характеристикам: можно найти карты парижских велодорожек, вегетарианских ресторанов и парков для выгула собак. Что бы вас ни интересовало, вполне вероятно, что существует карта, которая покажет вам, где это найти. Если бы вы хотели рассказать о Париже другу, который никогда там не бывал, можно было бы подойти к задаче творчески и показать ему коллекцию таких “специализированных” карт.
Сверточная нейронная сеть (как и мозг) представляет видимую сцену как коллекцию карт, показывающих специфические “интересы” набора детекторов. В моем примере на рис. 11 в качестве интересов выступают ребра различной ориентации. Однако, как мы увидим далее, СНС сами
Карты создаются не только на первом слое сверточной нейронной сети. Как видно на рис. 10, остальные слои имеют схожую структуру: каждый из них обладает набором детекторов, а каждый детектор создает собственную карту активации. Ключ к успеху СНС – опять же подсказанный устройством мозга – заключается в
Наша гипотетическая сверточная нейронная сеть имеет четыре слоя с тремя картами в каждом, но в реальности такие сети могут иметь гораздо большее количество слоев – иногда даже сотни, – причем каждый слой может обладать своим числом карт активации. Определение этих и многих других аспектов структуры СНС – один из шагов к тому, чтобы такая сложная сеть смогла справляться с поставленной перед нею задачей. В главе 3 я описала идею И. Дж. Гуда о будущем “интеллектуальном взрыве”, когда машины сами станут создавать все более совершенные машины. Пока мы не вышли на этот этап, а потому настройка сверточных нейронных сетей требует огромного человеческого мастерства.
Классификация в СНС