РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pytoSpTrAw 42 of 82 menu
◀ ▶

Затухание весов при обучении в PyTorch

Класс AdamW считает шаг так же, как Adam, но затухание весов не смешивает с адаптивным делителем.

На маленькой модели сделаем один шаг с ненулевым затуханием весов в настройках и выведем число ошибки:

import torch import torch.nn as nn torch.manual_seed(0) model = nn.Linear(2, 1) optimizer = torch.optim.AdamW( model.parameters(), lr=0.1, weight_decay=0.01, ) criterion = nn.MSELoss() x = torch.tensor([[1.0, 0.0]]) y = torch.tensor([[2.0]]) optimizer.zero_grad() out = model(x) loss = criterion(out, y) loss.backward() optimizer.step() print(loss.item()) # выведет 6.693990707397461

Зафиксируйте зерно 0, соберите линейный слой 2 на 1 и подключите к нему правило обновления из этого урока со скоростью 0.1 и затуханием 0.01. Сделайте один шаг по среднеквадратичной ошибке на одном примере и выведите получившееся число ошибки.

Создайте преобразование 3 на 2 и объект обновления с затуханием весов 0.001 при скорости 0.05. Выведите тип объекта обновления.

При зерне 1 возьмите линейный слой 1 на 1, один вход [[3.0]] и цель [[1.0]]. После одного шага с затуханием 0.1 выведите ошибку до второго знака после запятой.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить