Подумайте, как сложно среди сотен пород определить, к какой породе принадлежит собака? При трансферном обучении вам нужно всего несколько строк кода!

Этот проект направлен на разработку алгоритма для приложения для идентификации собак. Алгоритм должен уметь определять, является ли входное изображение собакой? человек? или ни то, ни другое. Если входным изображением является собака, алгоритм должен дополнительно сообщить, к какой породе принадлежит собака.

Получение узких мест

Хотя мы можем обучить модель с нуля, использование предварительно обученных узких мест намного быстрее и требует меньше обучающих выборок. Предварительно вычисленное узкое место для сети VGG-19 можно найти здесь.

Архитектура модели

Следующим шагом является проектирование архитектуры модели. Трансферное обучение имеет большие преимущества в задачах классификации изображений. Это связано с тем, что он может повторно использовать низкоуровневые функции, полученные из другой задачи классификации. Это значительно снизило требования к обучающим выборкам и в целом может обеспечить лучшую производительность.

Модель VGG-19 обучена на очень большом наборе данных, она фиксирует хорошие низкоуровневые признаки для разных объектов. Итак, я использовал модель VGG-19 с предварительно обученными весами в качестве базовой линии. Выше этого я добавил слой глобального среднего пула и полностью подключенный слой в конце. Softmax используется как функция активации выходного слоя. Выходной слой содержит 133 элемента, что соответствует количеству классов пород собак. С Keras для всех этих работ требуется всего несколько строк кода.

Обучение и тестирование моделей

Всего у нас 8351 изображение собаки. Разделение между обучением/валидацией/тестом составляет 6680/835/836. Keras позволяет очень легко проводить валидацию в процессе обучения. При 100 эпохах точность проверки уже превышает 60%. Общее время обучения составляет около двух часов на Mac без графического процессора. Точность используется в качестве метрики, поскольку выборки относительно сбалансированы.

Выводы

Трансферное обучение очень эффективно в задачах классификации изображений. С простой моделью трансферного обучения точность тестирования для классификации пород собак среди 133 классов уже выше 60%!

Подробнее с этим анализом можно ознакомиться здесь.