ConvMixer во многих отношениях похож на Vision Transformer (и MLP-Mixer): он напрямую работает с патчами, поддерживает представление одинакового разрешения и размера на всех уровнях, не выполняет понижающую дискретизацию представления на последовательных слоях и он отделяет «канальное смешивание» от «пространственного смешивания» информации. Но в отличие от Vision Transformer и MLP-Mixer, ConvMixer выполняет все эти операции только с помощью стандартных сверток.

ConvMixer состоит из слоя встраивания патчей, за которым следуют повторяющиеся приложения простого полностью сверточная блока. Мы сохраняем пространственную структуру вложений патчей. Вложения патчей с размером патча p и размером внедрения h могут быть реализованы как свертка с входными каналами cin, выходными каналами h, размером ядра p и шагом p:

Сам блок ConvMixer состоит из свертки по глубине (т. Е. Сгруппированной свертки с группами, равными количеству каналов, h), за которой следует точечная (т. Е. Размер ядра 1 × 1) свертка. ConvMixers лучше всего работают с необычно большими размерами ядра для свертки по глубине. За каждой из сверток следует активация и постактивация BatchNorm:

После многих применений этого блока мы выполняем глобальное объединение, чтобы получить вектор признаков размера h, который мы передаем классификатору softmax.

ConvMixers оцениваются по данным классификации ImageNet-1k

Бумага

Патчи — это все, что вам нужно? 2201.09792

Выполнение

КонвМиксер

Просмотреть все темы этой серии здесь