Нейронные сети являются одним из направлений искусственного интеллекта, которые часто используются при решении задач оптимизации и распознавания образов. Уже разработано достаточное количество моделей нейронных сетей для решения различных прикладных задач. Для каждой модели предложены свои методы и алгоритмы обучения. Несмотря на непрекращающиеся работы по совершенствованию существующих и разработке новых моделей и их алгоритмов обучения, сама теория нейронных сетей по-прежнему остается плохо формализованной.
Тем не менее, при разработке нейронных сетей можно выделить два основных этапа:
- Структурный синтез – этап, на котором выбирается модель будущей нейронной сети, ее предварительная структура и алгоритм обучения.
- Параметрический синтез – включает процесс обучения нейронной сети и проверку полученных результатов. В зависимости от результатов проверки принимается решение о возврате на предыдущие стадии параметрического или даже структурного синтеза.
Недостаточная формализованность описанных выше этапов приводит к возникновению у разработчика нейронных сетей целого ряда проблем. Так, на этапе структурного синтеза при выборе модели нейронной сети, ее внутренней структуры и алгоритма обучения приходиться затрачивать большие усилия, обращаясь иногда даже к помощи более опытных разработчиков. Проблемой на этапе параметрического синтеза становится ограниченность вычислительных ресурсов при обучении нейронной сети. Дело в том что, при решении реальных задач создаются нейронные сети со сложной структурой, в связи с чем их обучение требует много времени.
Но не все так плохо. Разработчики, опираясь на свой богатый опыт, смогли предложить некоторые несложные методы, позволяющие повысить эффективность процесса обучения многослойных нейронных сетей при использовании метода обратного распространения ошибки. Как правило, обучение нейронной сети происходит до тех пор, пока ее ошибка не станет близкой к нулю. Это, как правило, приводит к значительным тратам временных ресурсов, так как иногда может оказаться вполне достаточным, чтобы ошибка обучения нейронной сети не превышала некоторого значения, гораздо больше удаленного от нуля.
Степень достаточности обучения нейронной сети во многом определяется исходя их условий конкретной задачи и желаемого результата. Рассмотрим следующую формализацию принципа достаточности обучения нейронной сети.
Обучение нейронной сети, основанное на принципе достаточности
Предположим, дана некоторая задача классификации. Требуется решить ее, используя многослойную нейронную сеть, обучаемую с помощью алгоритма обратного распространения ошибки. Как правило, в процессе обучения нейронной сети для оценки погрешности обучения выделяют два вида ошибок: глобальные и локальные.
Формула для локальной ошибки выглядит следующим образом:
где:
- – элементарная ошибка -го нейрона выходного слоя нейронной сети;
- –количество нейронов в выходном слое сети.
Формула для подсчета глобальной ошибки следующая:
где:
- – локальная ошибка всей нейронной сети на -м обучающем наборе;
- – число обучающих наборов.
Идеальным считается такое обучение, после которого нейронная сеть полностью повторяет обучающую выборку. Такое обучение является трудозатратным, а в некоторых случаях и просто невозможным. Это вызвано тем, что различные классы в обучающей выборке могут иметь схожие объекты, и чем их будет больше, тем сложнее предстоит процесс обучения нейронной сети.
Суть принципа достаточности заключается в отказе от стремления к идеалу при поиске решения задачи. Если этот принцип перенести на процесс обучения нейронной сети, то можно сказать, что 100% точность распознавания требуется далеко не во всех случаях. Для того чтобы объект распознавания был правильно определен в свой класс вполне достаточно, чтобы ошибка нейронной сети на конкретном обучающем наборе не превосходила некоторого . Если оценка качества обучения нейронной сети проходит с помощью глобальной ошибки, то вполне бывает достаточным достижение некоторого значения .
Максимальное значение , при котором будет сохраняться заданная точность распознавания, зависит от характера обучающей выборки. В качестве параметров характеризующих обучающую выборку, рассмотрим ее полноту и противоречивость.
Полнота обучающей выборки характеризует обеспеченность классов обучающими наборами. Считается, что для каждого класса количество обучающих наборов должно хотя бы в 3-5 раз превосходить количество признаков класса, используемое в этих наборах. Для расчета полноты обучающей выборки можно воспользоваться следующей формулой:
где:
- – число классов, удовлетворяющих вышеописанному правилу;
- – общее число классов.
Противоречивыми считаются те обучающие наборы, в которых содержатся объекты, определенные к разным классам, но имеющие одинаковые классификационные признаки. Таким образом, противоречивость всей обучающей выборки находиться по следующей формуле:
где:
- – количество противоречивых наборов;
- – общее количество наборов в обучающей выборке.
Таким образом, чем больше будут значения и , тем больше может быть величина , и тем быстрее может проходить обучение нейронной сети.