Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Что такое дистилляция наборов данных? Краткий обзор

Абирами Вина

5 мин чтения

12 декабря 2025 года

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

Модели обучения могут казаться самой трудоемкой частью работыデータサイエンティスト. Но на самом деле большую часть своего времени, часто от 60% до 80%, они тратят на подготовку данных: их сбор, очистку и систематизацию для моделирования. По мере увеличения объема наборов данных время на подготовку также увеличивается, что замедляет эксперименты и затрудняет итерацию.

Чтобы решить эту проблему, исследователи годами искали способы оптимизации обучения. Такие подходы, как синтетические данные, сжатие наборов данных и более совершенные методы оптимизации, направлены на снижение затрат и сложностей при работе с крупными наборами данных, а также на ускорение процессов машинного обучения.

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

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

В этой статье мы рассмотрим, как работает дистилляция наборов данных и как она поддерживает масштабируемое машинное обучение и глубокое обучение в реальных приложениях. Приступим!

Понимание дистилляции наборов данных

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

Дистиллированный набор данных отличается от случайно сгенерированных синтетических данных или простого выбора небольшого поднабора реальных изображений. Это не случайный поддельный набор данных и не урезанная копия оригинала. 

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

Эта идея впервые появилась в статье, опубликованной в 2018 году в arXiv, авторами которой являются Тонгчжоу Ван, Цзюнь-Янь Чжу, Антонио Торральба и Алексей А. Эфрос. В ранних тестах использовались простые наборы данных, такие как MNIST и CIFAR-10, что позволило легко продемонстрировать, что несколько дистиллированных образцов могут заменить тысячи реальных изображений. 

Рис. 1. Использование дистилляции наборов данных для изображений (Источник)

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

Значение дистилляции наборов данных

Дистилляция наборов данных повышает эффективность обучения и ускоряет циклы разработки. За счет уменьшения объема данных, необходимых для обучения модели, снижаются вычислительные требования. 

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

Обзор принципа работы дистилляции наборов данных

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

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

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

Пошаговый обзор процесса дистилляции наборов данных

Вот более подробное описание того, как работает процесс дистилляции набора данных: 

  • Шаг 1 — Инициализация синтетических пикселей: процесс начинается с синтетических изображений, которые выступают в качестве обучаемых входных данных. Сначала эти изображения имеют мало структуры и выглядят как чистые листы. Со временем они оптимизируются и превращаются в информативные примеры.
  • Шаг 2 — Оптимизация с помощью сопоставления градиентов и обратного распространения: по мере обучения модели на этих синтетических изображениях она генерирует градиенты, которые указывают, как должен измениться каждый пиксель, чтобы лучше соответствовать поведению реальных данных при обучении. Обратная пропогадация — это метод, который сеть использует для обучения на ошибках. Она отправляет ошибку назад через модель, чтобы выяснить, какие пиксели и веса ее вызвали, а затем слегка их обновляет. Используя эти градиенты, обратная пропогадация шаг за шагом корректирует синтетические изображения, чтобы они стали более информативными для обучения.
  • Шаг 3 — Согласование поведения на всех этапах обучения: метод также согласовывает траектории обучения, то есть пошаговые изменения, которые проходит модель в процессе обучения. Это гарантирует, что дистиллированный набор данных ведет модель по пути обучения, аналогичному тому, которому она следовала бы с полным набором данных.
  • Шаг 4 — Валидация и обобщение: Наконец, отфильтрованный набор данных оценивается на реальных валидационных данных, чтобы увидеть, насколько хорошо обученная модель работает на новых примерах. Это позволяет проверить, что синтетические данные обучают широким функциональным паттернам, а не заставляют модель запоминать конкретные образцы.
Рис. 2. Обзор процесса дистилляции набора данных (Источник)

Основные методологии дистилляции наборов данных 

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

Далее давайте рассмотрим каждый из них и посмотрим, как он работает.

Соответствие производительности

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

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

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

Рис. 3. Процесс метаобучения (Источник)

Методы сопоставления распределений

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

Далее рассмотрим две технологии, которые обеспечивают сопоставление дистрибутивов.

Однослойное распределение согласования

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

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

Этот подход относительно прост, поскольку он выравнивает только один уровень представления за раз. Он особенно хорошо работает с небольшими наборами данных или задачами, где не требуется сопоставление глубоких многоуровневых иерархий признаков. Четко выравнивая одно пространство признаков, однослойное сопоставление обеспечивает стабильный и значимый сигнал для обучения с использованием дистиллированного набора данных.

Многослойное распределение соответствий

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

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

Это особенно полезно в компьютерном зрении, то есть в задачах, где модели учатся понимать изображения и видео, поскольку полезные шаблоны распределены по многим слоям. Когда распределения признаков хорошо совпадают на нескольких уровнях глубины, дистиллированный набор данных выступает в качестве более сильного и надежного заменителя исходных обучающих данных.

Методы сопоставления параметров

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

Далее мы рассмотрим два основных метода сопоставления параметров.

Одноэтапное сопоставление

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

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

Многоступенчатое согласование параметров

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

Дистиллированный набор данных построен таким образом, что когда модель обучается на синтетических образцах, ее траектория точно повторяет траекторию, которую она бы прошла на реальных данных. Соответствуя более длительному периоду обучения, дистиллированный набор лучше отражает структуру исходного процесса обучения.

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

Как работает генерация и оптимизация синтетических наборов данных

Теперь, когда мы лучше понимаем основные подходы к дистилляции, можем рассмотреть, как создаются синтетические данные. При дистилляции наборов данных синтетические образцы оптимизируются для улавливания наиболее важных сигналов обучения, благодаря чему небольшой набор может заменить гораздо более крупный набор данных. 

Далее мы рассмотрим, как генерируются и оцениваются эти обобщенные данные.

Создание и оценка дистиллированных изображений

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

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

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

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

Реальные применения дистилляции данных

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

Использование дистилляции наборов данных для приложений компьютерного зрения

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

Рис. 4. Пример дистилляции набора данных (Источник)

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

Дистилляция набора данных позволяет сжать исходный набор обучающих данных до небольшого количества синтетических изображений, которые по-прежнему содержат наиболее важные визуальные признаки для классификатора. На крупных тестовых наборах, таких как ImageNet, было показано, что дистиллированные наборы, использующие только около 4,2% исходных изображений, сохраняют высокую точность классификации. Это означает, что крошечный синтетический прокси может заменить миллионы реальных образцов с гораздо меньшими вычислительными затратами.

Поиск нейронной архитектуры 

Поиск нейронной архитектуры, или NAS, — это метод, который автоматически исследует множество возможных конструкций нейронных сетей, чтобы найти ту, которая лучше всего подходит для выполнения задачи. Поскольку NAS должен обучать и оценивать большое количество моделей-кандидатов, его запуск на полных наборах данных может быть медленным и очень вычислительноемким. 

Дистилляция набора данных помогает создать небольшой синтетический набор для обучения, который по-прежнему содержит основной сигнал обучения исходных данных, благодаря чему каждая кандидатская архитектура может быть протестирована гораздо быстрее. Это позволяет NAS эффективно сравнивать проекты, сохраняя при этом достаточно надежный рейтинг хороших и плохих архитектур, что снижает затраты на поиск без значительного ухудшения качества конечной модели.

Непрерывное обучение и передовое внедрение

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

Дистилляция наборов данных помогает в обоих случаях, сжимая большой набор обучающих данных в небольшой синтетический набор, так что модели могут адаптироваться или переобучаться, используя небольшой набор повторов, а не полный набор данных. Например, работа по метаобучению на основе ядра показала, что всего 10 дистиллированных образцов могут достичь точности более 64% по CIFAR-10, стандартному тесту классификации изображений. Поскольку набор повторов очень компактен, обновления становятся гораздо быстрее и практичнее, особенно когда модели необходимо часто обновлять.

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

Плюсы и минусы дистилляции данных

Вот некоторые преимущества использования дистилляции наборов данных:

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

Несмотря на то, что дистилляция наборов данных имеет ряд преимуществ, следует помнить о некоторых ограничениях:

  • Переобучение: Дистиллированные данные часто лучше всего подходят для архитектуры, используемой во время дистилляции, и могут плохо переноситься на совершенно другие модели.
  • Чувствительность к гиперпараметрам. Результаты могут в значительной степени зависеть от таких факторов, как скорость обучения, инициализация или количество этапов дистилляции.
  • Труднее масштабировать с учетом сложности реального мира. Методы, которые хорошо работают на тестовых наборах данных, могут терять точность при работе с большими, неструктурированными или высокоразрешающими наборами данных.

Основные выводы

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

Присоединяйтесь к нашему сообществу и посетите наш репозиторий GitHub, чтобы узнать больше об искусственном интеллекте. Если вы хотите создать свой собственный проект Vision AI, ознакомьтесь с нашими вариантами лицензирования. Узнайте больше о таких приложениях, как искусственный интеллект в здравоохранении и Vision AI в розничной торговле, посетив наши страницы с решениями.

Давайте строить будущее
ИИ вместе!

Начните свой путь в будущее машинного обучения

Начать бесплатно