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

Может показаться, что обучение моделей — самая трудоёмкая часть работы специалиста по данным. Но большую часть времени, часто от 60% до 80%, на самом деле занимает подготовка данных: их сбор, очистка и организация для моделирования. По мере увеличения датасетов это подготовительное время тоже растёт, замедляя эксперименты и усложняя итерации.
Чтобы решить эту проблему, исследователи годами искали способы оптимизировать обучение. Такие подходы, как синтетические данные, сжатие датасетов и более эффективные методы оптимизации, направлены на снижение затрат и сложности работы с крупными датасетами, а также на ускорение рабочих процессов машинного обучения.
Это поднимает важный вопрос: можно ли значительно уменьшить датасет и при этом добиться такой же производительности, как при обучении модели на полных данных? Дистилляция датасета — один из многообещающих ответов.
Она создаёт компактную версию большого обучающего датасета, сохраняя важнейшие закономерности, которые нужны модели для эффективного обучения. Это позволяет ускорить обучение, снизить требования к вычислительным ресурсам и сделать эксперименты эффективнее. Можно представить её как шпаргалку для модели: небольшой набор примеров синтетических данных, предназначенных для обучения тем же ключевым закономерностям, что и полный датасет.
В этой статье мы разберём, как работает дистилляция датасета и как она поддерживает масштабируемое машинное обучение и глубокое обучение в реальных приложениях. Начнём!
Принцип работы дистилляции датасета#
Дистилляция датасета — это процесс, в ходе которого большой обучающий датасет преобразуется в гораздо меньший набор данных, который по-прежнему передаёт модели почти ту же информацию, что и исходный датасет. Многие исследователи также называют этот процесс конденсацией датасета, поскольку его цель — уловить ключевые закономерности, присутствующие во всём датасете.
Дистиллированный датасет отличается от случайно сгенерированных синтетических данных или простого выбора небольшой подвыборки реальных изображений. Это не случайный набор ненастоящих данных и не урезанная копия исходного датасета.
Напротив, он целенаправленно оптимизируется для захвата наиболее важных закономерностей. В процессе каждый пиксель и признак корректируется и оптимизируется, чтобы нейронная сеть, обученная на дистиллированных данных, училась почти так же, как при обучении на всём датасете.
Эта идея впервые появилась в статье Tongzhou Wang, Jun-Yan Zhu, Antonio Torralba и Alexei A. Efros на arXiv, опубликованной в 2018 году. В первых экспериментах использовались простые датасеты, такие как MNIST и CIFAR-10, благодаря чему было легко показать, что несколько дистиллированных образцов могут заменить тысячи реальных изображений.

Рис. 1. Использование дистилляции датасета для данных изображений (Источник)
С тех пор последующие исследования развили дистилляцию датасета, включая методы, опубликованные на ICML и ICLR, которые делают конденсацию более эффективной и масштабируемой.
Значение дистилляции датасета#
Дистилляция датасета повышает эффективность обучения и ускоряет циклы разработки. Уменьшая объём данных, на которых должна учиться модель, она снижает требования к вычислительным ресурсам.
Это особенно полезно для непрерывного обучения, при котором модели обновляются со временем, поиска нейронной архитектуры, в рамках которого тестируется множество вариантов моделей, и обучения на периферийных устройствах, где модели работают на небольших устройствах с ограниченными памятью и энергопотреблением. В целом эти преимущества делают дистилляцию датасета отличным вариантом для быстрой инициализации, оперативной тонкой настройки и создания ранних прототипов в различных рабочих процессах машинного обучения.
Обзор принципа работы дистилляции датасета#
Дистилляция датасета создаёт синтетические, то есть искусственно сгенерированные, обучающие образцы. Эти образцы помогают модели учиться почти так же, как при обучении на реальных данных. Метод отслеживает три ключевых фактора в ходе обычного обучения.
Первый — функция потерь, то есть показатель ошибки модели, отражающий, насколько неточны её предсказания. Второй — параметры модели, то есть внутренние веса сети, которые обновляются по мере обучения.
Третий — траектория обучения, описывающая, как ошибка и веса пошагово изменяются со временем. Затем синтетические образцы оптимизируются так, чтобы при обучении модели на них её ошибка уменьшалась, а веса обновлялись так же, как при использовании полного датасета.
Пошаговый разбор дистилляции датасета#
Рассмотрим подробнее, как работает процесс дистилляции датасета:
- Шаг 1 — инициализация синтетических пикселей: процесс начинается с синтетических изображений, которые выступают в роли обучаемых входных данных. Сначала у этих изображений почти нет структуры, и они выглядят как чистый лист. Со временем они оптимизируются и превращаются в информативные примеры.
- Шаг 2 — оптимизация с помощью сопоставления градиентов и обратного распространения ошибки: когда модель обучается на этих синтетических изображениях, она вычисляет градиенты, которые показывают, как должен измениться каждый пиксель, чтобы лучше соответствовать поведению при обучении на реальных данных. Обратное распространение ошибки — это метод, с помощью которого сеть учится на ошибках. Он передаёт ошибку назад через модель, чтобы определить, какие пиксели и веса её вызвали, а затем немного обновляет их. Используя эти градиенты, обратное распространение пошагово корректирует синтетические изображения, делая их более информативными для обучения.
- Шаг 3 — сопоставление поведения на этапах обучения: метод также сопоставляет траектории обучения, то есть пошаговые изменения, которые модель проходит в процессе обучения. Это позволяет дистиллированному датасету направлять модель по пути обучения, похожему на тот, который она прошла бы при использовании полного датасета.
- Шаг 4 — проверка и обобщение: наконец, дистиллированный датасет оценивается на реальных валидационных данных, чтобы определить, насколько хорошо обученная модель работает на новых примерах. Это позволяет убедиться, что синтетические данные обучают общим функциональным закономерностям, а не заставляют модель запоминать отдельные образцы.

Рис. 2. Обзор дистилляции датасета (Источник)
Основные методологии дистилляции датасета#
Все методы дистилляции датасета основаны на одной и той же ключевой идее, даже если используют разные алгоритмы. Большинство подходов относится к трём категориям: сопоставление производительности, сопоставление распределений и сопоставление параметров.
Теперь рассмотрим каждый из них и разберёмся, как они работают.
Сопоставление производительности#
Сопоставление производительности в рамках дистилляции датасета направлено на создание небольшого оптимизированного обучающего набора, который позволяет модели достичь почти такой же точности, как при обучении на полном исходном датасете. Вместо выбора случайной подвыборки дистиллированные образцы оптимизируются так, чтобы модель, обученная на них, имела похожие предсказания, аналогичное поведение функции потерь во время обучения или сопоставимую итоговую точность с моделью, обученной на исходном датасете.
Метаобучение — распространённый метод улучшения этого процесса. Дистиллированный датасет обновляется в ходе повторяющихся эпизодов обучения, поэтому он становится эффективным в самых разных ситуациях.
Во время этих эпизодов метод имитирует обучение модели-ученика на текущих дистиллированных образцах, проверяет, насколько хорошо ученик работает на реальных данных, а затем корректирует дистиллированные образцы, чтобы они стали более эффективными учителями. Со временем дистиллированный набор учится поддерживать быстрое обучение и хорошее обобщение, даже если модель-ученик начинает с других исходных весов или использует другую архитектуру. Благодаря этому дистиллированный датасет становится надёжнее и не привязывается к одному запуску обучения.

Рис. 3. Процесс метаобучения (Источник)
Методы сопоставления распределений#
Сопоставление распределений, в свою очередь, генерирует синтетические данные, соответствующие статистическим закономерностям реального датасета. В отличие от подхода, ориентированного только на итоговую точность модели, этот метод сосредоточен на внутренних признаках, которые нейронная сеть формирует в процессе обучения.
Теперь рассмотрим два метода, лежащих в основе сопоставления распределений.
Сопоставление распределений на одном слое#
Сопоставление распределений на одном слое сосредоточено на одном слое нейронной сети и сравнивает признаки, которые он создаёт для реальных и синтетических данных. Эти признаки, также называемые активациями, отражают то, чему модель научилась на данном этапе сети.
Заставляя синтетические данные порождать похожие активации, метод побуждает дистиллированный датасет отражать те же важные закономерности, что и исходный датасет. На практике синтетические образцы многократно обновляются, пока активации на выбранном слое не начнут близко соответствовать активациям реальных изображений.
Этот подход относительно прост, поскольку за раз согласует только один уровень представления. Он может особенно хорошо работать на небольших датасетах или задачах, где нет необходимости сопоставлять глубокие многоуровневые иерархии признаков. Чётко выравнивая одно пространство признаков, сопоставление на одном слое обеспечивает стабильный и содержательный сигнал для обучения на дистиллированном датасете.
Сопоставление распределений на нескольких слоях#
Сопоставление распределений на нескольких слоях развивает идею сравнения реальных и синтетических данных, выполняя его на нескольких слоях нейронной сети, а не только на одном. Разные слои улавливают разные типы информации: от простых границ и текстур на ранних слоях до форм и более сложных закономерностей на глубоких слоях.
Сопоставляя признаки на этих слоях, метод побуждает дистиллированный датасет отражать то, чему модель учится на разных уровнях. Поскольку он выравнивает признаки по всей сети, синтетические данные лучше сохраняют богатые сигналы, на которые модель опирается при различении классов.
Это особенно полезно в задачах компьютерного зрения, то есть в задачах, где модели учатся понимать изображения и видео, поскольку полезные закономерности распределены по множеству слоёв. Когда распределения признаков хорошо совпадают на нескольких уровнях глубины, дистиллированный датасет становится более сильной и надёжной заменой исходным обучающим данным.
Методы сопоставления параметров#
Ещё одна ключевая категория в дистилляции датасета — сопоставление параметров. Вместо сопоставления точности или распределений признаков этот метод сопоставляет изменения весов модели в процессе обучения. Если обучение на дистиллированном датасете приводит к обновлениям параметров, похожим на обновления при обучении на реальных данных, модель следует почти идентичному пути обучения.
Далее мы разберём два основных метода сопоставления параметров.
Сопоставление одного шага#
Сопоставление одного шага сравнивает изменения весов модели после всего одного шага обучения на реальных данных. Затем дистиллированный датасет настраивается так, чтобы модель, обученная на нём один шаг, создавала очень похожее обновление весов. Поскольку метод сосредоточен только на одном обновлении, он прост и быстро выполняется.
Недостаток в том, что один шаг не отражает весь процесс обучения, особенно в сложных задачах, где модели требуется множество обновлений для формирования более содержательных признаков. Поэтому сопоставление одного шага лучше всего подходит для простых задач или небольших датасетов, где полезные закономерности можно быстро обнаружить.
Многошаговое сопоставление параметров#
В отличие от него, многошаговое сопоставление параметров учитывает, как изменяются веса модели на протяжении нескольких шагов обучения, а не только одного. Эта последовательность обновлений представляет собой траекторию обучения модели.
Дистиллированный датасет создаётся так, чтобы при обучении модели на синтетических образцах её траектория максимально близко следовала той, по которой она двигалась бы на реальных данных. Сопоставляя более продолжительный отрезок обучения, дистиллированный набор захватывает больше структуры исходного процесса обучения.
Поскольку этот метод отражает развитие обучения во времени, многошаговое сопоставление обычно лучше работает с большими или более сложными датасетами, где моделям требуется множество обновлений для обнаружения полезных закономерностей. Оно требует больше вычислений, поскольку отслеживает несколько шагов, но часто создаёт дистиллированные датасеты, которые лучше обобщаются и обеспечивают более высокую производительность, чем сопоставление одного шага.
Как выполняются генерация и оптимизация синтетического датасета#
Теперь, когда мы лучше понимаем основные подходы к дистилляции, можно рассмотреть создание синтетических данных. В рамках дистилляции датасета синтетические образцы оптимизируются для захвата наиболее важного обучающего сигнала, поэтому небольшой набор может заменить гораздо больший датасет.
Далее мы увидим, как эти дистиллированные данные генерируются и оцениваются.
Создание и оценка дистиллированных изображений#
Во время дистилляции датасета синтетические пиксели обновляются на протяжении множества шагов обучения. Нейронная сеть учится на текущих синтетических изображениях и передаёт обратную связь на основе градиентов, показывая, как должен измениться каждый пиксель, чтобы лучше соответствовать закономерностям реального датасета.
Это работает благодаря дифференцируемости процесса (то есть каждый шаг является плавным и имеет чётко определённые градиенты, поэтому небольшие изменения пикселей приводят к предсказуемым изменениям функции потерь), что позволяет модели плавно корректировать синтетические данные в ходе градиентного спуска.
По мере продолжения оптимизации синтетические изображения начинают приобретать осмысленную структуру, включая формы и текстуры, распознаваемые моделью. Эти уточнённые синтетические изображения часто используются в задачах классификации изображений, поскольку они содержат ключевые визуальные признаки, необходимые классификатору для обучения.
Дистиллированные датасеты оцениваются путём обучения на них моделей и сравнения результатов с моделями, обученными на реальных данных. Исследователи измеряют точность на валидационной выборке и проверяют, сохраняет ли синтетический набор дискриминативные признаки (закономерности или сигналы, на которые модель опирается при различении классов), необходимые для разделения классов. Они также проверяют стабильность и обобщение на разных запусках или конфигурациях моделей, чтобы убедиться, что дистиллированные данные не приводят к переобучению.
Применение дистилляции данных в реальных задачах#
Далее мы подробнее рассмотрим примеры того, как дистиллированные датасеты ускоряют обучение и снижают вычислительные затраты, сохраняя высокую производительность даже при ограниченных или узкоспециализированных данных.
Использование дистилляции датасета в задачах компьютерного зрения#
В компьютерном зрении цель заключается в обучении моделей пониманию визуальных данных, таких как изображения и видео. Эти модели изучают закономерности — границы, текстуры, формы и объекты — а затем используют их для таких задач, как классификация изображений, обнаружение объектов или сегментация. Поскольку задачи компьютерного зрения часто отличаются большим разнообразием освещения, фонов и ракурсов, системам компьютерного зрения обычно требуются большие датасеты для хорошего обобщения, что делает обучение дорогим и медленным.

Рис. 4. Пример дистилляции датасета (Источник)
В задачах классификации изображений, таких как анализ медицинских снимков, мониторинг дикой природы или обнаружение дефектов на производстве, модели часто сталкиваются со сложным компромиссом между точностью и стоимостью обучения. Обычно для таких задач требуются огромные датасеты.
Дистилляция датасета позволяет сжать исходный обучающий набор до небольшого количества синтетических изображений, которые по-прежнему содержат наиболее важные визуальные признаки для классификатора. На крупных бенчмарках, таких как ImageNet, было показано, что дистиллированные наборы, использующие всего около 4,2% исходных изображений, сохраняют высокую точность классификации. Это означает, что небольшой синтетический заменитель может заменить миллионы реальных образцов при значительно меньших вычислительных затратах.
Поиск нейронной архитектуры#
Поиск нейронной архитектуры, или NAS, — это методика, которая автоматически исследует множество возможных архитектур нейронных сетей, чтобы найти наиболее подходящую для задачи. Поскольку NAS должен обучать и оценивать большое количество моделей-кандидатов, его запуск на полных датасетах может быть медленным и требовать значительных вычислительных ресурсов.
Дистилляция датасета помогает создать небольшой синтетический обучающий набор, который сохраняет основной обучающий сигнал исходных данных, благодаря чему каждую архитектуру-кандидата можно тестировать гораздо быстрее. Это позволяет NAS эффективно сравнивать архитектуры и при этом достаточно надёжно сохранять порядок лучших и худших вариантов, снижая стоимость поиска без существенной потери итогового качества модели.
Непрерывное обучение и развёртывание на периферийных устройствах#
Системам непрерывного обучения, то есть моделям, которые постоянно обновляются по мере поступления новых данных, нужны быстрые обновления с эффективным использованием памяти. Периферийные устройства, такие как камеры, телефоны и датчики, сталкиваются с похожими ограничениями, поскольку имеют жёсткие ограничения по вычислительным ресурсам и хранилищу.
Дистилляция датасета помогает в обоих случаях, сжимая большой обучающий набор до небольшого синтетического, чтобы модели могли адаптироваться или переобучаться на маленьком наборе воспроизведения вместо полного датасета. Например, исследование метаобучения на основе ядер показало, что всего 10 дистиллированных образцов могут обеспечить точность свыше 64% на CIFAR-10 — стандартном бенчмарке классификации изображений. Благодаря компактности набора воспроизведения обновления выполняются гораздо быстрее и становятся практичнее, особенно когда модели нужно часто обновлять.
Дистилляция датасета также может применяться вместе с дистилляцией знаний для больших языковых моделей. Небольшой дистиллированный датасет может сохранить наиболее важные сигналы задачи от модели-учителя, благодаря чему сжатую модель-ученика можно эффективнее обучать или обновлять без существенной потери производительности. Поскольку такие датасеты очень малы, они особенно полезны для периферийного или локального использования, где хранилище и вычислительные ресурсы ограничены, но при этом важно сохранять точность модели после обновлений.
Преимущества и недостатки дистилляции данных#
Вот некоторые преимущества использования дистилляции датасета:
- Отлично подходит для быстрых экспериментов. Ты можешь тестировать новые архитектуры, функции потерь или гиперпараметры, не переобучая модель каждый раз на огромном датасете.
- Потенциальное преимущество с точки зрения конфиденциальности. Обмен дистиллированными синтетическими образцами может быть безопаснее обмена реальными пользовательскими данными, поскольку исходные примеры не раскрываются напрямую.
- Часто эффективнее простого выбора подвыборки. Вместо простого выбора примеров дистилляция активно оптимизирует их, чтобы сделать максимально информативными.
Хотя дистилляция датасета даёт несколько преимуществ, важно учитывать и следующие ограничения:
- Переобучение: дистиллированные данные часто лучше всего работают с архитектурой, использованной при дистилляции, и могут плохо переноситься на сильно отличающиеся модели.
- Чувствительность к гиперпараметрам. Результаты могут сильно зависеть от таких факторов, как скорость обучения, инициализация или количество шагов дистилляции.
- Сложнее масштабировать на реальные задачи. Методы, хорошо работающие на бенчмарках, могут терять точность на больших, неструктурированных или изображениях высокого разрешения.
Основные выводы#
Дистилляция датасета позволяет небольшому набору синтетических образцов обучать модель почти так же эффективно, как полный датасет. Это делает машинное обучение более быстрым, эффективным и масштабируемым. По мере роста моделей и увеличения требований к данным дистиллированные датасеты предлагают практичный способ снизить вычислительные затраты без потери точности.
Присоединяйся к нашему сообществу и загляни в наш репозиторий на GitHub, чтобы узнать больше об AI. Если ты хочешь создать собственный проект в области компьютерного зрения, ознакомься с вариантами лицензирования. Узнай больше о таких применениях, как AI в здравоохранении и AI для компьютерного зрения в розничной торговле, на страницах наших решений.









