Мегаобучалка Главная | О нас | Обратная связь


Математическое описание



2018-07-06 761 Обсуждений (0)
Математическое описание 0.00 из 5.00 0 оценок




Для реализации нейросетевых алгоритмов необходимо подробно рассмотреть математическое описание и особенности работы нейронных сетей.

Математическое описание элементов нейросетевых архитектур

Элементарной составляющей любой нейронной сети является искусственный нейрон [44]. Его схема приведена на рисунке 33.

 

Рисунок 33 – Схема искусственного нейрона

 

Нейрон может иметь любое фиксированное число входов (x1 – xn на рисунке 33) и один выход (в некоторых случаях выход может ветвиться, однако выходное значение у нейрона одно). Каждый вход имеет собственный весовой коэффициент (w1 – wn на рисунке 33). Также нейрон имеет значение смещения (b на рисунке 33), которое вместе со взвешенными входами подается на суммирующее звено, поэтому часто обозначается как единичный вход x0 = 1 c весовым коэффициентом b = w0. Далее, после суммирующего звена, к полученному значению применяется нелинейная функция активации (активационная функция), результат которой и будет выходным значением нейрона.

 

Таким образом, нейрон можно выразить следующей функцией:

 

(1)

 

Наиболее популярные функции активации приведены в таблице 1.

 

Таблица 1 – Часто используемые функции активации

Название (обозначение) Формула График f(x)
сигмоидальная (sigmoid, σ(x))
полулинейная (ReLU)
полулинейная «с утечкой» (leaky ReLU)
гиперболический тангенс (tanh)
softmax -

Следует отметить, что функция softmax обычно используется в конечном (выходном) слое классифицирующей нейронной сети. В этом случае она преобразует вектор выходных значений, длина которого равна числу классов, к диапазону (0, 1); полученные значения используются как значения уверенности классификатора, зачастую в процентах.

Далее детально рассмотрим слои, применяющиеся в свёрточных нейронных сетях для обнаружения объектов.

Полносвязный слой

В полносвязном слое каждый нейрон слоя соединён с выходом каждого нейрона предыдущего слоя, т.е. число входов у нейронов рассматриваемого слоя равно числу нейронов предыдущего слоя. На рисунке 34 представлена схема слоя.

 

Рисунок 34 – Схема полносвязного слоя

 

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

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

Сверточный слой или слой свертки – это основной блок сверточной нейронной сети. Сверточный слой представлен сверточным фильтром или ядром свертки – небольшой матрицей (обычно от 1×1 до 7×7, наиболее часто – 1×1, 3×3 и 5×5) с заданным числом выходных каналов, которая применяется на каждый канал входного изображения или матрицы. Содержащиеся в ядрах свертки значения и являются настраиваемыми весами нейронной сети. На рисунке 35 показан принцип работы сверточного фильтра размером 3×3, имеющего один выходной канал и единичный шаг.

 

Рисунок 35 – Схема свёрточного слоя

 

Ядро свертки применяется ко входной матрице по принципу скользящего окна с заданным шагом (величиной сдвига скользящего окна). Каждый элемент выходной матрицы содержит сумму поэлементных произведений сверточного фильтра и значений входной матрицы. Формально преобразование над изображением с размером H×W пикселей и числом каналов С, выполняемое сверточным слоем c набором из S фильтров с размерами l×l и С цветовыми каналами, записывается следующим образом:

 

(2)

 

где – элемент в i-м столбце и j-й строке канала с фильтра s;

– элемент в столбце (i-1), строке (j-1), канала c фрагмента изображения X, определяющегося размером l×l×c и координатами левого верхнего угла, равными (x, y);

– элемент выходного тензора (матрицы) , где H' = H – l + 1, W' = W – l + 1, т.е. размер выходной матрицы отличается от размера входной в зависимости от размера ядра свертки и величины шага.

К полученному тензору Y применяется функция активации, после чего его можно рассматривать как изображение размера H', W' с S цветовыми каналами и подать на вход следующему слою нейронной сети.

На рисунке 35 также показан пример расчета значений выходной матрицы. Матрица, полученная на выходе свёрточного слоя, называется также картой признаков.

Преимуществом свёрточных слоёв перед полносвязными для работы с изображениями является меньшее число настраиваемых параметров. Например, в случае цветного (трехканального) изображения размером 100×100 пикселей входной полносвязный слой потребует 30000 нейронов, т.е. будет иметь 30000 настраиваемых параметров, в то время как сверточный слой с фильтром размером 3×3 и числом выходных каналов, равным 6, будет иметь всего 3*(3×3)*6 = 162 настраиваемых параметра, что значительно меньше.

Слой подвыборки

Слой подвыборки (также – субдискретизации, пулинга) применяется после сверточного слоя и используется для уменьшения размера карты признаков. Это осуществляется посредством выбора среди соседних значений карты признаков максимального и отбрасывания остальных, в некоторых случаях вычисляется среднее значение элементов либо другая функция. Слой субдискретизации определяется размером области, в которой будет производиться выбор (обычно это область 2×2 или 3×3), и шагом, т.е. величиной сдвига области (обычно равной размеру области). Принцип работы слоя подвыборки размером 2×2 и шагом, равным 2, показан на рисунке 36.

 

Рисунок 36 – Схема слоя подвыборки

 

Преобразование в слое подвыборки с усреднением может быть записано в аналогичной форме (выражение 2), что и преобразование свертки с учетом большего шага, равного k, и равенства числа каналов входной и выходной матрицы C = S:

 

(3)

 

При этом ядро свертки будет усредняющим, т.е. каждый его элемент будет равен 1/m, где m – сумма всех элементов рассматриваемого фрагмента входного изображения, а размеры выходного изображения будут равны:

 

  (4)
(5)

 

В случае подвыборки максимального элемента выражение для слоя субдискретизации будет выглядеть следующим образом:

 

(6)

 

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



2018-07-06 761 Обсуждений (0)
Математическое описание 0.00 из 5.00 0 оценок









Обсуждение в статье: Математическое описание

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (761)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)