Тип статьи: [Машинное Обучение] (смотрите Карту блога)
В математике довольно часто за сложным и объемным аппаратом стоит простая и интуитивно понятная логика. Так и с компьютерным зрением.
Прежде чем понять, что такое свертка и пулинг, нужно обозначить базовые концепции работы нейронных сетей.
Сеть состоит из слоев нейронов. Слои следуют один за одним и по цепочке обрабатывают некоторую информацию. Каждый слой, в процессе обучения сети, учится решать некоторую задачу. Чем слой дальше от начала, тем эта задача более объемная.
Например, сеть учиться распознавать котов и собак по фотографии. Она получает на вход первого слоя изображение. На первых слоях сеть может выбирать на картинке палочки, кружочки, дуги. Ближе к середине сеть уже находит на картинке глаза, усы, нос. В конце она уже может принять решение: кто на изображении - кот или собака.
Что же такое свертка и пулинг? Это те базовые операции, благодаря которым сеть находит закономерности (палочка, усы, кот).
Получив изображение в первом слое, сеть разбивает его на множество маленьких изображений. Далее на каждом маленьком изображении сеть учится находить палочки, кружочки и т.д.
Такой слой называется сверточным слоем, а операция, которую он выполняет, - сверткой.
Что же дальше? Как из огромного количества маленьких кружочков и палочек выделить что-либо осмысленное. Тут на помощь приходит слой, выполняющий операцию пулинга (или пулинговый слой). Пулинговый слой помогает выбирать важные для конкретной задачи палочки и кружочки.
Если сеть учится распознавать котов и собак, то комбинация сверточных и пулинговых слоев будет отбирать палочки и кружочки похожие на те, которые обычно встречаются на изображениях котов и собак. Если задача будет другая, например, найти на картинке стул, то комбинация сверточных и пулинговых слоев будет выбирать кружочки похожие на те, которые обычно встречаются на изображениях стульев. Все просто.
Далее мы просто повторяем комбинацию слоев свертки и пулинга.
Получается что-то такое:
1. Свертка: очень много палочек, очень много кружочков, ... ;
2. Пулинг: важные палочки, важные кружочки;
3. Свертка: комбинация нескольких палочек;
4. Пулинг: кошачий ус;
и т.д.
Вот и все.
Спасибо за прочтение статьи. Если понравилось - ставьте лайк и подписывайтесь на канал. До скорых встреч :)