Автор работы: Пользователь скрыл имя, 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
АННОТАЦИЯ
на дипломный проект
«Разработка программного модуля для моделирования и исследования нейронных сетей по дисциплине «Системы искусственного интеллекта»
для Белорусско-Российского университета»
тема проекта
Структура и объем проекта
Дипломный проект состоит из 22 листов чертежей и 122 листов спецификаций и текстовой части проекта на 122 страницах. Пояснительная записка состоит из перечня условных обозначений, введения, общей характеристики работы, шести глав, заключения по проекту, библиографического списка и приложений.
Проект содержит 13 рисунков на 12 страницах, 65 таблиц на 57 страницах, 2 приложения на 18 страницах.
Библиографический список включает 9 наименований.
Содержание проекта
Во введении обоснована актуальность темы, дана краткая характеристика исследуемых вопросов и предлагаемых подходов к их решению.
В первой главе производится подробный анализ требований к разрабатываемой системе, всех возможных вариантов использования системы.
Во второй главе представлено подробное описание структуры системы и порядка взаимодействия ее компонентов друг с другом и с внешней средой.
В третьей главе описаны средства, с помощью которых создавалось система, интерфейс приложения, структура внутренних запросов.
В четвертой главе дается экономическое обоснование целесообразности разработки данного проекта.
В пятой главе рассмотрены вопросы, касающиеся охраны труда при работе с системой, с учетом специфики работы за персональной электронно-вычислительной машиной.
В шестой главе подробно рассмотрен энергетический и экологический мониторинг, применяющийся в Республике Беларусь.
В заключении по проекту
дается общая оценка степени соответствия
выполненной системы
Содержание
Ниже представлена таблица-глоссарий разрабатываемого проекта.
Таблица 1 – Глоссарий проекта
Термин |
Тип |
Определение |
Активационная функция |
Technical |
Функция, в соответствии с которой происходит преобразование суммы входных сигналов нейрона в выходной сигнал |
АСОИ |
Technical |
Автоматизированная система |
Искусственный нейрон |
Technical |
Объект, имитирующий в первом приближении биологический нейрон. |
Нейронная сеть |
Technical |
Совокупность слоев, в которых каждый нейрон предыдущего слоя связан синаптической связью с каждым нейроном последующего слоя |
Обучение нейронной сети |
Business |
Процесс изменения весов синапсов нейронов сети с целью получения минимальной ошибки в значениях выходных сигналов сети при подаче определенных входных сигналов относительно требуемых значений |
Обучающая пара |
Technical |
Набор значений входных сигналов сети и набор требуемых значений выходных сигналов сети |
Обучающий массив |
Technical |
Набор обучающих пар, в соответствии с которыми будет проводиться обучение нейронной сети |
Опрос сети |
Business |
Подача определенных входных сигналов с целью получения значений выходных сигналов, рассчитанные нейронной сетью |
Синапс |
Technical |
Объект, имитирующий в первом приближении биологический синапс - часть нейрона, связывающая его с другим нейроном |
Слой |
Technical |
Совокупность нейронов одного уровня, не связанных между собой |
Вес синапса |
Technical |
Величина, на которую умножается значение сигнала, идущего по синапсу |
В рамках дипломного проекта необходимо разработать программу, которая позволяла бы студенту изучать особенности построения и использования нейронных сетей.
Разрабатываемая программа должна позволять студенту создавать нейронную сеть и обучать ее для решения определенных задач. Программа должна предоставлять удобный интерфейс и давать студенту возможность сохранять модель созданной нейронной сети и загружать ее для дальнейших исследований. Также программа должна иметь локальную базу данных для хранения информации, необходимой для обучения сети.
Данный программный продукт будет использоваться в рамках лабораторной работы по изучению нейронных сетей и работать под управление операционной системы Windows 2000/XP.
Данная программа позволит ввести лабораторную работу по теме «Создание и исследование нейронных сетей» в обучающий процесс, так как автоматизирует процесс создания и обучения сети, позволяя студентам самим быстро создавать и обучать нейронные сети.
Наличие подключения к локальной сети и подключения к сети Интернет для данного программного продукта не являются обязательным, так как база данных локальна и хранится в одном каталоге с исполняемым файлом программы.
Для проектирования АСОИ использовалось CASE-средство Enterprise Architect 7.1.
В качестве научного предмета
искусственные нейронные сети впервые
заявили о себе в 40-е годы. Стремясь
воспроизвести функции человече
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, и все произведения суммируются, определяя уровень активации нейрона. На рисунке 1 представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных , поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором , соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес и поступает на суммирующий блок, обозначенный Σ. Каждый вес соответствует «силе» одной биологической синаптической связи (множество весов в совокупности обозначается вектором W) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом:
. (1)
Рисунок 1 – Искусственный нейрон
Сигнал NET далее, как правило, преобразуется активационной функцией F и дает выходной нейронный сигнал OUT. Активационная функция может быть обычной линейной функцией:
, (2)
где К – постоянная пороговой функции, OUT = 1, если NET > T, OUT = 0 в остальных случаях, Т – некоторая постоянная пороговая величина, или же функцией, более точно моделирующей нелинейную передаточную характеристику биологического нейрона и представляющей нейронной сети большие возможности.
Рисунок 2 – Искусственный нейрон с активационной функцией
На рисунке 2 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется «сжимающей» функцией. В качестве «сжимающей» функции часто используется логистическая или «сигмоидальная» (S-образная) функция, показанная на рисунке 3. Эта функция математически выражается:
. (3)
По аналогии с электронными
системами активационную функци
Рисунок 3 – Сигмоидальная логистическая функция
Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки. В качестве активационной функции искусственной нейронной сети она записывается следующим образом:
OUT = th(x). (4)
Рисунок 4 – Функция гиперболического тангенса
Подобно логистической
функции гиперболический
Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими.
Несмотря на эти ограничения, сети, построенные из этих нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или следствием того, что в модели верно схвачены важнейшие черты биологического нейрона [1].
Рисунок 5 – Однослойная нейронная сеть
Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рисунка 5. Отметим, что вершины-круги слева служат лишь для распределения входных сигналов. Они не выполняют каких- либо вычислений и поэтому не будут считаться слоем. По этой причине они обозначены кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов Х отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое.
Удобно считать веса элементами матрицы W. Матрица имеет m строк и n столбцов, где m – число входов, а n – число нейронов. Например, – это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению , где N и Х – векторы-строки.
Более крупные и сложные нейронные сети обладают, как правило, и большими вычислительными возможностями. Хотя созданы сети всех конфигураций, какие только можно себе представить, послойная организация нейронов копирует слоистые структуры определенных отделов мозга. Оказалось, что такие многослойные сети обладают большими возможностями, чем однослойные, и в последние годы были разработаны алгоритмы для их обучения.
Рисунок 6 – Двухслойная нейронная сеть
Многослойные сети могут образовываться каскадами слоев. Выход одного слоя является входом для последующего слоя. Подобная сеть показана на рисунке 6 и снова изображена со всеми соединениями.
Многослойные сети могут привести к увеличению вычислительной мощности по сравнению с однослойной сетью лишь в том случае, если активационная функция между слоями будет нелинейной. Вычисление выхода слоя заключается в умножении входного вектора на первую весовую матрицу с последующим умножением (если отсутствует нелинейная активационная функция) результирующего вектора на вторую весовую матрицу: [1].
Так как умножение матриц ассоциативно, то .
Это показывает, что двухслойная линейная сеть эквивалентна одному слою с весовой матрицей, равной произведению двух весовых матриц. Следовательно, любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Однослойные сети весьма ограниченны по своим вычислительным возможностям. Таким образом, для расширения возможностей многослойных сетей по сравнению с однослойной сетью необходима нелинейная активационная функция.
Большинство современных алгоритмов обучения выросло из концепций Хэбба. Им предложена модель обучения без учителя, в которой синаптическая сила (вес) возрастает, если активированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются.
В искусственной нейронной сети, использующей обучение по Хэббу, наращивание весов определяется произведением уровней возбуждения передающего и принимающего нейронов. Это можно записать как
, (5)
где – значение веса от нейрона i к нейрону j до подстройки, – значение веса от нейрона i к нейрону j после подстройки, α – коэффициент скорости обучения, – выход нейрона i и вход нейрона j, – выход нейрона j.
Сети, использующие обучение по Хэббу, конструктивно развивались, однако за последние 20 лет были развиты более эффективные алгоритмы обучения. В частности, были развиты алгоритмы обучения с учителем, приводящие к сетям с более широким диапазоном характеристик обучающих входных образов и большими скоростями обучения, чем использующие простое обучение по Хэббу.