Нейроинформатика

       

Стратегия и тактика обучения нейронных сетей


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

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

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

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

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

Таблица 5.3. Зависимость времени и качества обучения нейросетей от их параметров, особенностей задачи и применяемого компьютера. Стрелки в двух правых колонках показывают, как изменяются длительность и качество обучения при изменении параметра, указанного слева

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


Для этого нет необходимости генерировать новую нейросеть. Разработанный нами программный инструментарий (программы "MultiNeuron 1.0" и "MultiNeuron 2.0 Professional") позволяет задать режим доучивания с автоматическим ступенчатым повышением уровня надежности. Это означает, что после каждого успешного полного обучения уровень надежности будет автоматически повышаться на заданную пользователем величину (шаг), и обучение будет продолжаться, пока не перестанет быть возможным. После окончания процесса предыдущий уровень надежности, при котором сеть обучилась полностью, и является максимально возможным для данной сети.

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

Один из принципов стратегии - создание и обучение для каждой подзадачи не одной, а нескольких нейросетей. Желательно создать несколько сетей с разными характеристиками и после их обучения сравнить их прогностические способности. Весьма вероятно, что при тестировании контрольной выборки разными нейросетями у каждой из них будут свои собственные ошибки. Решение в таком случае принимается на основании голосования и сравнения коэффициентов уверенности каждой из сетей.

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



Разработанная методология включает две стратегии: с участием пользователя и без него. Автоматизированное выполнение стратегии может проводиться в двух вариантах - повторять принципы "ручной" стратегии, или использовать другие правила. Кроме того, стратегии автоматического обучения подразделяются еще на два класса - стратегии решения подзадачи и стратегии решения единой задачи, состоящей из взаимосвязанных (параллельно или иерархически) подзадач. Мы заранее отказались от "ручной" стратегии решения единой комплексной задачи, так как, во-первых, они встречаются не так уж часто, во-вторых, при их решении (особенно при достаточно большом количестве связанных подзадач) число подстраиваемых параметров, за которым необходимо следить пользователю, может очень сильно вырасти.

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

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

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


Для этого нет необходимости генерировать новую нейросеть. Разработанный нами программный инструментарий (программы "MultiNeuron 1.0" и "MultiNeuron 2.0 Professional") позволяет задать режим доучивания с автоматическим ступенчатым повышением уровня надежности. Это означает, что после каждого успешного полного обучения уровень надежности будет автоматически повышаться на заданную пользователем величину (шаг), и обучение будет продолжаться, пока не перестанет быть возможным. После окончания процесса предыдущий уровень надежности, при котором сеть обучилась полностью, и является максимально возможным для данной сети.

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

Один из принципов стратегии - создание и обучение для каждой подзадачи не одной, а нескольких нейросетей. Желательно создать несколько сетей с разными характеристиками и после их обучения сравнить их прогностические способности. Весьма вероятно, что при тестировании контрольной выборки разными нейросетями у каждой из них будут свои собственные ошибки. Решение в таком случае принимается на основании голосования и сравнения коэффициентов уверенности каждой из сетей.

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


Содержание раздела