Глубинное обучение и сверточные нейронные сети
Глубинное обучение (deep learning) является подобластью машинного обучения, при котором настройке подвергаются многоуровневые нейронные сети – сети с большим количеством слоев, то есть с большой глубиной. Глубинное обучение отличается сложностью обучения многослойных сетей [17], в связи с чем классические методы обучения становятся практически неприменимы.
Главная особенность глубинного обучения заключается в том, что архитектура нейронных сетей строится таким образом, чтобы моделировать сложные объекты реального мира с помощью более простых абстракций.
Глубинное обучение требует определенного вида нейронных сетей, одним из которых является сверточная нейронная сеть (convolutional neural network).
Сверточная нейронная сеть – однонаправленная многослойная нейронная сеть, в которой чередуются слои двух видов – сверточные (convolution) и подвыборочные (subsampling). Сверточные слои предназначены для выполнения операции свертки – умножение каждой точки изображения на матрицу свертки. Подвыборочные слои отвечают за уменьшение размерности карты признаков, что помогает ускорить вычисления. Сверточная нейронная сеть благодаря своей архитектуре способна распознавать объекты со сложной иерархией признаков. В большей степени сверточные нейронные сети применяется в задачах обработки изображений. Архитектура сверточной нейронной сети представлена на рисунке 2.
рис.2. Сверточная нейронная сеть
Методы глубинного обучения не останавливаются на использовании сверточных нейронных сетей. Наряду с ними, со стороны исследователей растет интерес к рекуррентным нейронным сетям (recurrent neural network).[18][19]. В настоящее время данный вид сетей используется в широком спектре задач: распознавание действий по видеофрагменту, моделирование временных рядов и обработка естественного языка.
Также среди методов глубинного обучения существуют методы обучения без учителя. Среди них можно выделить авто-кодировщики, разреженные авто-кодировщики а также ограниченные машины Больцмана. Данные методы чаще всего используются для предобучения нейронных сетей, что помогает сократить время обучения и облегчает настройку многочисленных параметров обучения.
рис.3 Автокодировщик
Основная часть
В данной работе в качестве конкретной задачи компьютерного зрения была выбрана задача детектирования объектов. Решение задачи детектирования позволяет качественнее анализировать представленную сцену, а также узнавать взаимное расположение объектов.