Как вы определяете параметры сверточной нейронной сети для классификации изображений?
Я использую Сверточные Нейронные Сети (бесконтрольная функция обучения обнаружению функций + классификатор регрессии 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). Как мне определиться?
количество слоев.
количество нейронов в слое.
размер окна объединения (максимальное объединение).
2 ответов
количество скрытых слоев: Количество требуемых скрытых слоев зависит от внутренней сложности вашего набора данных, это можно понять, посмотрев, чего достигает каждый слой:
нулевые скрытые слои позволяют сети моделировать только линейную функцию. Этого недостаточно для большинства задач распознавания образов.
один скрытый слой позволяет сети моделировать произвольно комплекса
вкратце, вы решаете возможные значения параметров и с этими значениями, запускаете серию моделирования построения модели, а затем прогнозирования, чтобы выбрать оптимальное значение параметра, дающее наименьшую ошибку прогнозирования и более простую модель.
в терминах анализа данных мы используем удержание, перекрестная проверка, загрузка решать значения параметров модели, так как важно прогнозировать непредвзято.