0

Я очень новичок в этой области глубокого обучения. Хотя я понимаю, как это работает, и мне удалось запустить некоторые учебные пособия в Caffe Library. У меня все еще есть некоторые вопросы, на которые я не смог найти ответы на некоторые ответы.Обучение Deep Convnet с небольшим размером ввода

Мои вопросы заключаются в следующем:

  1. Рассмотрим AlexNet, который имеет размер 227 х 227 изображений в качестве входных данных в CAFFE (я думаю, что в оригинальной работе его 224), а FC7 производит в 4096-D вектор признаков , Теперь, если я хочу обнаружить, что кто-то скажет, используя Раздвижное окно размера (32 x 64), каждое из этих окон будет обновлено до 227 x 227 перед тем, как пройти через AlexNet. Это несколько больших вычислений. Есть ли лучший способ справиться с этим (32 x 64) окном?

  2. Мой подход к этому детектору окон 32 x 64 заключается в создании моей собственной сети с несколькими свертками, объединением, ReLus и FC. Хотя я понимаю, как я могу построить архитектуру, я боюсь, что модель, которую я буду тренировать, может иметь такие проблемы, как перепрофилирование и т. Д. Один из моих друзей сказал мне прервать мою сеть с помощью AlexNet, но я не знаю, как это сделать? Я не могу схватить его, чтобы попросить сейчас, но кто-нибудь, кто думает, что то, что он сказал, выполнимо? Я запутался. Я думал использовать ImageNet и тренировать свою сеть, которая будет принимать 32 x 64 ввода. Поскольку это всего лишь экстрактор функций, я чувствую, что использование imageNet может предоставить мне все разнообразие изображений для хорошего обучения? Пожалуйста, поправьте меня, если я ошибаюсь и, если возможно, направит меня на правильный путь.

  3. Этот вопрос касательно только Caffe. Скажем, я вычисляю функцию с помощью HOG, и я хочу использовать версию Neural Net для GPU для обучения классификатора. Это возможно? Я хочу подумать о том, чтобы использовать слой HDF5 для чтения векторного объекта hog и передать этот полностью подключенный уровень для обучения? Это возможно?

Я буду признателен за любую помощь или ссылки на документы и т. Д., Которые могут помочь мне понять идею Convnets.

ответ

4
  1. Для CNN, который содержит полностью подключенные слои, размер ввода не может быть изменен. Если сеть обучается изображениям 224x224, размер входного сигнала должен быть 224x224. Посмотрите на это question.

  2. Обучение собственной сети с нуля потребует огромного количества данных. AlexNet обучался на миллионах изображений. Если у вас есть такое большое количество учебных данных (вы можете загрузить учебные данные ImageNet), то продолжайте. В противном случае вы можете посмотреть в finetuning.

  3. Да, вы можете использовать слой HDF5, чтобы прочитать вектор функции HOG для обучения.

+0

Не могли бы вы рассказать немного о тонкой настройке в кофе. Мне трудно понять, что он на самом деле делает. Это то, что я могу пререкаться с моей меньшей сетью, используя alexnet, а затем ее тонковать? –

+1

В большинстве случаев основные слои CNN, такие как alexnet, vgg и т. Д., Все делают одно и то же. Они изучают абстрактные функции из сети. То, что они делают с функциями, отличается. Таким образом, в то время как финализация, вы можете повторно использовать начальные уровни сети, и ваша сеть будет сходиться быстрее. – malreddysid

+0

Спасибо за помощь. Я до сих пор смущен этой тонкой настройкой. Я попробовал этот пример в Caffe на flickr_styles, но моя путаница в том, что если я использую AlexNet для бэкэнда для извлечения функции и поставлю свою сеть на интерфейс, это означает, что во время тестирования мне придется изменить размер пути 32 x 64 к (227 x 227) для обнаружения? это так?Или я могу узнать начальные веса от AlexNet, а затем использовать эти веса для обучения моей пользовательской сети для обнаружения людей, которая будет принимать только 32 x 64 входа. –