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

Я думал, что понимаю, как обучаются нейронные сети. Обучаю их, наблюдаю за снижением потерь, сохраняю контрольные точки в каждой эпохе. Стандартный рабочий процесс. Затем я измерил динамику обучения с интервалом в 5 шагов, а не на уровне эпох, и всё, что я, как мне казалось, знал, развалилось.
Вопрос, с которого всё началось: увеличивается ли мощность нейронной сети во время обучения или она фиксирована с момента инициализации? До 2019 года мы все считали ответ очевидным: параметры фиксированы, поэтому мощность тоже должна быть фиксированной. Но Ансуини и др. обнаружили нечто невозможное: эффективная репрезентативная размерность увеличивается во время обучения. Янг и др. подтвердили это в 2024 году.
Это меняет всё. Если пространство обучения расширяется по мере обучения сети, как мы можем механически понять, что она на самом деле делает?
Контрольные точки высокочастотной подготовки
При обучении глубокой нейронной сети (DNN) на 10 000 шагов мы обычно устанавливали контрольные точки каждые 100 или 200 шагов. Измерение с интервалом в 5 шагов создаёт слишком много записей, которыми сложно управлять. Однако эти высокочастотные контрольные точки дают очень ценную информацию о том, как обучается DNN.
Высокочастотные контрольно-пропускные пункты предоставляют информацию о:
- Можно ли исправить ошибки, допущенные на ранних этапах обучения (часто это невозможно)
- Почему некоторые архитектуры работают, а другие терпят неудачу
- Когда следует проводить анализ интерпретируемости (спойлер: гораздо раньше, чем мы думали)
- Как разработать лучшие подходы к обучению
В ходе прикладного исследовательского проекта я измерял обучение DNN с высоким разрешением — каждые 5 шагов вместо каждых 100 или 500. Я использовал базовую архитектуру MLP с тем же набором данных, который я использовал последние 10 лет.

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

На рисунке 2 представлен мониторинг эффективной размерности активации во время обучения. Мы видим, что эти переходы концентрируются в первых 25% обучения и скрыты при больших интервалах между контрольными точками (100–1000 шагов). Для обнаружения большинства из них нам потребовалась высокочастотная установка контрольных точек (5 шагов). Кривая также демонстрирует интересное поведение. Начальный коллапс представляет собой реструктуризацию ландшафта потерь, где случайная инициализация уступает место структуре, согласованной с задачей. Затем мы видим фазу расширения с постепенным ростом размерности. Между 2000–3000 шагами наблюдается стабилизация, отражающая ограничения архитектурной пропускной способности DNN.

Это меняет то, как мы должны думать об обучении DNN, интерпретируемости и проектировании архитектуры.
Разведка против расширения
Рассмотрим следующие два сценария:
| Сценарий А: Фиксированная мощность (разведка) |
Сценарий Б: Расширение возможностей (инновации) |
| Ваша сеть изначально имеет фиксированную репрезентативную ёмкость. Обучение исследует различные области этого заранее определённого пространства. Это похоже на навигацию по карте, существующей с самого начала. Раннее обучение означает лишь то, что «ещё не найден нужный регион». | Ваша сеть начинается с минимальной ёмкости. Обучение создаёт репрезентативные структуры. Это как строить дороги во время путешествия: каждая дорога открывает новые пункты назначения. Раннее обучение определяет, что станет доступным для изучения в будущем. |
Какой из них?
Этот вопрос важен, поскольку при увеличении мощности восстановление после раннего обучения невозможно. Нельзя просто «обучать дольше», чтобы исправить ранние ошибки. Таким образом, интерпретируемость имеет временную шкалу, где признаки формируются последовательно. Понимание этой последовательности имеет ключевое значение. Более того, проектирование архитектуры, по-видимому, ориентировано на скорость расширения, а не только на конечную мощность. Наконец, существуют критические периоды. Если мы упустим окно, мы упустим возможности.
Когда нам нужно измерять высокочастотные контрольные точки
Расширение против исследования

Как видно на рисунках 2 и 3, высокочастотная выборка позволяет получить интересную информацию. Мы можем выделить три различные фазы:
| Фаза 1: Коллапс (шаги 0–300). Сеть реструктурируется после случайной инициализации. Размерность резко падает по мере изменения ландшафта потерь вокруг задачи. Это ещё не обучение, а подготовка к обучению. |
| Фаза 2: Расширение (шаги 300–5000) Размерность неуклонно растёт. Это расширение ёмкости. Сеть создаёт репрезентативные структуры. Простые функции, которые обеспечивают возможность создания сложных функций, которые, в свою очередь, обеспечивают возможности для создания функций более высокого порядка. |
| Фаза 3: Стабилизация (шаги 5000–8000) . Рост останавливается. Архитектурные ограничения сковывают. Сеть совершенствует имеющиеся возможности, а не наращивает новые. |
Этот график демонстрирует расширение, а не исследование. Сеть на шаге 5000 может представлять функции, которые были невозможны на шаге 300, поскольку их не существовало.
Мощность увеличивается, параметры — нет

Сравнение активационного и весового пространств показывает, что они демонстрируют различную динамику при высокочастотной выборке. Активационное пространство показывает около 85 дискретных скачков (включая гауссовский шум). Весовое пространство показывает только 1. Та же сеть с тем же тренировочным циклом. Это подтверждает, что сеть на шаге 8000 вычисляет функции, недоступные на шаге 500, несмотря на одинаковое количество параметров. Это является самым явным доказательством расширения.
Глубокие нейронные сети внедряют инновации, генерируя новые варианты пространства параметров в процессе обучения для представления сложных задач.
Переходы происходят быстро и рано
Мы видели, как высокочастотная выборка показывает гораздо больше переходов. Низкочастотная выборка пропустила бы почти все из них. Эти переходы концентрируются на ранних этапах. Две трети всех переходов происходят в первые 2000 шагов — всего 25% от общего времени обучения. Это означает, что если мы хотим понять, какие признаки формируются и когда, нам нужно изучать шаги 0–2000, а не конвергенцию. К шагу 5000 история заканчивается.
Расширение пар для оптимизации
Если снова взглянуть на рисунок 3, то можно увидеть, что с уменьшением потерь размерность увеличивается. Сеть не упрощается в процессе обучения. Она становится сложнее. Размерность сильно коррелирует с потерями (ρ = -0,951) и умеренно — с величиной градиента (ρ = -0,701). Это может показаться нелогичным: повышение производительности коррелирует с расширенными, а не сжатыми представлениями. Можно было бы ожидать, что сети будут находить более простые и сжатые представления в процессе обучения. Вместо этого они расширяются в пространства с большей размерностью.
Почему?
Возможное объяснение заключается в том, что сложные задачи требуют сложных представлений. Сеть не находит более простого объяснения и сама формирует необходимые изменения в представлениях для разделения классов, распознавания закономерностей и обобщения.
Практическое развертывание
Мы увидели другой способ понимания и отладки обучения DNN в любой области.
Если мы знаем, когда в ходе обучения формируются признаки, мы можем анализировать их по мере их формирования, а не заниматься впоследствии обратной разработкой черного ящика.
В реальных сценариях развёртывания мы можем отслеживать размерность репрезентации в режиме реального времени, определять, когда происходят фазы расширения, и проводить анализ интерпретируемости в каждой точке перехода. Это позволяет нам точно определить, когда наша сеть создаёт новые репрезентативные структуры и когда это происходит. Подход к измерению не зависит от архитектуры: он работает независимо от того, обучаете ли вы сверточные нейронные сети для зрительного восприятия, преобразователи для языка, агентов обучения с подкреплением для управления или многомодальные модели для кросс-доменных задач.
| Пример 1 : Эксперименты с вмешательством, отображающие причинно-следственные зависимости. Нарушайте обучение в определённых окнах и измеряйте, какие возможности нижестоящего уровня теряются. Если повреждение данных на шагах 2000–5000 необратимо нарушает распознавание текстур, а то же самое повреждение на шаге 6000 не оказывает никакого эффекта, вы определили, когда формируются текстурные признаки и от чего они зависят. Это работает одинаково для распознавания объектов в моделях зрения, синтаксической структуры в языковых моделях или различения состояний в агентах обучения с подкреплением. |
| Пример 2 : При производственном развёртывании непрерывный мониторинг размерности выявляет проблемы репрезентативности во время обучения, когда их ещё можно исправить. Если слои перестают расширяться, возникают архитектурные узкие места. Если расширение становится нестабильным, возникает нестабильность. Если ранние слои достигают насыщения, а поздние не расширяются, возникают проблемы с потоком информации. Стандартные кривые потерь не покажут эти проблемы, пока не станет слишком поздно — отслеживание размерности выявляет их немедленно. |
| Пример 3 : Практические выводы для проектирования архитектуры. Измерьте динамику расширения в течение первых 5–10% обучения среди возможных архитектур. Выбирайте сети с чёткими фазовыми переходами и структурированной разработкой снизу вверх. Эти сети не просто более производительны, но и принципиально более интерпретируемы, поскольку признаки формируются в чётких последовательных слоях, а не в запутанной одновременности. |
Что дальше?
Итак, мы установили, что сети расширяют своё репрезентативное пространство во время обучения, что мы можем измерять эти переходы с высоким разрешением, и что это открывает новые подходы к интерпретируемости и вмешательству. Возникает естественный вопрос: можно ли применить это в своей работе?
Я публикую полную инфраструктуру измерений с открытым исходным кодом. Я включил проверенные реализации для многослойных перцептурных алгоритмов (MLP), сверточных нейронных сетей (CNN), ResNet, Transformers и Vision Transformers, а также возможности для создания собственных архитектур.
Все работает с тремя линиями, добавленными в ваш тренировочный цикл.

Репозиторий GitHub предоставляет шаблоны экспериментов для описанных выше экспериментов: картирование формирования признаков, протоколы вмешательства, прогнозирование межархитектурного переноса и настройки мониторинга производства. Методология измерений проверена. Теперь важно то, что вы обнаружите, применяя её к своей области.
Попробуйте :
pip install ndtracker
Краткое руководство, инструкции и примеры в репозитории: Neural Dimensionality Tracker (NDT)
Код готов к использованию. Протоколы задокументированы. Вопросы открыты. Хотелось бы узнать, что вы получите, измеряя динамику обучения в высоком разрешении, независимо от контекста и архитектуры.
Вы можете поделиться своими результатами, сообщить о проблемах, связанных с вашими выводами, или просто поставить ⭐️ на репозиторий, если это изменит ваше представление об обучении. Помните, что временная шкала интерпретируемости существует для всех нейронных архитектур.
Хавьер Марин | LinkedIn | Твиттер
Источник: towardsdatascience.com

























