Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кондрашов ВСЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11.52 Mб
Скачать

Программный пакет BrainMaker Professional.

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

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

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

Организация внутреннего представления нейросетевых моделей является "прозрачной" и легко доступной для программного наращивания. В программе BrainMaker предусмотрена система команд для пакетного запуска. Существует интерфейсная программа-функция для включения обученных сетей в программы пользователя. В целом пакет может быть легко интегрирован в программный комплекс целевого использования.

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

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

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

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

Программа использует числовые данные двойной точности, максимальное/минимальное число, представимое в программе, равно 10 308 .

Входы одной сети не могут одновременно иметь тип "растр" и любой из двух других. Символьные входы могут сочетаться с числовыми в одной сети.

Файлы, используемые пакетом. Тремя основными типами файлов являются файлы определений, файлы фактов и файлы сети. Все эти факты имеют текстовый формат и могут быть созданы и отредактированы вручную.

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

Файл фактов содержит обучающие, тестирующие и рабочие факты, которые будут использоваться построенной сетью. соответственно .FCT, .TST, .IN.

Файлы определений и фактов создаются программой NetMaker или вручную, за исключением случаев, когда входом или выходом является растр точек - в этом случае файл создается только вручную.

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

Помимо перечисленных основных файлов программный пакет генерирует множество других типов файлов. Эти файлы могут содержать выходные данные сети и сопровождающую информацию (.OUT), статистику обучения (.STS) и тестирования (.STA), файлы отчетов по исследованиям зависимостей (.RPT), отдельные параметры созданной сети (.EXT) и проч. Эти файлы порождаются программой BrainMaker.

Программы NetMaker и BrainMaker имеют набор средств для анализа исходных данных и оптимизации процесса обучения, указанные в предыдущих разделах данного пособия. Имеются следующие средства:

  • Для визуального изучения параметра в программе NetMaker предусмотрена функция построения графиков данных.

  • В пакете BrainMaker Professinal предусмотрена функция принудительной установки максимальной и минимальной величин для расчета функции масштабирования. Она может быть установлена вручную в программе NetMaker на основе визуального графического определения распределения. В результате такой установки в файле определений сети появляется строка, указывающая минимальное и максимальное значения каждого параметра для масштабирования.

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

  • Программа NetMaker позволяет проводить визуальный корреляционный анализ двух параметров. При этом строится график зависимости в четырех квадрантах. По горизонтальной оси откладываются лаги корреляции - отрицательные и положительные, по вертикальной оси откладывается коэффициент корреляции - отрицательной и положительной.

  • Для перемешивания фактов в программе NetMaker предусмотрена специальная функция.

  • В программе BrainMaker предусмотрена функция постепенного снижения коэффициента скорости обучения в зависимости от степени обученности сети. Кроме того, можно установить закон убывания данного коэффициента линейным или экспоненциальным.

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

  • В программе BrainMaker предусмотрена функция визуального контроля за распределением весов нейронной сети. Для этого на экране строятся гистограммы весов для каждого скрытого и для выходного слоя. По вертикали отложено общее количество весов, а по горизонтали - их величина в долях 1/16 от всего диапазона. Перед обучением весам придаются случайные малые значения, так что гистограмма имеет форму центрального колокола с максимумом на нулевом значении весов. В процессе обучения веса претерпевают изменения, стремясь "расплыться" по всей гистограмме. До тех пор, пока веса имеют подобное нормальному распределение, сеть имеет высокую способность к обучению, ее "познавательные" ресурсы велики. Когда основная масса весов приближается к краям гистограммы, возникает возможность возникновения паралича. Это также сигнализирует о том, что дальнейшее обучение в большинстве случаев бесполезно. Нет однозначных рекомендаций, что делать в таких ситуациях. Если задача не очень сложна, проще переучить сеть заново в новых условиях. Если сеть сложна, следует внимательно проанализировать ее статистику. Как свидетельствует опыт, зачастую сети, близкие к параличу, способны завершить процесс обучения и успешно функционировать. В программе также существует опция, способная автоматически снижать изменения весов, близких к критическим значениям ("тяжелые веса" ).

  • Программа BrainMaker позволяет добавлять шумы к обучающим, тестовым и рабочим фактам.

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

Контрольные вопросы:

  1. Какие основные программы включает пакет BrainMaker Professional?

  2. Для чего предназначена программа NetMaker?

  3. Для чего предназначена программа BrainMaker?

  4. Какие файлы используются пакетом BrainMaker Professional?

  5. Какие средства для анализа исходных данных и оптимизации процесса обучения имеются в программах пакета BrainMaker Professional?