49919

Разработка инструментальной среды для проектирования и выполнения нейропроектов

Курсовая

Информатика, кибернетика и программирование

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

Русский

2014-01-12

509 KB

25 чел.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение высшего профессионального образования

"Пермский государственный университет"

Кафедра прикладной математики и информатики

Разработка инструментальной среды для проектирования и выполнения нейропроектов

(курсовая работа)

«К ЗАЩИТЕ ДОПУСТИТЬ»

Зав. кафедрой прикладной математики и информатики, д. ф.-м. н., профессор

 С.В. Русаков

«_____» 20__ г.

Работу выполнил студент
группы 3,4-03
IV курса механико-математического факультета

                     Ф.М. Черепанов

Научный руководитель,  д. т. н.,  профессор:


        
                 Л.Н. Ясницкий

«_____» 20__ г.

Пермь 2007

Содержание

[0.1] Содержание

[0.2] ВВЕДЕНИЕ

[0.3] 1. Нейросетевая библиотека  для Delphi (DNNL)

[0.3.1] 1.1 Структура библиотеки

[0.3.2] 1.2 Формат описания нейросетевой модели

[0.3.3] 1.3 Визуализация

[0.3.4] 1.4 Функциональные возможности

[0.3.5]
1.5. COM – ориентированный вариант библиотеки DNNL

[0.4]
2. Нейропроекты с использованием библиотеки DNNL

[0.4.1] 2.1. Лабораторные работы

[0.4.2]
2.2. Нейросимулятор

[0.4.3] 2.3 Практическое применение

[0.5]
ЗАКЛЮЧЕНИЕ

[0.6]
Библиографический список

[0.7]  


ВВЕДЕНИЕ

В течение последних 10 лет искусственные нейронные сети получили широкое распространение в качестве инструмента для решения различных задач анализа данных и распознавания образов. На данный момент известно значительное число программных имитаторов нейросетей.

Существующие решения можно разделить на три группы:

1. Надстройки для программ прикладных вычислений, такие как:

Matlab_Neural_Network  – набор нейросетевых расширений для пакета прикладных вычислений Matlab.

Разработчик: MathWorks, Inc.

Statistica_Neural_Networks – набор нейросетевых расширений для пакета прикладной статистики Statistica.

Разработчик: StatSoft, Inc.

Excel_Neural_Package – набор библиотек и скриптов для электронных таблиц Excel, реализующие некоторые возможности нейросетевой обработки данных.

Разработчик: ООО «НейрОК»

2. Универсальные нейросетевые пакеты:

NeuroSolutions – нейропакет  предназначен для моделирования широкого круга искусственных нейронных сетей.

Разработчик: NeuroDimension, Inc.

NeuroPro – менеджер обучаемых искусственных нейронных сетей.

Разработчик: Институт вычислительного моделирования СО РАН, Красноярск. Россия; Царегородцев В. Г.

NeuralWorks – нейропакет, в котором основной упор сделан на применение стандартных нейронных парадигм и алгоритмов обучения.

Разработчик: NeuralWare, Inc.

3. Специализированные:

Neuroshell Trader – самая известная программа создания нейронных сетей для анализа рынков.

Разработчик: Ward Systems Group, Inc.

Глаз – используется для обработки аэрокосмической информации.
Разработчик: НейроКомп

К недостаткам приложений первой группы можно отнести:

- высокую стоимость самой среды, в которую включены функции, которые очень маловероятно понадобятся при работе с нейронной сетью.

- необходимость приобретения самой надстройки.

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

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

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

Цель работы:

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

2. При помощи разработанного инструментария создать и применить на практике универсальный и специализированный нейропроекты.


1. Нейросетевая библиотека  для Delphi (DNNL)

1.1 Структура библиотеки

Для достижения первой цели было решено дополнить интегрированную среду разработки Delphi библиотекой  процедур и функций для работы с нейронными сетями. Назовем эту библиотеку DNNLDelphi Neural Net Library. Учитывая требования разнородности решаемых задач, библиотеку DNNL  целесообразно разделить на модули.

Будем использовать три группы модулей:

- модули для работы с данными

- модули для работы с сетями

- модули визуализации

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

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

Модули визуализации служат для построения графиков, отображения структуры сети, отображения зависимости входных и выходных сигналов.

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

1.2 Формат описания нейросетевой модели

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

- для обмена информацией между модулями библиотеки.

- для обмена информацией между приложениями, использующими данную библиотеку, а также для обмена информацией со сторонними приложениями.

- для сохранения и загрузки.

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

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

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

Укажем причины выбора именного языка XML.

XML (eXtensible Markup Language) — предназначен для хранения структурированных данных для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки, иногда называемых словарями.

Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет.

Ниже перечислены его основные возможности:

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

Рис. 1. Редактор XML встроенный в Delphi

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

1.3 Визуализация

Библиотека DNNL предоставляет пользователю широкие графические возможности, такие как отображение структуры сети в реальном времени в 2-х и 3-х мерных вариантах; визуализация процесса обучения посредствам графического изображения различных характеристик, таких как средняя ошибка обучения, максимальная ошибка обучения, ошибки классификации и др. ; визуализация выхода сети; вывод графиков активационных функций. Для вывода графики используется библиотека OpenGL входящая в стандартную поставку Windows.

1.4 Функциональные возможности

Таким образом, библиотека DNNL добавляет в среду Delphi следующие функции, предназначенные для использования при разработке нейропроектов:

  •  Подключение к базам данных.
  •  Поддержка распространенных форматов файлов хранения данных.
  •  Предварительный статистический анализ данных.
  •  Анализ данных при помощи нейросети.
  •  Создание нейронной сети произвольной архитектуры с любым числом слоев, и числом нейронов в слое.
  •  Обучение сети встроенными алгоритмами.
  •  Тестирование нейронной сети на файле данных, получение статистической информации о точности решения задачи.
  •  Вычисление показателей значимости входных сигналов сети.
  •  Визуализация нейронной сети.
  •  Выбор алгоритма обучения, назначение требуемой точности прогноза, настройка нейронной сети.
  •  Возможность назначения различных функции активации, не только на каждый слой сети, но и на каждый отдельный нейрон.
  •  Возможность назначения различных функции рандомизации, на каждый слой и нейрон.
  •  Задание собственных функций активации.
  •  Возможность остановки и возобновления процесса обучения.
  •  Отслеживание состояния сети, как во время обучения, так и после его завершения.
  •  Единый формат хранения данных, сетевых конфигураций, параметров обучения.


1.5. COM – ориентированный вариант библиотеки DNNL

Библиотека DNNL наряду с достоинствами имеет и ряд недостатков:

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

Для устранения этих недостатков было решено создать COM – ориентированный вариант библиотеки, который назовем СOM_NNL (COM Neural Net Library).

Как известно, аббревиатура COM расшифровывается как "Component Object Model" – Модель Компонентных Объектов. Это стандарт, описывающий как должны работать интерфейсы объекта, включая такие вопросы, как, например, работа с памятью или многопоточностью, и каким образом приложения могут использовать компоненты, созданные в стандарте COM. COM является стандартом, независимым от языка программирования и независимым от аппаратного окружения.

СOM_NNL – это библиотека, которая представляет собой объектную оболочку для произвольного набора функций библиотеки DNNL. Она может быть использована в приложениях, написанных на Delphi, Microsoft Visual Studio, VBA и других средствах программирования, поддерживающих COM расширения.

Ниже на рис.2 представлен пример использования COM-библиотеки в электронных таблицах Excel.

Рис. 2. Пример на использование COM – библиотеки в VBA.


2. Нейропроекты с использованием библиотеки DNNL

2.1. Лабораторные работы

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

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

На рис.3 приведено рабочее окно лабораторной работы №1.

Рис. 3. Рабочее окно лабораторной работы №1

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

 

Лабораторная работа №1

 

Тема

Моделирование логических функций с помощью однонейронного персептрона

 

Задание

Подобрать параметры персептрона (w1, w2, θ), моделирующего функции:

·          Логическое И (AND),

·          Логическое ИЛИ (OR),

·          Исключающее ИЛИ (XOR).

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

 

Входы и выходы нейронной сети

Входной вектор содержит два элемента x1 и x2, над которыми производятся логические операции. Выходной вектор содержит один элемент y – результат операции.

 

Интерфейс

1.     Выбор типа моделируемой функции

2.     Кнопка запуска выполнения вычислений

3.     Поле, содержащее  сообщение о результате решения задачи;

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

5.     Параметры персептрона:

·     w1 – первый весовой коэффициент

·     w2 – второй весовой коэффициент

·     θ – порог;

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

 

    На рис. 4 приведено рабочее окно лабораторной работы №2: «Моделирование логических функций при помощи многослойного персептрона», а на рис.5 – пример решения проблемы «Исключающее ИЛИ» выполненного в рамках лабораторной работы.

Рис. 4. Рабочее окно Лабораторной работы №2.

Рис. 5. Проблема «Исключающее ИЛИ», решенная при помощи многослойного персептрона (Лабораторная работа №2).


2.2. Нейросимулятор

“Нейросимулятор” – программа, которая была разработана на замену устаревшему Neuro-simulator. Это небольшая программа для проведения практических лабораторных работ с широкой номенклатурой названий. По существу, она представляет собой оболочку для некоторых функций библиотеки DNNL. Несмотря на кажущуюся простоту Нейросимулятор может быть применен не только в образовательных целях, но и в решении широкого круга практических задач.

Интерфейс Нейросимулятора представляет собой окно с тремя вкладками:

  •  Проектирование сети”.
  •  Обучение”.
  •  Вычисления”.

Первая вкладка “Проектирование сети” предназначена для  проектирования сети. На ней же расположена панель управления проектом (Рис. 6).

На панели “Управление проектом” расположены кнопки

  •  “Сохранить проект”.
  •  “Загрузить проект”.
  •  “Сбросить настройки”.

При нажатии кнопки “Сохранить проект”  сохраняется конфигурация сети, весовые коэффициенты обученной сети, данные обучающей и тестовой выборки, и прочие настройки.

Для загрузки ранее сохраненного проекта  используется кнопка “Загрузить проект”.

Кнопка “Сбросить настройки” служит для возврата к стандартным настройкам.

На панели “Входной слой” задается количество  нейронов входного слоя, а также активационная функция этого слоя.

Содержание и назначение панели “Выходной слой” аналогично предыдущей, но она предназначена для настройки выходного слоя.

На панели «Скрытые слои» можно задать количество скрытых слоев и их функцию активации.

По умолчанию каждый скрытый слой содержит по два нейрона. Изменить количество нейронов на любом скрытом слое позволяет панель “Количество нейронов”

Рис. 6. Вкладка “Проектирование сети”

Каждая функция активации снабжена окном конфигурации, на котором приводится её формула и график. Также это окно позволяет настроить параметры функции, при их наличии (Рис. 7).

Рис. 7. Настройка функции активации

Второй по счету вкладкой является вкладка “Обучение”, предназначенная для управления процессом обучения спроектированной сети.

Рис. 8. Настройка функции активации

Вкладка “Обучение” позволяет:

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

Рис. 9. “Настройка функции рандомизации”.

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

Рис. 10. Анализ ошибки обучения

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

Рис. 11. Вкладка “Вычисления”

2.3 Практическое применение

В настоящее время комплекс лабораторных работ находится на стадии разработки и апробации. Апробация проводилась при проведении лабораторных занятий при изучении дисциплины “Искусственный интеллект”, который читается студентам специальности «прикладная математика» ПГУ, а также при изучении дисциплины «Интеллектуальные информационные системы», который читается студентам специальности «прикладная информатика в экономике» ПГПУ.

Кроме того, программа Нейросимулятор использовалась в качестве основного инструмента при выполнении курсовых работ студентами указанных специальностей ПГУ и ПГПУ:

    ● «Нейросетевой детектор лжи» – К.Лупало, студент 4-го курса ПГУ,

     «Оценка риска выдачи кредита населению» – Н.Федосеева, студентка 3-го кураса ПГУ.

    ● «Оценка недвижимости» – М.Лукина, студентка 3-го курса ПГУ.

    ● «Оценка банковского риска» – Е Волегова, студентка 4-го курса ПГПУ.

    ● «Прогнозирование курса Евро» – О.Костарева, студентка 4-го курса ПГПУ.

        ● «Выбор профессии» – Е.Кочева, студентка 4-го курса ПГПУ.

        ● «Оценка стоимости подержанных автомобилей» – Н.Леонтьева, студентка 4-го курса ПГПУ.

        ● «Оценка эффективности бизнес-плана» – Е.Росторгуева, студентка 4-го курса ПГПУ.

        ● «Прогнозирование котировок акций «Лукойл» – И.Чумакова, студентка 4-го курса ПГПУ.

        ● «Выбор супружеской пары» –  Дашкевич, студентка 3-го курса ПГПУ.

        ● «Оценка стоимости ноутбуков» – Аторкина, студентка 3-го курса.


ЗАКЛЮЧЕНИЕ

1. Разработан универсальный инструментарий «Библиотека DNNL», при помощи которого можно создавать различные нейропроекты  (приложения, использующие нейронные сети), как универсальные, так и специализированные.

2. При помощи разработанного инструментария созданы и применены на практике:

- cпециализированный нейропроект: Лабораторные работы для проведения практических занятий для школьников и студентов, изучающих основы искусственного интеллекта;

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

- Лабораторные работы и Нейросимулятор применяются при проведении лабораторных и курсовых работ студентами ПГУ и ПГПУ.


Библиографический список

  1.  Ясницкий Л.Н. Введение в искусственный интеллект./ Л.Н.   Ясницкий // М.: Издательский центр «Академия», 2005. – 176 с.
  2.  Хайкин С. Нейронные сети: полный курс, 2-е издание. Пер. с анг.. / С.  Хайкин //  М.: Издательский дом “Вильямс”, 2006. 1104 с.
  3.  Каллан Р. Основные концепции нейронных сетей. Пер. с анг.. / Р.  Каллан //  М.: Издательский дом “Вильямс”, 2001. 287 с.

 


 

А также другие работы, которые могут Вас заинтересовать

39267. Конструкция преобразователя напряжения 12/300В 743 KB
  Требования безопасности при производстве преобразователя напряжения Пожарная безопасность. Для питания электрооборудования от источников постоянного тока широко используются преобразователи напряжения. Наметившаяся тенденция микроминиатюризации в радиоэлектронике привела к тому что полупроводниковые преобразователи...
39268. Разработка конструкции печатного узла регулируемого двухполярного блока питания 950.5 KB
  1 Выбор типа печатной платы односторонняя двухсторонняя; 15 – 16 4.2 Выбор материала печатной платы; 16 – 18 4.3 Выбор метода изготовления печатной платы; 18 – 19 4.6 Расчет размеров печатной платы узла; 23 – 24 4.
39269. Технико-экономический расчет и проектирование участка изготовления печатных плат для сборки изделия: Реле времени с годовой программой 115000 штук 1.12 MB
  1 Расчет количества оборудования коэффициента загрузки. Технические данные оборудования 2.7 Расходы по содержанию и эксплуатации оборудования 2. По мере развития и совершенствования интегральных схем происходит увеличение сложности и стоимости оборудования для их производства и контроля качества.
39270. Рабочее место электромонтажника 134 KB
  В современных производственных условиях рабочие монтажники радиоэлектронной аппаратуры должны уметь пользоваться сборочномонтажными чертежами читать электрические схемы знать слесарносборочные монтажные и регулировочные операции маркировку современных электрорадиоэлементов обнаруживать и устранять неисправности в собираемых изделиях знать правила безопасности труда. 4 Перечень НТД по охране труда безопасности работы руководящим должностным и производственным инструкциям № № инструкций Наименование инструкций 1 489 По охране...
39271. Устройство защиты аппаратуры от аномальных напряжений сети 284.32 KB
  Котова Устройство защиты аппаратуры от аварийного напряжения сети Радио 2008 № 8 с. Из сетевого напряжения ограничительным диодом VD2 формируется переменное близкое к прямоугольному напряжение амплитудой около 18 В. Варистор RU1 защищает симистор VS1 от бросков напряжения при коммутации нагрузки индуктивного характера. Контроль величины сетевого напряжения осуществляет встроенный АЦП микроконтроллера DD1.
39272. Машиностроительный комплекс 425.17 KB
  Изменение структуры занятости по отраслям хозяйственного комплекса и сферам приложения труда свидетельствует о развитии рыночных структур в экономике. Повышение специализации производства требует использования высокопроизводительного оборудования; внедрения новых методов технологии механизации и автоматизации производственных процессов; повышения уровня квалификации персонала и увеличения производительности труда это снижает себестоимость при одновременном улучшении качества что приводит к увеличению реализации росту прибыли и...
39273. Социология труда и менеджмента. (Ф. Тейлор, Э. Мейо) 17.07 KB
  Социология труда (в развитых государствах Запада чаще она именуется индустриальной социологией) начала развиваться в 20-30-х гг. XX века. Исследуя проблемы, связанные с социальной сущностью труда, индустриальная социология важным объектом анализа ставит социально-трудовые отношения.
39274. АНАЛІЗ АСОРТИМЕНТУ, СПОЖИВНИХ ВЛАСТИВОСТЕЙ І КОКУРЕНТОСПРОМОЖНОСТІ КОМП’ЮТЕРІВ, ЯКІ РЕАЛІЗУЮТЬСЯ В ТОВ «САВ-ДІСТРИБ’ЮШН» В М. ДОНЕЦЬК 727 KB
  Основні тенденції розвитку світового і вітчизняного ринку комп’ютерів Фактори які формують асортимент і якість комп'ютерів Аналіз ринку комп’ютерів в Україні та світі Нові технології в розвитку асортименту комп’ютерів Обґрунтування та удосконалення класифікації комп’ютерів РОЗДІЛ 2. Практичні аспекти реалізації оцінки якості комп’ютерів 2. Споживні параметри комп’ютерів та методи їх оцінки 2.
39275. Изыскание путей повышения эффективности производства на НПК «Динкома» на основе оценки товарной политики предприятия 698.5 KB
  Инновационная политика разработка новой продукции ее торговой марки и упаковки – основа эффективности предпринимательской деятельности в рыночных условиях гарантия высоких конкурентных позиций фирмы. Планы поступательного развития компании в средне и долгосрочной перспективе должны основываться на реалистичной и хорошо продуманной стратегической программе обновления ассортимента продукции. В интересах сохранения объемов сбыта или достигаемого уровня рентабельности предприятию необходимо быть готовым к немедленной замене вырабатываемой...