Нормализация и стандартизация входных данных
Масштабируйте признаки, чтобы обучение сходилось
«Нормализация и стандартизация входных данных» — бесплатный урок Deep Learning Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Deep Learning Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Deep Learning Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Raw Numbers Slow Learning
Features on wildly different scales, like age and salary, confuse a network. Rescaling them first is why normalization makes training converge faster. ⚖️
Two Common Recipes
You will meet two main scalers: standardization shifts data to mean zero and unit variance, while min-max squeezes it into a fixed range like 0 to 1.
Standardize with Mean and Std
Standardization subtracts the mean and divides by the standard deviation. The result is centered on zero with a spread of one, the deep learning default.
x = (x - x.mean()) / x.std()Min-Max Scaling
Min-max scaling maps your smallest value to 0 and largest to 1. It is handy when a bounded input range matters, like pixel intensities.
x = (x - x.min()) / (x.max() - x.min())Fit on Train Only
Compute the mean and std from the training set only. Reusing test data to set these stats leaks information and inflates your scores.
Reuse the Same Stats
Apply the exact training statistics to validation and test data. Both splits must be transformed the same way or your model sees mismatched inputs.
x_val = (x_val - train_mean) / train_stdPer-Channel for Images
For images you normalize each color channel with its own mean and std. PyTorch ships transforms.Normalize to do exactly this in a pipeline.
transforms.Normalize(mean=[0.5], std=[0.5])Borrow Known ImageNet Stats
When using pretrained vision models, normalize with the ImageNet means and stds they were trained on. Matching those numbers keeps inputs in the expected range.
Do It Inside __getitem__
The cleanest spot to scale is your dataset's __getitem__ or a transform. Then every sample arrives normalized without extra code in your training loop.
Watch for Divide by Zero
If a feature is constant its std is zero and dividing explodes. Add a tiny epsilon to the denominator to keep the math safe and stable.
x = (x - mean) / (std + 1e-8)Small Step, Big Payoff
Normalizing inputs is a quick preprocessing habit, yet it often unlocks faster, more stable training. Skip it and even a good model may crawl.
Quick Check
From which split should you compute normalization statistics?
Recap
Normalization rescales features so training converges, using stats fit on the training set and reused everywhere, often inside a transform. 🎉
Часто задаваемые вопросы
Урок «Нормализация и стандартизация входных данных» бесплатный?
Да — полный текст урока «Нормализация и стандартизация входных данных» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Deep Learning Academy, подпишись на CoddyKit PRO. Курс Deep Learning Academy содержит 4 уроков всего.
Чему я научусь в уроке «Нормализация и стандартизация входных данных»?
Масштабируйте признаки, чтобы обучение сходилось Ты практикуешь Deep Learning Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Deep Learning Academy?
Предыдущий опыт не требуется. Deep Learning Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Нормализация и стандартизация входных данных»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Deep Learning Academy?
Да. Каждый урок Deep Learning Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Напишите собственный класс набора данных
- Формирование пакетов, перемешивание и num_workers
- collate_fn для входных данных переменной длины
- Нормализация и стандартизация входных данных