Если мы хотим, чтобы машины думали, нам нужно научить их видеть.

- Фей Фей Ли, исследователь искусственного интеллекта в Стэнфордском университете.

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

Сверточный слой

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

Свертка

Это математическая операция, которая определяет характер объединения двух наборов информации. Операция также известна как детектор характеристик CNN, где она применяет ядро ​​свертки к входным данным и возвращает карту характеристик в качестве выходных данных. Это достигается путем перемещения ядра по входным данным и умножения ядра на сегмент данных в его границах для создания единой записи в карте функций. Наконец, карта активации каждого фильтра складывается вместе по измерению глубины для построения трехмерного выходного объема [1]. Как и в любой другой модели нейронной сети, оптимизация параметров выполняется с помощью градиентного спуска. Основные компоненты сверточного слоя следующие:

  1. Фильтры. Это один из параметров архитектуры CNN, который учится производить самую сильную активацию пространственно локальных входных шаблонов, т.е. они будут активироваться только тогда, когда шаблон встречается в обучающих данных. По мере увеличения глубины CNN наблюдается, что фильтры способны идентифицировать нелинейную комбинацию признаков.
  2. Карты активации: они вычисляются путем перемещения каждого фильтра по пространственным измерениям входного объема во время прямого прохождения информации через CNN. Числовое значение получается, если нейрон решает передать информацию.

Гиперпараметры

Они определяют пространственное расположение и размер выходного объема сверточного слоя. Ниже приведены некоторые из наиболее важных гиперпараметров:

  1. Размер фильтра. Обычно он мал в пространстве и имеет три измерения - ширину, высоту и цветовые каналы.
  2. Глубина вывода. Этот параметр контролирует количество нейронов в сверточном слое, которые подключены к одной и той же области входного объема.
  3. Шаг: определяет скорость изменения фильтра для каждого приложения. Глубина выходного объема обратно пропорциональна величине шага.
  4. Нулевое заполнение. Он определяет пространственный размер выходного тома и весьма полезен, когда для выходного тома предпочтительнее поддерживать пространственный размер входного тома.

Уровень объединения

Слой помогает постепенно уменьшать пространственный размер представления данных и, таким образом, предотвращать переоснащение обучающих данных. Обычно они включаются между последовательными сверточными слоями и используют операцию max для пространственного изменения размера входных данных. Слои объединения не имеют никаких обучаемых параметров и обычно имеют нулевое заполнение.

Полностью связанный слой

Этот уровень действует как выходной уровень для сети и имеет размер выходного объема как [1 x 1 x N], где N - количество выходных классов, которые должны быть оценены. Полносвязные слои имеют общие параметры уровня нейронной сети и гиперпараметры.

В этой статье мы обсудили различные типы слоев - сверточный уровень, уровень объединения и полностью связанный уровень сверточной нейронной сети, указав важность и полезность каждого из них. На этом мы завершаем наш раздел о CNN. В следующих главах этой серии мы сосредоточимся на различных разновидностях искусственных нейронных сетей, таких как рекуррентные нейронные сети (RNN) и сети с кратковременной памятью, которые имеют свои уникальные применения в областях обработки и перевода естественного языка.

[1] Тан, Ю. и Чан, C.S., 2019. Генератор заголовков изображений на основе фраз с иерархической сетью LSTM. Neurocomputing, 333, pp.86–100.

[2] Паттерсон, Дж., 2017. Глубокое обучение. 1-е издание. изд .: O’Reilly Media, Inc.

[3] Боден, М., 2002. Руководство по рекуррентным нейронным сетям и обратному распространению. Далласский проект.

[4] Brilliant.org. (2020). Сверточная нейронная сеть | Блестящая вики по математике и естествознанию. [онлайн] Доступно по адресу: https://brilliant.org/wiki/convolutional-neural-network [доступ 29 февраля 2020 г.].