Машинное обучение — это область искусственного интеллекта, которая занимается разработкой алгоритмов и теоретической основой для выполнения задач прогнозирования на основе данных и извлечения закономерностей. Искусственные нейронные сети (ИНС) — это системы, вдохновленные биологическими нейронными сетями, составляющими мозг животных. ANN представляет собой набор связанных единиц или узлов, называемых нейронами. Выход каждого узла представляет собой число, вычисленное нелинейной функцией, называемой функцией активации. Узлам присваивается вес в ИНС, который корректируется по мере обучения. Как правило, нейроны объединяются в слои. Различные уровни могут выполнять различные преобразования своих входных данных. Информация перемещается от входного к выходному слою, возможно, после прохождения нескольких слоев.

В 1989 году была открыта новая категория ИНС, называемая сверточной нейронной сетью (СНС), которая продемонстрировала огромный потенциал в области компьютерного зрения. В задаче компьютерного зрения CNN принимает входное изображение или видео, чтобы классифицировать их на основе изученных функций. CNN назначаются обучаемые веса и смещения, чтобы изучить различные аспекты изображения. В глубоком обучении модели CNN используются для обучения и тестирования больших наборов данных изображений. Каждое входное изображение будет проходить через набор сверточных слоев с фильтрами, объединенными слоями и полносвязными слоями (FC).

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

Свертка — это математическая операция, в которой входными данными являются матрица изображения и фильтр размером NxN. Скалярное произведение вычисляется между значениями фильтра и значениями изображения в соответствующей позиции NxN, которые составляют окончательную карту объектов. На начальных этапах сверточные слои используются для изучения различных низкоуровневых функций, таких как углы и края. Затем выходные данные этих слоев передаются на другие сверточные слои, которые изучают функции более высокого уровня. Поскольку размер изображения уменьшается при применении оператора свертки, пиксель в углу/крае используется только в одном из выходных данных.

Отступы и шаги

Заполнение используется для получения выходной карты объектов с точными пространственными размерами в качестве входных данных. Заполнение состоит из добавления подходящего количества строк и столбцов с каждой стороны входной карты объектов. Заполнение позволяет расположить окна свертки по центру вокруг каждой входной плитки. Для входной матрицы размера n*n величина заполнения обозначается «p». Результирующая матрица имеет размер (n+2p-f+1) * (n+2p-f+1). Свертки Valid and Same показывают, сколько отступов требуется. В действительных свертках заполнение не требуется. Результирующая матрица имеет размер (n-f+1) * (n-f+1). В тех же свертках выходной размер совпадает с входным размером. [4] Поскольку размерности одинаковы, n сокращается и p = (f1)/2. Шаг — это промежуток между двумя последовательными окнами. Значение шага по умолчанию равно 1. Использование шага 2 означает, что ширина и высота карты объектов уменьшаются в 2 раза. Общая форма задается следующим образом: ((n+2p-f)/s+1) * ((n+2p-f)/s+1).

Объединяющий слой

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

Полностью подключенный слой

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