и посмотреть медиа
Data Science - interviews
и посмотреть медиа
Data Science interviews.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Interview questions on Data Science.
🤔 Какие способы регурялизации сеточек знаешь? Регуляризация нейросетей помогает избежать переобучения, улучшая их способность к обобщению. Рассмотрим основные методы: 🟠L1 и L2-регуляризация (Weight Decay) Добавляют штраф за большие веса в функцию ошибки, предотвращая слишком сложные модели. L1-регуляризация (Lasso, L1-norm) Добавляет к функции ошибки сумму абсолютных значений весов: Loss = Loss_{original} + \lambda \sum |w| Заставляет веса стремиться к нулю, создавая разреженные модели (некоторые веса становятся 0). L2-регуляризация (Ridge, L2-norm) Добавляет сумму квадратов весов: Loss = Loss_{original} + \lambda \sum w^2 Уменьшает значения весов, но не зануляет их полностью. import torch.nn as nn import torch.optim as optim model = nn.Linear(10, 1) optimizer = optim.SGD(model.parameters(), lr=0.01, weight_decay=0.001) # L2-регуляризация 🟠Dropout Отключает случайные нейроны в процессе обучения, предотвращая их зависимость друг от друга. В каждом шаге обучения случайные нейроны "выключаются" с вероятностью p. В тестовом режиме нейроны работают в полную силу, но с весами, скорректированными на p. import torch.nn as nn class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 50) self.dropout = nn.Dropout(p=0.5) # Выключаем 50% нейронов self.fc2 = nn.Linear(50, 1) def forward(self, x): x = self.fc1(x) x = self.dropout(x) x = self.fc2(x) return x 🟠Batch Normalization Нормализует входные данные каждого слоя, уменьшая зависимость от масштаба входных данных. Ускоряет обучение Снижает зависимость от начальных весов Обладает небольшим регуляризационным эффектом import torch.nn as nn class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 50) self.bn1 = nn.BatchNorm1d(50) # Нормализация self.fc2 = nn.Linear(50, 1) def forward(self, x): x = self.fc1(x) x = self.bn1(x) x = self.fc2(x) return x 🟠Data Augmentation (для CV-задач) Искусственное увеличение данных путём аугментаций (повороты, отражения, изменения яркости). import torchvision.transforms as transforms transform = transforms.Compose([ transforms.RandomHorizontalFlip(), transforms.RandomRotation(10), transforms.ColorJitter(brightness=0.2, contrast=0.2), transforms.ToTensor() ]) 🟠Early Stopping Останавливает обучение, если валидационная ошибка перестаёт уменьшаться. from torch.optim.lr_scheduler import ReduceLROnPlateau scheduler = ReduceLROnPlateau(optimizer, mode='min', patience=5) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!