惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
腾讯CDC
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
量子位
F
Fortinet All Blogs
G
Google Developers Blog
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
D
Docker
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
M
MIT News - Artificial intelligence
博客园 - 【当耐特】

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Как ускорить распознавание объектов нейросетями среди мно...
AI-SHA · 2026-05-26 · via Все публикации подряд на Хабре

Как ускорить распознавание объектов нейросетями среди множества классов, не жертвуя памятью и точностью

Средний

5 мин

6.1K

Эксперты российской ИТ-компании «Криптонит» Никита Габдуллин и Илья Андросов разработали принципиально новый метод организации скрытого пространства нейросетей. В ряде сценариев он позволяет снизить требования к памяти GPU и существенно ускорить классификацию объектов нейронными сетями. Вместо того, чтобы мириться с ростом вычислительных затрат и требований к памяти по мере увеличения числа классов, авторы призывают отказаться от классификационного слоя и случайного распределения классов в скрытом пространстве нейросети.

Ограничения классификаторов на примере компьютерного зрения

Системы компьютерного зрения (CVS) помогают нам найти товар по фото, обнаружить пропавшего человека, идентифицировать растения и минералы, определять производственный брак прямо на конвейере, использовать интеллектуальное видеонаблюдение и создавать автономных роботов. Сценариев их использования становится всё больше, и во многих из них требуется глубокий анализ. То есть, помимо класса объекта (животное, транспортное средство и т.д.) всё чаще требуется определять подклассы и конкретные метки в них. В зависимости от оборудования, задержки становятся заметными уже на десятках и сотнях тысячах классов. При нескольких миллионах классов нейросеть может просто не помещаться в память одного графического ускорителя (GPU) — приходится покупать кластер, или отправлять запросы в облако, что дорого, долго и не всегда возможно. 

Ранее предпринимались попытки оптимизировать задачу классификации. В качестве альтернативы простому классификационному слою был разработан подход, основанный на принципе подобия с предопределёнными прототипами.

Вместо того, чтобы хранить отдельные веса для каждого класса, нейросеть обучается выдавать его векторное представление (эмбеддинг) таким образом, чтобы объекты одного класса образовывали компактные группы — кластеры. Класс объекта определяется по ближайшему прототипу — эталонному вектору в центре кластера. Для этого вычисляется расстояние между векторным представлением распознаваемого объекта (эмбеддингом запроса) и прототипами всех классов. Обычно эта задача решается через вычисление косинусного сходства (cossim). Однако сложность поиска ближайшего прототипа по-прежнему оказывается пропорциональна числу классов. 

Пространство всех возможных эмбеддингов называется скрытым пространством (latent space, LS). Как правило, в процессе обучения нейросети обычными методами эмбеддинги распределяются в LS случайным образом, и геометрическая структура LS не зафиксирована. Именно эту проблему и решают авторы исследования.

Предопределённость вместо хаоса

В предложенном подходе скрытое пространство нейросети (latent space) конфигурируется специальным образом — с помощью описанного ранее метода latent space configuration (LSC). В качестве целей конфигурации берутся векторные системы Vnmk, где каждый вектор состоит ровно из m единиц, k минус-единиц и дополнен нулями.

Когда скрытое пространство заполнено такими векторами, поиск ближайшего центра класса сводится к нахождению индексов m наибольших и k наименьших значений в эмбеддинге запроса. Более того, сложность поиска ближайшего центра становится постоянной величиной, больше не зависящей от числа классов! Она определяется как O(ndim​), где ndim — размерность скрытого пространства. Так как ndim является константной при инференсе, сложность поиска в данном случае О(1).

Сохранение исходной точности

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

Преимущества становятся очевидными именно при большом числе классов. В статье приводятся замеры на GPU с 40 ГБ памяти (NVIDIA A100):

  • при 5 миллионах классов и фиксированном размере батча ускорение самой операции поиска (только классификации) достигает 76 крат, однако общее преимущество в таком масштабе оказывается невелико (4%), так как большую часть времени занимает препроцессинг и выгрузка данных.

  • при 20 млн классов ситуация кардинально меняется и общий выигрыш по времени составляет 2,64 раза.

  • при 30 миллионах классов обычный метод вообще не может работать с большим батчем, так как в память GPU невозможно поместить одновременно и модель и огромный классификационный слой. В этих условиях предложенный метод обеспечивает ускорение общего времени логического вывода (inference) до 11,57 раза по сравнению с оценкой косинусного сходства.

  • при 100 миллионах классов традиционный подход (с косинусным сходством или полносвязным слоем) на одном GPU просто не применим. Новый метод продолжает работать, делая возможным использование экстремально большого числа классов.

Обнаружение новых классов

Ещё один практический эффект предложенного метода — способность сообщать о ранее неизвестных классах. Классическая система компьютерного зрения всегда выдаёт степень соответствия одному из известных классов, даже если объект не принадлежит ни одному из них.

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

Такое поведение открывает перспективы для непрерывного обучения (lifelong learning) и обучения с малым числом примеров (few-shot learning).

Сценарии внедрения

Предложенный метод не только сокращает расходы на инференс, но и позволяет реализовать недостижимые ранее сценарии внедрения систем компьютерного зрения.

Например, в рекомендательных системах маркетплейсов и музыкальных сервисах. Когда каталог насчитывает десятки миллионов позиций, классификация предпочтений пользователя в реальном времени становится медленной и затратной. Новый метод позволяет ускорить подбор релевантных объектов без закупки дополнительных мощностей.

Аналогичная проблема возникает при поиске товаров по каталогам. Если у маркетплейса десятки миллионов товаров, то обычная нейросеть с классификационным слоем или полным перебором прототипов просто не помещается в памяти одного ускорителя и тогда обходится слишком дорого. Новый метод решает эту проблему.

Другой важный аспект — интеллектуальное видеонаблюдение в многолюдных местах (стадионах, вокзалах, аэропортах). Распознавание лиц и номеров автомобилей в мегаполисах — это та задача, где ограничения по памяти и времени обработки возникают очень быстро. Предложенный подход позволяет работать с любыми объёмами при существенно меньших требованиях к оборудованию.

Способность системы сообщать о неизвестных классах может быть востребована в биометрической идентификации (банки, системы доступа). Здесь важна не только скорость, но и возможность корректно отклонить неизвестного человека (не приписывая ему ложный известный идентификатор). Теоретически, немаркированные центры кластеров как раз дают такую возможность.

Детерминированные преимущества

Научная работа Никиты Габдуллина и Ильи Андросова предлагает математически строгий способ превратить классификацию с миллионами классов из ресурсоёмкой задачи в операцию с фиксированной сложностью. Продемонстрировано ускорение более чем в 11 раз и возможность продолжать работу там, где обычные методы упираются в лимиты памяти. Встроенный механизм обнаружения новых классов ещё больше расширяет потенциальные сферы применения. Помимо ускорения задачи классификации, новый метод открывают новые возможности для создания интеллектуальных систем, способных работать в реальном времени с каталогами любого размера.

Подробнее читайте в научной статье (PDF) «Использование предопределённых систем векторов для ускорения операций классификации в нейронных сетях с миллионами классов» на нашем сайте kryptonite.ru.