Критерии обучения нейронной сети: как тренироваться по нескольким категориям (например, по форме и цвету) без переобучения

Я изучал распознавание изображений через нейронные сети. После некоторых исследований я начал с Encog и их примера "ImageNeuralNetwork.java".

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

Теперь я хочу использовать их пример в качестве отправной точки для практики с разными изображениями. Я пытаюсь использовать формы / цвета в качестве обучения. Например, я хочу, чтобы программа распознала разницу между красным кругом и красным прямоугольником, но я также хочу узнать разницу между красным кругом и синим кругом.

Я помню, как читал, что вы не должны перетренироваться и давать каждую возможную комбинацию тренировочных изображений (как в данном случае дают 4 изображения из 2 разноцветных кругов и 2 разноцветных прямоугольников).

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

1 ответ

Решение

Когда речь идет о том, чтобы избежать перетренировки, не существует надежных правил большого пальца. Это полностью зависит от структуры вашей сети и особенностей ваших данных. Большинство людей, которые строят нейронные сети, решают проблему перетренировки (или перенапряжения) методом проб и ошибок. Пока ваша сеть классифицирует данные обучения с высокой точностью и тестирует данные с низкой точностью, вы переучиваете, и вам нужно будет сократить количество итераций обучения и построить сеть снова и повторять это. Таким образом, чтобы ответить на ваш второй вопрос, нет определенного минимального количества изображений.

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

Другие вопросы по тегам