Узнайте о сверточных нейронных сетях

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

Сверточные нейронные сети вдохновлены биологической структурой зрительной коры, которая содержит расположения простых и сложных камер [1]. Обнаружено, что эти камеры активируются на основе субрегионов поля зрения. Эти субрегионы называются рецептивными полями. Вдохновленные результатами этого исследования, нейроны в сверточном слое соединяются с субрегионами слоев перед этим слоем вместо того, чтобы быть полностью связанными, как в других типах нейронных сетей. Нейроны не реагируют на области за пределами этих субрегионов на изображении.

Эти субрегионы могут перекрываться, следовательно, нейроны ConvNet дают пространственно коррелированные результаты, в то время как в других типах нейронных сетей нейроны не имеют никаких связей и дают независимые результаты.

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

ConvNet состоит из нескольких слоев, таких как сверточные слои, слои с максимальным или средним объединением и полносвязные слои.

Нейроны в каждом слое ConvNet расположены 3-D образом, преобразуя вход 3-D в выход 3-D. Для примера, для входа изображений, первый слой (вход слой) содержит изображения как 3-D входы, причем размерности являются высотой, шириной и цветовыми каналами изображения. Нейроны в первом сверточном слое соединяются с областями этих изображений и преобразуют их в 3-D выход. Скрытые модули измерения (нейроны) в каждом слое изучают нелинейные комбинации исходных входов, что называется редукцией данных [2]. Эти выученные функции, также известные как активации, из одного слоя становятся входами для следующего слоя. Наконец, выученные функции становятся входами в классификатор или регрессионую функцию в конце сети.

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

Можно конкатенировать слои сверточной нейронной сети в MATLAB® следующим образом:

layers = [imageInputLayer([28 28 1])
          convolution2dLayer(5,20)
          reluLayer
          maxPooling2dLayer(2,'Stride',2)
          fullyConnectedLayer(10)
          softmaxLayer
          classificationLayer];

После определения слоев сети необходимо задать опции обучения с помощью trainingOptions функция. Для примера,

options = trainingOptions('sgdm');

Затем можно обучить сеть с помощью обучающих данных с помощью trainNetwork функция. Данные, слои и опции обучения становятся входами в функцию обучения. Для примера,

convnet = trainNetwork(data,layers,options);

Для подробного обсуждения слоев ConvNet, смотрите Задать слои сверточной нейронной сети. Для настройки параметров обучения смотрите Set Up Parameters и Train Convolutional Neural Network.

Ссылки

[1] Hubel, H. D. and Wiesel, T. N. «Receptive Fields of Single Neurones in the Cat's Striate Cortex». Журнал физиологии. Том 148, стр. 574-591, 1959.

[2] Мерфи, К. П. Машинное обучение: вероятностная перспектива. Кембридж, Массачусетс: The MIT Press, 2012.

См. также

|

Похожие темы