глоссарий

Structured pruning

Structured pruning

Структурная обрезка — это метод сжатия обученных нейросетей, при котором удаляют целые блоки параметров: фильтры, каналы или слои. В отличие от неструктурной, где обнуляют отдельные веса, здесь сохраняется регулярная структура вычислений. Это как вырезать из книги не буквы, а целые предложения, оставляя текст читаемым.

Зачем это важно? Большинство процессоров умеют быстро считать плотные матрицы. Если просто обнулить веса, сеть становится разреженной, но ускорения не будет — все слои всё равно работают. Структурная обрезка уменьшает число каналов и слоёв, поэтому объём вычислений и памяти сокращается напрямую. Это критично для смартфонов, дронов и «умных» камер, где энергия ограничена.

Интуитивно это похоже на уход за кустом: можно отрезать листья по одному, а можно убрать целые ветви. В нейросети ветви — это группы нейронов, отвечающие за похожие признаки. После обучения многие из них дублируют друг друга. Обрезка находит избыточные блоки и удаляет их, сохраняя суть модели.

Пример. У свёрточной сети для распознавания дорожных знаков на первом слое сто фильтров, каждый ищет свой узор. Тридцать из них почти не влияют на точность. Удаляем их целиком — сеть становится на четверть уже. На видеокарте она работает на 40% быстрее, а точность падает с 98,2% до 97,8% — это допустимо.

Вывод: структурная обрезка — это компромисс между компактностью и качеством. Она не заменяет обучение с нуля, но позволяет запускать уже готовые модели на ограниченном железе. ИИ становится быстрее, дешевле и доступнее — а это именно то, что нужно для повседневных устройств.