# Fine-tuning предобученной CNN ## Теория перед выполнением Прочитайте [transfer learning](../notes/03_pretraining_and_transfer.md) и [выбор архитектуры под ограничения](../notes/04_architecture_selection.md). ## Цель Дообучить 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 он должен превзойти? - Где здесь возможна утечка данных или некорректная оценка? - Как изменится результат при других данных или ограничениях? - Какую ошибку модели вы считаете наиболее важной и почему?