О чём урок
Обучение свёрточных нейронных сетей (CNN) может занимать много времени и требует большого объёма данных. Однако значительная часть этого времени уходит на поиск оптимальных низкоуровневых фильтров, которые сеть использует для извлечения паттернов из изображений. Возникает естественный вопрос: можно ли использовать нейронную сеть, обученную на одном наборе данных, и адаптировать её для классификации других изображений без полного цикла обучения? Этот подход называется переносом обучения, поскольку мы переносим часть знаний из одной модели нейронной сети в другую. При переносе обучения обычно начинают с предобученной модели, которая уже была обучена на каком-либо крупном наборе изображений, например, ImageNet. Такие модели уже хорошо справляются с извлечением различных признаков из общих изображений, и во многих случаях построение классификатора поверх этих извлечённых признаков может дать хороший результат. ✅ Перенос обучения: этот термин встречается и в других областях, например, в образовании. Он означает процесс применения знаний, полученных в одной области, к другой. Свёрточные сети, о которых мы говорили в предыдущем разделе, содержат несколько слоёв. Каждый слой предназначен для извлечения определённых признаков из изображения: от низкоуровневых комбинаций пикселей (например, горизонтальных/вертикальных линий или штрихов) до высокоуровневых комбинаций признаков, соответствующих таким элементам, как глаз или пламя. Если обучить CNN на достаточно большом наборе общих и разнообразных изображений, сеть должна научиться извлекать эти распространённые признаки. И Keras, и PyTorch содержат функции для простой загрузки предобученных весов нейронных сетей для некоторых распространённых архитектур, большинство из которых были обучены на изображениях ImageNet. Наиболее часто используемые описаны на странице Архитектуры CNN из предыдущего урока. В частности, вы можете рассмотреть использование одной из следующих моделей: VGG-16/VGG-19: относительно простые модели, которые всё ещё обеспечивают хорошую точность. Часто использование VGG в качестве первой попытки является хорошим выбором, чтобы понять, как работает перенос обучения. ResNet: семейство моделей, предложенных Microsoft Research в 2015 году. Они имеют больше слоёв и, следовательно, требуют больше ресурсов.
План урока
- Викторина перед лекцией
- Предобученные модели как извлекатели признаков
- Набор данных «Кошки против собак»
- ✍️ Упражнение: перенос обучения
- Визуализация идеальной кошки
- Заключение
- 🚀 Задание
- Викторина после лекции
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.