Как вы определяете параметры сверточной нейронной сети для классификации изображений?

Я использую Сверточные Нейронные Сети (бесконтрольная функция обучения обнаружению функций + классификатор регрессии Softmax) для классификации изображений. Я прошел через все учебники Эндрю Нг в этой области. (http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial).

сеть, которую я разработал, имеет :

  • входной слой-размер 8x8 (64 нейрона)
  • скрытый слой - размер 400 нейроны!--10-->
  • выходной слой - размер 3

Я узнал веса, соединяющие входной слой со скрытым слоем, используя разреженный автоэнкодер и, следовательно, имеют 400 различных функций.

взяв непрерывные патчи 8x8 из любого входного изображения (64x64) и подав его на входной слой, я получаю 400 карт объектов размера (57x57).

затем я использую max pooling с окном размером 19 x 19 для получения 400 карт объектов размером 3x3.

I отправьте эту карту объектов в слой softmax, чтобы классифицировать ее по 3 различным категориям.

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

Я хотел бы распространить это на мой собственный набор данных, где изображения намного больше (скажем, 400x400). Как мне определиться?

  1. количество слоев.

  2. количество нейронов в слое.

  3. размер окна объединения (максимальное объединение).

2 ответов


количество скрытых слоев: Количество требуемых скрытых слоев зависит от внутренней сложности вашего набора данных, это можно понять, посмотрев, чего достигает каждый слой:

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

  • один скрытый слой позволяет сети моделировать произвольно комплекса


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

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