Помните о различиях в обучении больших и маленьких нейронных сетей.

Обучение глубоких нейронных сетей (НС) сложно, а иногда и сложно даже для опытных практиков. Чтобы достичь максимально возможной производительности модели с учетом определенного набора данных, нам необходимо учитывать множество аспектов: настройку гиперпараметров, регуляризацию, метрики проверки, нормализации и так далее. Однако соображения, которые мы должны учитывать, не являются универсальными для всех NN. Это зависит от размера модели.

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

Почему это произошло? Какова связь между емкостью модели и регуляризацией? В этом посте речь пойдет о них.

Подгонка модели должна учитывать вместимость модели

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

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

На самом деле, если вы обучаете маленькую модель так же, как обучаете большую модель, вы можете упустить главное.

Крупные модели склонны к облеганию

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

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

Почему регуляризация не работает для крошечных моделей

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

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

Дополняйте модели, а не наборы данных

Как увеличить маленькую модель? Что делать, если размер модели вообще нельзя увеличить?

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

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

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

Рекомендации

Расширение сети для крошечного глубокого обучения, 2021 г.