Толковый словарь по нейросетям и искусственному интеллекту

Прореживание

Dropout

Категория термина


Dropout — это метод регуляризации в нейронных сетях, который используется для предотвращения переобучения (overfitting). Его суть заключается в случайном "выключении" части нейронов на этапе обучения, т.е. их временном исключении из архитектуры модели вместе со всеми входящими и исходящими связями.

На каждом обучающем шаге нейросети, при использовании dropout, определённый процент нейронов (например, 20–50%) случайным образом отключается. Это препятствует тому, чтобы отдельные нейроны слишком сильно подстраивались под тренировочные данные и «запоминали» их. На этапе инференса (применения модели) dropout не применяется, но веса масштабируются, чтобы компенсировать "прореживание".


Формула (упрощённая):

Если входной вектор:

x=[x1,x2,...,xn]x = [x_1, x_2, ..., x_n]

И применяется маска dropout m∼Bernoulli(p)m \sim \text{Bernoulli}(p), то результат:

x′=x⋅mx' = x \cdot m

где pp — вероятность сохранить нейрон.


Основные характеристики:

  • Параметр: вероятность dropout (обычно от 0.1 до 0.5).
  • Тип регуляризации: стохастическая (случайная), накладывает шум на структуру сети.
  • Применяется: в основном к полносвязным слоям (dense), но может использоваться и в сверточных, рекуррентных и других слоях.

Преимущества:

  • Повышает способность модели к обобщению.
  • Предотвращает совместное адаптирование нейронов.
  • Прост в реализации и интеграции.
  • Может использоваться совместно с другими методами регуляризации (например, L2-регуляризацией, batch normalization).

Области применения:

  • Классификация изображений: например, в архитектурах вроде AlexNet, VGG.
  • Обработка текста: применяется в LSTM/GRU, Transformer-слоях.
  • Мультимодальные модели: генерация текста по изображению, и наоборот.
  • Регрессия и другие задачи предсказания.

Пример:

В Keras:

div class="sticky top-9">
from tensorflow.keras.layers import Dense, Dropout model.add(Dense(512, activation='relu')) model.add(Dropout(0.5)) # отключает 50% нейронов во время обучения

Альтернативы и дополнения:

  • SpatialDropout: используется в сверточных сетях, отключает целые карты признаков.
  • DropConnect: обнуляет не нейроны, а веса связей.
  • Stochastic Depth: применяется в глубоких архитектурах (ResNet), отключает целые слои.

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

🤔 Остались вопросы? Спросите ИИ

Используйте в запросе не более 500 символов.

📌 Последние запросы

  • Нарисуй мне игральную карту как из игры Hearthstone. На ней должен быть изображён молодой парень в о… 1 неделя назад
  • Как выбрать размер сглаживания? 2 недели назад
  • Сможешь поределить значение подписи 2 недели назад

📥 Скачать список терминов (646)

Форматы: TXT (список) | CSV (Excel) | JSON (код) | XML (данные) | MD (Markdown)