Что такое сшиваемые нейронные сети? Разбираемся вместе с коллегами из лаборатории больших данных компании «Криптонит».
На сегодня созданы целые семейства предварительно обученных моделей с различными архитектурами (таких как ResNet/DeiT), в каждом из которых есть версии разного масштаба (например, DeiT-Ti/S/B).
Но ни одна из готовых моделей не обладает способностью динамически адаптироваться к ограничениям вычислительных ресурсов, поскольку содержит фиксированный граф и не может быть переконфигурирована.
Устранить этот недостаток призвана концепция сшиваемых нейронных сетей (Stitchable Neural Networks), которая была реализована в виде фреймворка глубокого обучения SN-Net. Она позволяет сочетать множество архитектур нейросетей и достигать компромисса между смещением и дисперсией, одновременно задействуя различные типы предварительно обученных моделей, которые авторы называют «якорями».
SN-Net разделяет якоря на слои, а затем объединяет их с помощью дополнительных сшивающих слоёв, отображающих связи от одного якоря к другому. Во время работы SN-Net может мгновенно адаптироваться к изменяющимся ограничениям ресурсов путём переключения точек сшивки.
Эксперименты по классификации объектов на основе набора данных ImageNet демонстрируют, что SN-Net может достигать производительности на уровне или даже выше, чем индивидуально обученные модели, поддерживая при этом различные сценарии развёртывания.