Изменения

Перейти к: навигация, поиск

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

91 байт убрано, 12:49, 10 января 2019
Нет описания правки
В сверточной нейронной сети выходы промежуточных слоев образуют матрицу (изображение) или набор матриц (несколько слоёв изображения). Так, например, на вход сверточной нейронной сети можно подавать три слоя изображения (R-, G-, B-каналы изображения). Распространенными видами слоев в сверточной нейронной сети являются сверточные слои (англ. ''convolutional layer''), пулинговые слои (англ. ''pooling layer'') и [[:Нейронные сети, перцептрон|полносвязные слои]]<sup>[на 09.01.19 не создан]</sup> (англ. ''fully-connected layer'').
=== Сверточный слой ===[[Файл:Padding.png|upright=1.5|thumb|Пример свертки двух матриц с дополнением нулями]][[Файл:Strides.png|upright=1.5|thumb|Пример свертки двух матриц со и сдвигом 2]]
Сверточный слой нейронной сети представляет из себя применение операции свертки к выходам с предыдущего слоя, где веса ядра свертки являются обучаемыми параметрами. Еще один обучаемый вес используется в качестве константного сдвига (англ. bias). При этом есть несколько важных деталей:
=== Пулинговый слой ===
Пулинговый слой призван снижать размерность изображения. Исходное изображение делится на блоки размером <math>w\times h</math> и для каждого блока вычисляется некоторая функция (например, максимум в случае max pooling или (взвешенное) среднее в случае (weighted) average pooling). Обучаемых параметров у этого слоя нет, его основная цель {{---}} уменьшить изображение, чтобы последующие свертки оперировали над большей областью исходного изображения. Также он призван увеличить инвариантность выхода сети по отношению к малому переносу входа.
Анонимный участник

Навигация