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

Батч-нормализация

Batch Normalization

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


Батч-нормализация — это метод нормализации входных данных для каждого слоя нейронной сети в пределах одного мини-батча. Она была предложена в 2015 году исследователями из Google (Ioffe и Szegedy) для ускорения и стабилизации обучения глубоких нейросетей. Основная идея заключается в том, чтобы нормализовать входы каждого слоя таким образом, чтобы они имели нулевое среднее значение и единичную дисперсию. Это снижает так называемый internal covariate shift — изменение распределения входов скрытых слоёв по мере обновления весов.

После нормализации вводится масштабирование и смещение с помощью обучаемых параметров γ (гамма) и β (бета), что позволяет сети при необходимости восстанавливать исходное распределение.

Формула (упрощённо):
Для входа xx из батча:

  1. Вычисляется среднее и дисперсия:

    μ=1m∑i=1mxi,σ2=1m∑i=1m(xi−μ)2\mu = \frac{1}{m} \sum_{i=1}^{m} x_i, \quad \sigma^2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu)^2
  2. Нормализация:

    x^i=xi−μσ2+ε\hat{x}_i = \frac{x_i - \mu}{\sqrt{\sigma^2 + \varepsilon}}
  3. Масштаб и сдвиг:

    yi=γx^i+βy_i = \gamma \hat{x}_i + \beta

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

  • Ускоряет обучение за счёт стабилизации распределения входов.
  • Позволяет использовать более высокие learning rate.
  • Частично решает проблему исчезающего градиента.
  • Может выступать как форма регуляризации и снижать потребность в Dropout.

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

  • Используется практически во всех современных архитектурах CNN (например, ResNet, Inception), RNN и трансформерах (хотя в последних чаще применяют Layer Normalization).
  • Эффективен в задачах компьютерного зрения, обработки речи и текста.

Пример:

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

Альтернативы и развитие:

  • Layer Normalization: нормализует по всем признакам одного объекта, используется в NLP и трансформерах.
  • Instance Normalization: используется в генеративных сетях и задачах обработки изображений.
  • Group Normalization: делит признаки на группы и нормализует в каждой из них — альтернатива для маленьких батчей.

Значение:

Batch Normalization произвела революцию в глубоком обучении, сделав возможным быстрое и надёжное обучение очень глубоких сетей. Этот простой, но мощный приём стал стандартной практикой в построении и обучении нейросетевых архитектур.

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

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

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

  • Почему нет синусной меры сходства? 4 дня назад
  • Почему нет минусной перв сходства? 4 дня назад
  • Здравствуйте можно создать видео танцуешь из фото 7 дней назад

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

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