Используем результат собственного опыта, чтобы проверить понимание форм тензоров, обучения и оценки качества. Сначала завершите тетрадь, затем ответьте на вопросы: важны причины и смысл действий.
1. Формы параметров. Какую форму имеет model[0].weight в слое nn.Linear(64, 32)?
model[0].weight
nn.Linear(64, 32)
2. Шаблон из тетради. Воспроизведите наш порядок действий, начиная с очистки градиентов перед forward. В общем случае очистку допустимо выполнить и после forward, но до backward.
3. Что принимает CrossEntropyLoss? Выберите корректные входы для классификации цифр в нашей тетради.
4. Как получить предсказания? Пусть logits.shape == (360, 10). Как получить 360 номеров цифр?
logits.shape == (360, 10)
5. Проверьте утверждения. Отметьте верные и неверные.
6. Зачем нужен файловый чекер? Что именно позволяет объективно оценить сохранённые веса?
7. Сравнение с автокодировщиком. На одной контрольной выборке классификатор получил 92%, а поиск по признакам автокодировщика — 81%. Какой вывод обоснован?
8. Честная оценка. Выберите все правильные условия сравнения моделей.
9. Почему рисунок мышью может не узнаваться? Даже модель с высокой точностью на контрольном наборе иногда ошибается на рисунке ученика. Почему это возможно?
Сохраните в своей тетради метрики, график, разобранную ошибку и вывод о сравнении с пятью соседями. Если выполняли дополнительный опыт с автокодировщиком, объясните различие целей обучения.
После последнего optimizer.step() переменная loss в обычном цикле хранит…
optimizer.step()
loss
Почему новый чекер пересчитывает учебную ошибку по весам и сравнивает с концом истории?