Глубокое обучение: разбираемся со свертками

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

Двумерные свертки

Рис. 1. Обычная свертка [1]

Некоторые часто используемые техники

Рис. 2. Паддинг [1]
Рис. 3. Страйд со значением 2 [1]

Многоканальная версия

Рис. 4. Большую часть времени мы имеем дело с тремя каналами(Credit: Andre Mouton)
Рис. 5. Коллекция кернелов в качестве фильтра
Рис. 6. Каждый кернел соответствует определенному каналу
Рис. 7. Получение результирующего канала
Рис. 8. Смещение

Свертки — все еще линейные преобразования

Рис. 9. Матрица синаптических весов между входным и выходным слоями
Рис. 10. Псевдоматрица весов, сформированная перемещением кернела

Общие черты

Рис. 11. Использование свертки для выявления границ объектов
Рис. 12. Визуализация характеристик некоторых каналов первого сверточного слоя GoogLeNet [3]. Каждый фильтр занимается определением некоторой разновидности границы, что в комплексе дает вполне удовлетворительный результат.
Рис. 13. Визуализация характеристик 12-го канала второй и третьей сверток [3]

Рецептивное поле

Рис. 14. Процесс свертывания с применением кернела размерностью 3×3, страйда со значением 2 и паддинга со значением 1
Рис. 15. Ассимиляция пикселов с его окружением
Рис. 16. Визуализация характеристик каналов сверточной нейронной сети. Обратите внимание на их постепенное усложнение. [3]

Финальная заметка о состязательных атаках

Рис. 17. Для человека очевидно, что на обоих картинках изображена панда. Нейронная сеть же думает иначе… [4]

Заключение

Полезные ссылки

Дополнительные материалы

Machine learning enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store