Перейти к содержимому
Compvision.ru
Alez

Алгоритм обучения (не могу разобраться)

Recommended Posts

Приветствую. Задача пока теоретическая, без четкого понимания теории не вижу смысла в практике

Допустим у нас есть абстрактная доска объявления (а-ля авито/юла). Каждый раздел имеет свои подразделы. Нейросеть выступает в роли кластеризатора, которая по фотографии определяет, что это за объект, переносит его в соответствующий раздел/подраздел. Далее начинает его изучать более досконально, перенося уже в более "узкие подразделы" и определять ключевые параметры.

Грубо говоря:
1. Отправляю фотографию телефона, нейронка определяет, что это смартфон, переносит его в соответствующий раздел, а дальше пытается понять, что за производитель, модель, цвет и т.д.
2. Отправляю фото цветка, переносит в раздел растения, понимает, комнатное или нет, цвет бутонов.
3. Отправляю фото котэ, переносить в животные -> кошки, определяет породу и цвет окраса, и т.д.

Объясните пожалуйста:
1. Как для такой глубокой кластеризации на старте обучать сеть. Начинать с верхнего уровня и углубляться все глубже и глубже или как ?
2. Нужно ли сразу дробление по цветам или для начала сеть должна понимать объект, а цвет определить не так уж и сложно ?
3. Все загружаемые фотографии могут расширять исходный датасет и участвовать параллельно в обучении сети или потребуется ее переобучать, когда наберется критическая масса новых изображений?

Благодарю за ответы. Надеюсь мои вопросы не слишком дебильные )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все правильно, лучше по иерархии - от общего к частному.

Вначале детектор-классификатор, типа YOLO v3 (4, 5), обученный на датасете типа COCO . 

А дальше специализированные классификаторы по подклассам. Их придется учтить на своих данных.

Доучивать на расширенном датасете (после добавления данных) можно, но имеет смысл когда собралось достаточно много данных.

Классификация цвета не такой тривиальный вопрос как может показаться.

Еще в помощь NLP например : https://github.com/natasha/natasha

Может быть еще captioning networks пригодятся https://github.com/zhjohnchan/awesome-image-captioning .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Smorodov, т.е. я если я правильно вас понял, то для первичного обучения мне можно использовать датасет вообще не по моей тематике. Грубо говоря, если доска будет ориентирована на животных, я могу обучать ее на зданиях/машинах/предметах и т.д. Чем больше я ее обучаю на первичном класстеризаторе, тем четче она будет понимать разницу между объектами ? Так ?

Просто если идея выйдет на этап реализации, вероятнее всего на старте у меня будет очень мало данных для обучения, для примера пусть это будет по 100 фотографий на каждую из конечных категорий. Прекрасно понимаю, что чем больше данных, тем точнее сеть понимает, что я ей показываю. Как быть в этом случае ? Имеет ли смысл задействовать другие готовые не тематические сеты для тренировки ? Вы написали про COCO. Что будет, если к нему добавить датесет Fashion MNIST и др ? Поможет ли это улучшить зрение сети или лишь раздует ее не нужными данными и не даст никакого практического результата в конечном счете ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не совсем так, yolo - это детектор для которого уже есть предобученные модели на десятки классов (coco >80,voc pascal 20 классов ), которых может вам будет и дестаточно.

Он выдает рамку + индекс класса. Если не найдете все что нужно, надо учить, но это обучение не потребует учить с нуля, часть слоев будет "заморожена", а учатся толко несколько последних слоев. 

Пример обучения на своих данных : https://github.com/AntonMu/TrainYourOwnYOLO

Это не требует очень много данных.

Датасеты лучше не смешивать как попало, они обычно специально готовятся.

Когда сеть нашла собаку, она может, например, узнать породу, запустив специально обученную сеть. 

https://github.com/ShihanUTSA/Dog-breed-classifier--Convolutional-Neural-Network

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×