Разработка программного модуля для моделирования и исследования нейронных сетей по дисциплине «Системы искусственного интеллекта» для Б

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 17:44, дипломная работа

Описание работы

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

Содержание работы

Перечень условных обозначений 3
Введение 5
1 Анализ технологии обработки информации в предметной области и определение требований к АСОИ 6
1.1 Сбор и анализ исходной информации 6
1.2 Определение требований к проектируемой АСОИ 17
1.2.1 Диаграмма вариантов использования 21
1.2.2 Диаграмма деятельности 33
1.2.3 Модель данных 34
Выводы 37
2 Создание модели АСОИ 38
2.1 Диаграмма классов 38
2.2 Диаграмма последовательности 45
2.3 Диаграмма состояний 46
2.4 Диаграмма деятельности 54
2.5 Диаграмма компонентов 54
2.6 Диаграмма размещения 57
Выводы 58
3 Разработка программного обеспечения 59
3.1 Выбор среды программирования 59
3.2 Разработка таблиц баз данных АСОИ 59
3.3 Разработка запросов 59
3.4 Разработка форм 61
3.5 Разработка вычислительных процедур обработки данных 62
3.6 Тестирование программного обеспечения 65
Заключение по проекту 69
4 Экономическая часть 70
4.1 Общая постановка к технико-экономическому обоснованию 70
4.2 Расчет трудоемкости (производительности) 71
4.3 Расчет единовременных затрат 76
4.4 Расчет годовых текущих издержек 80
4.5 Расчет показателей экономической эффективности 83
4.6 Организация внедрения системы и рекомендации по ее эксплуатации 84
4.7 Выводы и рекомендации 85
5 Охрана труда 86
5.1 Идентификация и анализ вредных и опасных факторов в проектируемом объекте 86
5.2 Технические, технологические, организационные решения по устранению опасных и вредных факторов, разработка защитных средств 89
5.3 Разработка мер безопасности при эксплуатации объекта проектирования 93
6 Энерго- и ресурсосбережение 96
Список использованных источников 104

Файлы: 1 файл

Дипломный проект Мельников И.И. гр. АСОИ-052искуст.doc

— 2.22 Мб (Скачать файл)

 

Продолжение таблицы 2

 4.2.2.2 - Есть возможность изменить входной сигнал 

«Functional»

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

 4.2.2.3 - Есть возможность удалить входной сигнал 

«Functional»

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

 4.2.2.4 - Есть возможность добавить выходной сигнал 

«Functional»

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

 4.2.2.5 - Есть возможность изменить выходной сигнал 

«Functional»

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

 4.2.2.6 - Есть возможность удалить выходной сигнал 

«Functional»

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

 4.2.3 - Есть возможность удалить обучающую пару 

«Functional»

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

 4.3 - Есть возможность удалить обучающий массив 

«Functional»

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

 5.0 - Есть возможность обучить сеть 

«Functional»

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

 5.1 - Есть возможность загрузить обучающий массив 

«Functional»

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

 5.2 - Есть возможность выставить дополнительные настройки 

«Functional»

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

 5.2.1 - Есть возможность задать допустимую погрешность при вычислении результатов 

«Functional»

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


 

Продолжение таблицы 2

 5.2.2 - Есть возможность задать максимальное число итераций при прохождении обучения 

«Functional»

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

 5.3 - Есть возможность запустить процесс автоматического обучения 

«Functional»

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


 

Таблица 3 – Нефункциональные требования к проектируемой АСОИ

 1 - Необходимое программное обеспечение 

«Performance»

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

 1.1 - Набор библиотек .NET Framework 3.5 

«Performance»

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

 1.2 - Система управления базами данных SQL Server 2005 Express. 

«Performance»

Необходима для нормальной работы с локальной базой данных.

 1.3 - Операционная система Windows NT/2000/XP/Vista/Seven 

«Performance»

Любая операционная система, поддерживающая технологию .NET.

 2 - Необходимое аппаратное обеспечение 

«Performance»

Аппаратное обеспечение, способствующее оптимальной работе приложению.

 2.1 - Процессор с тактовой частотой 1 - 3ГГц (Pentium II/III/4 или эквивалентные) 

«Functional»

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

 2.2 - Объем оперативной памяти 1 - 2 ГБ 

«Performance»

Приложения не занимает много памяти в процессе работы (от 30 МБ до 100 МБ).


 

 

 

Продолжение таблицы 3

 2.3 - Видеоадаптер 

«Performance»

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

 2.4 - Внешнее запоминающее устройство (ВЗУ) 

«Performance»

Любое устройство для хранения данных (HDD, SDD, Flash), поддерживающее прямой доступ к памяти, кроме CD/DVD и эквивалентных. Само приложение занимает 143 КБ, объем базы данных ограничен только возможностями СУБД и ВЗУ.

 2.5 - Привод для чтения оптических дисков, клавиатура, манипулятор "мышь", монитор

«Performance»

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


 

1.2.1 Диаграмма вариантов  использования. Диаграмма вариантов использования студентом разработанной программы представлена в графической части. Рассмотрим подробно каждый из вариантов использования.

Таблица 4 – Варианты использования программы

Вариант использования

Создать \ изменить нейронную  сеть

Основной поток

Создание или изменение нейронной сети

1. Вариант использования начинается, когда пользователь загружает программу.

2. Пользователь задает количество слоев в нейронной сети.

3. Программа автоматически  определяет количество полей в таблице для ввода количества нейронов в каждом слое.

4. Пользователь задает  количество нейронов в каждом слое.

5. Пользователь задает  тип активационной функции.

6. Если выбран тип  активационной функции "Линейная", программа снимает блокировку с поля для ввода значения порога.

7. Программа создает  нейронную сеть соответствующей структуры.


Продолжение таблицы 4

Вариант использования

Сохранить модель нейронной сети

Основной поток

Сохранение модели нейронной сети

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

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

3. Пользователь вводит  имя файла и нажимает кнопку "OK".

4. Программа закрывает  диалоговое окно, сохраняет файл  с указанным именем в указанную  директорию.

Альтернативный  поток

Отказ пользователя сохранять файл

1. Пользователь нажимает кнопку "Отмена" на диалоговом окне сохранения файла.

2. Программа закрывает  окно.

Вариант использования

Загрузить модель нейронной сети

Основной поток

Загрузка модели нейронной сети

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

2. Программа открывает  диалоговое окно для выбора  файла для загрузки.

3. Пользователь выбирает  файл и нажимает кнопку "OK".

4. Программа закрывает  диалоговое окно, загружает файл  модели и замещает текущую  модель нейронной сети на модель  из файла.


 

 

 

 

 

 

 

Продолжение таблицы 4

Альтернативный  поток

Загрузка файл не подходящего формата

1. Пользователь загружает файл, не являющийся файлом модели сети.

2. Программа закрывает диалоговое окно и загружает файл.

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

Альтернативный  поток

Отказ пользователя от загрузки файла

1. Пользователь отказывается от загрузки файла и нажимает кнопку "Отмена" на диалоговом окне загрузки файла.

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

Вариант использования

Посмотреть схему нейронной  сети

Основной поток

Просмотр схемы нейронной сети

1. Вариант использования начинается  после того, как пользователь нажал на кнопку "Схема нейронной сети" на главной форме программы.

2. Программа создает  графическое изображение нейронной сети.

Альтернативный  поток

Просмотр схемы не созданной  нейронной сети

Программа выводит пользователю изображение с надписью "Нейронная  сеть не определена".

Вариант использования

Задать количество слоев в сети

Основной поток

Задание количества слоев в нейронной  сети

Вариант использования  начинается, когда пользователь задает количество слоев в нейронной  сети.

Альтернативный  поток

Некорректный ввод числа слоев  нейронной сети

1. Пользователь вводит некорректное  число нейронов в сети.

2. Программа перехватывает  ввод некорректного символа и  не дает пользователю вести  его.


 

 

 

 

Продолжение таблицы 4

Вариант использования

Задать количество нейронов в каждом слое

Основной поток

Задание количества нейронов в каждом слое сети

Вариант использования  начинается, когда пользователь задает количество нейронов в каждом слое.

Альтернативный  поток

Некорректный ввод числа нейронов в слое

1. Пользователь ввел некорректное  число нейронов в слое.

2. Программа удаляет  некорректное число и возвращает  старое значение числа нейронов в слое.

Вариант использования 

Задать тип активационной  функции

Основной поток

Выбор типа активационной функции

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

Вариант использования

Задать порог для  линейной функции

Основной поток

Задание порога для линейной функции

Вариант использования  начинается, когда пользователь вводит значение порога.

Альтернативный  поток

Некорректный ввод значения порога

1. Пользователь вводит некорректное число.

2. Программа определяет  ввод некорректного символа и  не выводит его в поле.

Предусловие

Должен быть выбран тип  активационной функции – линейная.

Вариант использования

Работа с обучающими массивами

Альтернативный  поток

Редактирование обучающего массива

1. Пользователь выбирает обучающий  массив.

2. Программа выводит  все обучающие пары данного  массива.

3. Пользователь вносит  изменение в описание массива или добавляет обучающие пары.

4. Пользователь сохраняет  массив путем нажатия на кнопку «Сохранить».

5. Программа сохраняет  обучающий массив в базе данных.


Продолжение таблицы 4

Альтернативный  поток

Редактирование обучающей пары

1. Пользователь выбирает обучающий  массив.

2. Программа выводит  все обучающие пары данного  массива.

3. Пользователь выбирает  обучающую пару.

4. Программа выводит  все входные и выходные сигналы пары.

5. Пользователь изменяет  значения входных и выходных сигналов и (или) создает новые.

6. Пользователь сохраняет  пару путем нажатия на кнопку «Сохранить пару».

7. Программа сохраняет  пару в базе данных.

Альтернативный  поток

Создание обучающего массива

Пользователь создает  обучающий массив путем нажатия  на кнопку «Создать массив».

Альтернативный  поток

Создание обучающей пары

1. Пользователь выбирает облучающий  массив.

2. Программа выводит все обучающие пары данного массива.

3. Пользователь создает  новую обучающую пару.

4. Пользователь вводит  в таблицу входные и выходные сигналы.

5. Пользователь нажимает  на кнопку «Сохранить пару».

6. Программа сохраняет  обучающую пару в базе данных.


 

 

 

 

 

 

 

 

 

 

 

Продолжение таблицы 4

Вариант использования

Создать обучающий массив

Основной поток

Создание обучающего массива

1. Вариант использования начинается, когда пользователь нажимает на кнопку «Создать массив».

2. Программа выводит  окно для ввода описания массива.

3. После закрытия окна, программа проверяет, было ли сохранено описание.

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

Альтернативный  поток

Ошибка при создании обучающего массива

1. При создании обучающего массива  в базе данных произошла ошибка.

2. Программа выдает  сообщение об ошибке и не  вносит никаких изменений в  базу данных.

Вариант использования

Описать массив

Основной поток

Ввод описания массива

1. Вариант использования начинается, когда пользователь вводит описание обучающего массива.

2. Пользователь жмет  кнопку «Сохранить».

3. Программа сохраняет  описание массива.

Альтернативный  поток

Пользователь сохраняет пустое описание

1. Пользователь сохраняет пустое  описание.

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

Информация о работе Разработка программного модуля для моделирования и исследования нейронных сетей по дисциплине «Системы искусственного интеллекта» для Б