Как обучить нейронную сеть без большого количества помеченных данных - PullRequest
0 голосов
/ 25 сентября 2019

Я новичок в машинном обучении и пытаюсь построить нейронную сеть обнаружения объектов.

У меня 3000 изображений, но помечены только 150.Мои изображения состоят из страниц веб-интерфейса, на которых я маркирую кнопки и логотипы.

На данный момент я попытался обучить его, используя модель quick_rcnn_inception_resnet_v2_coco, но результаты невелики.Функции найдены, но не идеально, где они должны быть.enter image description here

Есть ли способ улучшить результаты?может быть, с другой моделью?

Если я использую автокодер для обучения без контроля со всеми 3000 изображений, а затем использую трансферное обучение в модели глубокого обучения с помеченными данными, получу ли я лучшие результаты?Если так, как я могу реализовать это, используя python с tenorflow?

Спасибо

1 Ответ

0 голосов
/ 26 сентября 2019

Сначала посмотрите на наборы данных COCO и VOC.

http://cocodataset.org/#home

http://host.robots.ox.ac.uk/pascal/VOC/

Если их классы очень похожи на ваши, то вы можете взятьпредварительно обученные модели (deeplab, yolo, maskrnn и т. д.) и тренирующиеся на вашем наборе данных, производительность должна быть отличной.Вот несколько репозиториев для проверки в github:

https://github.com/search?l=Python&q=object+detection&type=Repositories

Если ваш набор данных сильно отличается от них, вы можете не ожидать хорошей производительности.В этом случае вам придется перепроектировать сеть, изменив количество классов.Вы можете использовать увеличение данных (авто-кодировщик может быть не лучшим выбором для генерации данных, поскольку сложно создавать изображения хорошего качества).Вот хорошая библиотека для дополнения данных, которая дополняет выборки масками.

https://github.com/mdbloice/Augmentor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...