ai_learning/modules/10_computer_vision/assignments/03_transfer_learning.md

2.6 KiB
Raw Permalink Blame History

Fine-tuning предобученной CNN

Теория перед выполнением

Прочитайте transfer learning и выбор архитектуры под ограничения.

Цель

Дообучить ResNet/EfficientNet на небольшом датасете кошек и собак и измерить, что именно даёт предобучение.

Что сделать

  1. Сформулировать ожидаемый результат до запуска эксперимента.
  2. Обучить простую CNN как baseline.
  3. Сравнить одну архитектуру со случайными и предобученными весами.
  4. Для предобученной модели сравнить frozen backbone, partial и full fine-tuning.
  5. Сравнить маленькую и более глубокую архитектуру при одинаковом протоколе.
  6. Зафиксировать accuracy/F1, время, память, число параметров и примеры ошибок.
  7. Заполнить отчёт по common/REPORT_TEMPLATE.md.

Результат

Таблица экспериментов и объяснение, почему выбранная модель оптимальна при заданном объёме данных и вычислительном бюджете.

Решение разместите рядом в solution/. Не коммитьте большие данные, веса или секреты.

Критерии приёмки

  • Явно показана разница случайных и ImageNet-весов; learning rate различается для head/backbone; test-set не участвует в выборе архитектуры.
  • Код читаем, разбит на функции и запускается по инструкции.
  • Выводы подтверждаются измерениями и не выходят за пределы эксперимента.

Вопросы для самопроверки

  • Почему выбран именно этот метод и какой baseline он должен превзойти?
  • Где здесь возможна утечка данных или некорректная оценка?
  • Как изменится результат при других данных или ограничениях?
  • Какую ошибку модели вы считаете наиболее важной и почему?