Глоссарий

Выпадающий слой

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Dropout Layer - это фундаментальная техника, используемая при обучении нейронных сетей (НС) для борьбы с проблемой переподгонки. Введенный Хинтоном и др. в их влиятельной статье 2014 года, дропаут стал широко распространенным методом регуляризации в глубоком обучении (ГОО), особенно эффективным в больших сетях с большим количеством параметров. Его основная цель - улучшить обобщающую способность модели, обеспечив ей хорошую работу на невидимых данных, а не только на обучающих.

Как работает отсев

В процессе обучения модели Dropout Layer случайным образом "выпадает" или деактивирует часть нейронов (единиц) в этом слое для каждой обучающей выборки. Это означает, что выходы этих выбранных нейронов устанавливаются на ноль, и они не вносят вклад в прямой проход и не участвуют в шаге обратного распространения для данного конкретного образца. Доля отбрасываемых нейронов определяется коэффициентом отсева - гиперпараметром, который обычно устанавливается в диапазоне от 0,2 до 0,5.

Очень важно, что отсев активен только во время обучения. Во время умозаключения или предсказания на тестовых данных все нейроны активны. Чтобы компенсировать тот факт, что во время умозаключений активно больше нейронов, чем во время обучения, выходы слоя обычно уменьшаются на величину отсева (эта техника называется инвертированным отсевом и обычно реализуется в таких фреймворках, как PyTorch и TensorFlow).

Преимущества использования Dropout

Основное преимущество использования Dropout Layers заключается в улучшении обобщения модели и уменьшении перебора. Это достигается за счет нескольких механизмов:

  • Уменьшение совместной адаптации: Благодаря случайному отбрасыванию нейронов отсев предотвращает чрезмерную зависимость единиц в слое друг от друга (совместную адаптацию) для исправления ошибок во время обучения. Это заставляет каждый нейрон самостоятельно изучать более надежные и независимые характеристики.
  • Неявный ансамбль: Применение отсева во время обучения сродни обучению большого количества различных "прореженных" нейронных сетей с общими весами. Во время вычислений использование полной сети с масштабированными активациями приближается к усреднению предсказаний этого большого ансамбля, что в целом приводит к лучшей производительности и устойчивости.
  • Вычислительная эффективность: Хотя концептуально это похоже на обучение нескольких моделей, отсев достигает эффекта ансамбля за один цикл обучения модели, что делает его вычислительно намного дешевле, чем явное объединение моделей.

Применение в реальном мире

Dropout широко используется в различных областях искусственного интеллекта (AI) и машинного обучения (ML):

  1. Компьютерное зрение: В компьютерном зрении (КВ) отсев помогает таким моделям, как Ultralytics YOLO лучше справляются с такими задачами, как обнаружение объектов, классификация изображений и сегментация экземпляров. Например, в системах автономного вождения отсев может сделать модели обнаружения более устойчивыми к изменениям освещения, погоды или окклюзии, повышая безопасность и надежность. Эффективно управлять обучением таких моделей можно с помощью таких платформ, как Ultralytics HUB.
  2. Обработка естественного языка (NLP): Dropout обычно применяется в таких моделях NLP, как Transformers и BERT. В таких приложениях, как машинный перевод или анализ настроения, dropout предотвращает запоминание моделью определенных фраз или структур предложений из обучающих данных, что приводит к лучшему пониманию и генерации нового текста. Это повышает производительность чат-ботов и инструментов для обобщения текста.

Смежные понятия и различия

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

  • Регуляризация L1 и L2: Эти методы добавляют штраф к функции потерь, основанный на величине весов модели, поощряя меньшие веса. Подробнее о регуляризации L1/L2.
  • Пакетная нормализация: Пакетная нормализация (Batch Normalization, BN) нормализует активации в пределах слоя, что может стабилизировать обучение и иногда обеспечить мягкий регуляризирующий эффект, потенциально уменьшая необходимость в сильном отсеве. В то время как BN решает проблему внутреннего смещения ковариаций, Dropout напрямую нацелен на сложность модели, заставляя ее избыточной.
  • Дополнение данных: Такие техники, как поворот, масштабирование или обрезка изображений(увеличение данных), искусственно увеличивают разнообразие обучающего набора данных, что также помогает предотвратить чрезмерную подгонку и улучшить обобщение. Отсев и увеличение данных часто используются вместе.

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

Читать полностью