FNNP — это алгоритм для сокращения размера обученной нейросети. Во время экспериментов исследователи сокращали размер MobileNet V1 и ResNet-50. FNNP обошла предыдущие подходы на 3.8% по итоговой точности предсказаний уменьшенной нейросети.
Поиск избыточной части в обученной нейросети — это ключевая задача алгоритмов прунинга. Прунинг алгоритмы нацелены на уменьшение размера нейросети так, что минимально потерять в точности предсказаний модели. Часть алгоритмов пытаются предсказать качество работы сокращенной модели с помощью новых методов оценки. Такие методы либо неточные, либо вычислительно сложные для общего применения.
Fast Neural Network Pruning (FNNP) — это прунинг-алгоритм, в который встроен метод оценки качества модели (adaptive-BN-based evaluation). Предложенный метод оценки основан на адаптивной батч-нормализации и помогает устанавливать связь между подсетями и итоговой точностью их предсказаний. Так, FNNP помогает сократить время на выбор оптимальной подсети с лучшей итоговой точностью из множества подсетей. FNNP не требует дополнительной регуляризации и обучения с учителем.
Как это работает
Пайплайн алгоритма состоит из трех частей:
- Генерация стратегии прунинга выдает стратегии в формате векторов с послойным рейтингом прунинга. Рейтинг прунинга для каждого слоя модели семплируется случайно. Стратегии фильтруются по заранее заданным параметрам;
- Прунинг полноразмерной сети с помощью сгенерированных стратегий;
- Оценка качества подсетей через метод, основанный на адаптивной батч-нормализации
Проверка работы алгоритма
Исследователи сравнили FNNP с state-of-the-art прунинг методами: ThiNet, NetAdapt, Filter Pruning, AMC и Meta-Pruning. Метод оценки сгенерированных подсетей, основанный на адаптивной батч-нормализации, обходит конкурирующие подходы.