Глава 5. Перенос обучения: переиспользование предобученных нейронных сетей
231
Результаты вывода хороши, но не идеальны (см. примеры на рис. 5.13). Изучая их,
учтите, что оценка, выполняемая в браузере, достаточно справедлива и отражает ис
тинные возможности обобщения модели, поскольку примеры данных, подаваемые на
вход этой обученной модели в браузере, отличаются от обучающих и проверочных
примеров, виденных ею во время обучения.
Листинг 5.11.
Второй этап обучения модели обнаружения объектов
В завершение раздела мы показали, как успешно применить модель, обученную
ранее для классификации изображений, к другой задаче: обнаружению объектов.
При этом мы продемонстрировали, как описать пользовательскую функцию по
терь, подходящую для двойственной сущности (классификации формы объекта +
+ регрессии для ограничивающего прямоугольника) задачи обнаружения объектов
и как использовать ее во время обучения модели. Пример не только хорошо иллю
стрирует основные принципы обнаружения объектов, но и подчеркивает гибкость
переноса обучения, а также многообразие задач, для которых он применим. В ре
альных приложениях модели обнаружения объектов, конечно, намного сложнее,
в них используется больше различных приемов, чем в нашем игрушечном примере
с искусственно созданным набором данных. В инфобоксе 5.3 приводятся некоторые
интересные факты о продвинутых моделях обнаружения объектов, их отличия от
вышеприведенного простого примера, а также рассказывается, как их использовать
с помощью TensorFlow.js.
232
Часть II • Введение в TensorFlow.js
ИНФОБОКС 5.3. Модели обнаружения объектов
промышленного уровня
Обнаружение объектов — важная задача
для многих типов приложений, включая
приложения для интерпретации изобра
жений, промышленной автоматизации
и беспилотных автомобилей. В числе
наиболее известных современных мо
делей обнаружения объ ектов — Single
Shot Detection
1
(SSD, пример для кото
рой приведен на рисунке выше) и You
Only Look Once (YOLO)
2
. Эти модели
во многих аспектах схожи с моделью из
нашего примера обнаружения простых
объектов.
• Предсказывают как класс, так и ме
стоположение объектов.
• Созданы на основе предобученных
моделей классификации изображе
ний наподобие MobileNet и VGG16
3
и обучены посредством переноса об
учения.
Впрочем, во многих отношениях они
и отличаются от нашей игрушечной мо
дели.
• Настоящие модели обнаружения объектов предсказывают намного больше классов
объектов, чем наша простая модель (например, в наборе данных COCO — 80 кате
горий объектов; см.
http://cocodataset.org/#home
).
• Они способны обнаруживать несколько объектов в одном изображении (см. при
мер на рисунке выше).
• Архитектуры этих моделей намного сложнее, чем архитектура нашей простой
модели. Например, модель SSD добавляет поверх усеченной предобученной мо
дели несколько новых верхушек, чтобы предсказать степень уверенности модели
в классах и ограничивающих прямоугольников для нескольких объектов во вход
ном изображении.
1
Liu W. et al.
SSD: Single Shot MultiBox Detector // Lecture Notes in Computer Science, 9905,
2016, http://mng.bz/G4qD.
2
Redmon J. et al.
You Only Look Once: Unified, RealTime Object Detection // Proceedings
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. Pp. 779–788.
http://mng.bz/zlp1.
3
Simonyan K., Zisserman A.
Very Deep Convolutional Networks for LargeScale Image Recogni
tion // submitted 4 Sept. 2014. https://arxiv.org/abs/1409.1556.
Результат обнаружения объектов
из TensorFlow.js-версии модели Single-
Shot Detection (SSD). Обратите внимание
на многочисленные ограничивающие
прямоугольники и указанные для них классы
объектов и степень уверенности модели
Do'stlaringiz bilan baham: |