Изменения

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

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

33 байта добавлено, 20 январь
Сверточный слой
=== Сверточный слой ===
[[Файл:Padding.png|upright=1.0|thumb|[https://arxiv.org/abs/1603.07285 Рисунок 2.]Пример свертки двух матриц с дополнением нулями и сдвигом 2]]][[Файл:Convolution-operation-on-volume5.png|upright=1.0|thumb|[http://www.machinelearning.ru/wiki/images/1/1b/DL16_lecture_3.pdf Рисунок 3.]Пример свертки с трехмерным ядром]]]
Сверточный слой нейронной сети представляет из себя применение операции свертки к выходам с предыдущего слоя, где веса ядра свертки являются обучаемыми параметрами. Еще один обучаемый вес используется в качестве константного сдвига (англ. ''bias''). При этом есть несколько важных деталей:
* Еще одним параметром сверточного слоя является ''сдвиг'' (англ. ''stride''). Хоть обычно свертка применяется подряд для каждого пикселя, иногда используется сдвиг, отличный от единицы {{---}} скалярное произведение считается не со всеми возможными положениями ядра, а только с положениями, кратными некоторому сдвигу <math>s</math>. Тогда, если если вход имел размерность <math>w\times h</math>, а ядро свертки имело размерность <math>k_x\times k_y</math> и использовался сдвиг <math>s</math>, то выход будет иметь размерность <math>\lfloor\frac{w - k_x}{s} + 1\rfloor\times\lfloor\frac{h - k_y}{s} + 1\rfloor</math>.
 
=== Пулинговый слой ===
53
правки

Навигация