Разработка топологии нейронной сети для прогнозирования выбора тяжелых токарных станков
Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 03.03.2015 |
Размер файла | 549,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине:
“Методы и системы искусственного интеллекта”
На тему:
Разработка топологии нейронной сети для прогнозирования выбора тяжелых токарных станков
Содержание
- Введение
- 1. Анализ работы токарных станков: узлы токарного станка; механика работы; суппорт токарного станка
- 1.1 Постановка задачи
- 2. Разработка нейронной сети для прогнозирования выбора токарног станка
- 2.1 Выбор типа нейронной сети
- 2.2 Выбор алгоритма обучения
- 2.3 Расчет количества нейронов во внутренних слоях
- 2.4 Результат работы нейросети
- Выводы
- Список использованных источников
Введение
Искусственные нейронные сети (ИНС) -- математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей -- сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.
ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.
Известные применения:
1. Распознавание образов и классификация
В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.
Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своём ответе.
2. Принятие решений и управление
Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве входных сигналов используются различные критерии описания состояния управляемой системы.
3. Кластеризация
Под кластеризацией понимается разбиение множества входных сигналов на классы, при том, что ни количество, ни признаки классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов -- это является признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые, неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в предметной области, устанавливается человеком. Кластеризацию осуществляют, например, нейронные сети Кохонена.
Нейронные сети в простом варианте Кохонена не могут быть огромными, поэтому их делят на гиперслои (гиперколонки) и ядра (микроколонки). Если сравнивать с мозгом человека, то идеальное количество параллельных слоёв не должно быть более 112. Эти слои в свою очередь составляют гиперслои (гиперколонку), в которой от 500 до 2000 микроколонок (ядер). При этом каждый слой делится на множество гиперколонок пронизывающих насквозь эти слои. Микроколонки кодируются цифрами и единицами с получением результата на выходе. Если требуется, то лишние слои и нейроны удаляются или добавляются. Идеально для подбора числа нейронов и слоёв использовать суперкомпьютер. Такая система позволяет нейронным сетям быть пластичной.
4. Прогнозирование
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным (а может и не оказаться), тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.
5. Аппроксимация
Нейронные сети могут аппроксимировать непрерывные функции. Доказана обобщённая аппроксимационная теорема: с помощью линейных операций и каскадного соединения можно из произвольного нелинейного элемента получить устройство, вычисляющее любую непрерывную функцию с некоторой наперёд заданной точностью. Это означает, что нелинейная характеристика нейрона может быть произвольной: от сигмоидальной до произвольного волнового пакета или вейвлета, синуса или многочлена. От выбора нелинейной функции может зависеть сложность конкретной сети, но с любой нелинейностью сеть остаётся универсальным аппроксиматором и при правильном выборе структуры может достаточно точно аппроксимировать функционирование любого непрерывного автомата.
6. Сжатие данных и ассоциативная память
Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс -- восстановление исходного набора данных из части информации -- называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому [1].
1. Анализ работы токарных станков
Токарный станок, станок для обработки преимущественно тел вращения путём снятия с них стружки при точении. Токарные станки составляют значительную группу металлорежущих станков, отличаются большим разнообразием. На токарном станке можно выполнять различные виды токарной обработки: обтачивание цилиндрических, конических, фасонных поверхностей, подрезку торцов, отрезку, растачивание, а также сверление и развёртывание отверстий, нарезание резьбы и накатку рифлений, притирку и т.п. Используя специальные приспособления, на токарных станках можно осуществлять фрезерование, шлифование, нарезание зубьев и др. виды обработки. На специализированных токарных станках обрабатывают колёсные пары, муфты, трубы и др. изделия.
Узлы токарного станка
Основные узлы токарного станка: основание с корытом для сбора охлаждающей жидкости и стружки; станина с направляющими суппорта и задней бабки; неподвижная передняя бабка со шпинделем и коробкой скоростей, которая может располагаться и в др. месте, например в основании; передвижная задняя бабка, закрепляемая на станине в определённом положении; коробка подач, соединённая муфтами с ходовым валиком и ходовым винтом; фартук с механизмом передачи движения от ходового валика к рейке (или к винту подачи поперечных салазок и с механизмом соединения маточной гайки с ходовым винтом; суппорт, состоящий из каретки, движущейся по направляющим станины, поперечных салазок, перемещающихся по направляющим каретки; поворотная часть с направляющими для верхней каретки, несущей резцедержатель. Каретка и поперечные салазки перемещаются вручную или автоматически. В токарных станках некоторых моделей верхняя каретка также перемещается автоматически. В механизме фартука предусмотрена блокировка, исключающая одновременное включение подачи от ходового валика и ходового винта и одновременное включение каретки и поперечных салазок. Для быстрого хода суппорта служит дополнительный привод ходового валика от электродвигателя через обгонную муфту.
Механика работы
На токарных станках, в процессе резания вращение заготовки, закрепляемой в патроне зажимном или в центрах, осуществляется от привода главного движения, обеспечивающего ступенчатое или бесступенчатое регулирование частоты вращения шпинделя для настройки на требуемую скорость резания. Поступательное перемещение режущего инструмента обеспечивается кинематической цепью движения подачи, первое звено которой -- шпиндель, последнее -- зубчато-реечная передача (при точении) или кинематическая пара ходовой винт - маточная гайка (при нарезании резьбы). Настройка подачи производится с помощью коробки подач (при точении) или установкой сменных зубчатых колёс узла настройки подачи -- гитары станка (при нарезании резьбы).
Шпиндельный узел выполняется жёстким и виброустойчивым. Опорами шпинделя обычно служат подшипники качения. В прецизионных токарных станках применяют гидростатические подшипники. На переднем конце шпинделя может устанавливаться планшайба или патрон, в которых закрепляют заготовки. Задняя бабка используется при обработке заготовок в центрах, а также для закрепления инструмента при сверлении, зенкеровании и развёртывании.
В привод главного движения токарных станков могут входить одно- или многоскоростной асинхронный электродвигатель и многоступенчатая коробка скоростей или механический вариатор либо регулируемый электродвигатель постоянного тока и коробка скоростей (обычно в тяжёлых токарных станках). Иногда в токарных станках применяют др. приводы (например, гидравлические).
Требования автоматизации мелкосерийного производства привели к развитию токарных станков с числовым программным управлением (ЧПУ).
Эти станки имеют некоторые особенности. Наряду с традиционной применяется компоновка, при которой станина имеет наклонные направляющие, что облегчает удаление стружки и защиту рабочего пространства. Зона резания закрыта кожухами. Программируется: переключение скоростей шпинделя, продольные и поперечные перемещения суппорта с бесступенчатым регулированием подачи, быстрые перемещения суппорта, поворот револьверной головки, пуск, остановка и реверс привода главного движения, автоматическая смена инструмента (при наличии многоинструментального магазина). В некоторых центровых станках применяются самозажимные поводковые патроны и автоматизированные задние бабки. Во многих случаях станки имеют поворотные револьверные головки с индивидуальным электро- или гидроприводом. Подачи могут осуществляться от шаговых электродвигателей с гидроусилителями, двигателей постоянного тока, от гидродвигателей; применяют ходовые винты качения (шаровые). Инструменты налаживают вне станка с помощью оптических устройств или приспособлений для настройки резцов по индикаторам или шаблонам. На станке производят только смену и закрепление предварительно налаженных блоков или всего резцедержателя.
Универсальные токарные станки применяют в основном в условиях единичного и мелкосерийного производства. При оснащении токарных станков специальными приспособлениями (гидро- или электрокопировальными суппортами, быстрозажимными автоматизированными патронами и т.п.) область их применения распространяется на серийное производство. В массовом производстве применяют токарные и револьверные автоматы и полуавтоматы. Обслуживание автомата сводится к периодической наладке, подаче материала на станок и контролю обрабатываемых деталей. В полуавтомате не автоматизированы движения, связанные с загрузкой и снятием заготовок. Автоматическое управление рабочим циклом этих станков осуществляется с помощью распределительного вала, на котором установлены кулачки.
По принципу осуществления вспомогательных (холостых) движений автоматы и полуавтоматы можно разделить на 3 группы. Первая -- станки, имеющие 1 распределительный вал, вращающийся с постоянной для данной настройки частотой; вал управляет рабочими и вспомогательными движениями. Эта схема применяется в автоматах малых размеров с небольшим числом холостых движений. Вторая группа -- станки с 1 распределительным валом, имеющим 2 частоты вращения: малую при рабочих и большую при холостых операциях. Обычно эта схема применяется в многошпиндельных автоматах и полуавтоматах. Третья группа -- станки, имеющие, кроме распределительного вала, быстроходный вспомогательный вал, осуществляющий холостые движения.
Суппорт токарного станка
Суппорт состоит из следующих узлов: каретки, перемещающейся по направляющим станины (нижние продольные салазки); поперечных салазок, перемещающихся перпендикулярно к оси центров по каретке; верхних салазок с резцедержателем, перемещающимся по направляющим поворотного круга на поперечных салазках.
В зависимости от конструкции направляющих станины применяют различные способы регулирования зазоров между направляющими каретки и станины. В случае прямоугольных и призматических направляющих регулирование производят с помощью планок, поджимаемых винтами.
Поперечные и верхние салазки перемещаются с помощью винтов и гаек. При этом диаметр и шаг винтов выбирают с учетом обеспечения самоторможения передачи. Суппорт состоит из каретки, которая перемещается по направляющей станины, поперечного суппорта, который движется по направляющей каретки, поворотной плиты и верхнего суппорта. На суппорте закреплен резцедержатель. В передней части каретки к ее нижней плите крепится фартук. Для обработки конусов верхний суппорт имеет независимое прямолинейное перемещение и может поворачиваться вместе с поворотной плитой от-65 до +90° при отжиме двух фиксирующих винтов с гайками.
На нижней части суппорта может быть установлен дополнительно задний резцедержатель. Конструкции передних резцедержателей весьма разнообразны. На малых станках наибольшее распространение получили так называемые «солдатики» с одним крепежным винтом, а также съемные резцедержатели на один-два резца. На средних и крупных станках получил распространение четырехгранный поворотный резцедержатель.
1.1 Постановка задачи
Нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом связанных между собой и внешней средой с помощью связей, определяемых весовыми коэффициентами. Сеть состоит из нейронов трех типов.
1. Входные нейроны, на которые подается вектор, кодирующий входное воздействие. В них обычно не осуществляется вычислительные процедуры, а информация передается со входа на выход путем изменения их активации.
2. Выходные нейроны, выходные значения которых представляют выходы нейронной сети.
3. Промежуточные нейроны, составляющие основу нейронной сети.
В многослойных нейронных сетях нейроны объединены в слои. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев.
Выбор структуры нейронной сети (задание ее топологии) осуществляется в соответствии с особенностями и сложностью задачи. Если задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему синтеза новой конфигурации. При этом необходимо руководствоваться следующими основными правилами:
- возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев;
- введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети;
- сложность алгоритмов функционирования сети, введение нескольких типов синапсов способствует усилению мощности нейронной сети.
Для оценки числа нейронов в скрытых слоях можно воспользоваться формулой для оценки необходимого числа синоптических весов в многослойной сети с сигмоидальными передаточными функциями:
где n- размерность входного сигнала,
m -размерность выходного сигнала,
N -число элементов обучающей выборки.
Логарифм числа по любому основанию определяется из:
После оценки необходимого числа весов рассчитывается число нейронов в скрытых слоях по одной из следующих формул для двухслойной сети:
;
;
Процесс функционирования нейронной сети, т.е. действия, которые она способна выполнять, зависит от величин синоптических связей. Поэтому, задавшись определенной структурой сети необходимо найти оптимальные значения всех переменных весовых коэффициентов. Этот этап называется обучением нейронной сети.
В процессе функционирования нейронная сеть формирует выходной сигнал Y в соответствии с входным сигналом X, реализуя некоторую функцию Y = r(X).
Если архитектура сети задана, то вид функции r определяется значениями синаптических весов и смещений сети. Обозначим через R множество всех возможных функций r, соответствующих заданной архитектуре сети.
Пусть решение задачи есть функция Y = f(X), заданная парами входных - выходных значений (Xk,Yk), для которых Yk = f(Xk), k = 1…N. E - функция ошибки, показывающая для каждой из функции f степени близости к функции r.
Решить поставленную задачу с помощью нейронной сети заданной архитектуры - это значит синтезировать функцию , подобрав компоненты нейронов (синоптические веся и смещения) таким образом, чтобы функционал качества обращался в оптимум для всех пар (Xk,Yk).
Таким образом, задача обучения нейронной сети определяется совокупностью пяти компонентов <X,Y,r,R,E>. Обучение состоит в поиске функции r, оптимальной по E. [3]
Рассмотрим задачу, позволяющую на основании определенных данных спрогнозировать выбор токарного станка.
Задача решается в следующей последовательности:
1Производится анализ задачи. В результате анализа выявлены основные факторы, влияющие на выбор токарных станков. Это:
- Диаметр над суппортом;
- Диаметр над станиной;
- Длина изделия.
2. В соответствии с отобранными показателями и выходной величиной составляется таблица.
Таблица 1
Таблица данных для анализа
Таблица 2
Таблица расшифровки показателей
№ п/п |
Диаметр над суппортом |
Диаметр над станиной |
Длина изделия |
Токарный станок |
|
1 |
До 900 мм |
До 1250 мм |
До 6000 мм |
1М660.03 |
|
2 |
До 1200 мм |
До 1600 мм |
До 8000 мм |
1К665ФЗх8000 |
|
3 |
До 1400 мм |
До 2000 мм |
До 10000 мм |
1К670Ф3 |
3. По вышеприведенным зависимостям определяется топология сети.
4. После создания нейросети выбранной топологии проводится ее обучение и оптимизация.
нейронный сеть токарный станок
2. Разработка нейронной сети для прогнозирования выбора Токарных станков
2.1 Выбор типа нейронной сети
Для решения данной задачи выбираем сеть - многослойный персептрон.
Многослойными персептронами называют нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении, от слоя к слою. Многослойный персептрон в общем представлении состоит из следующих элементов:
1. множества входных узлов, которые образуют входной слой;
2. одного или нескольких скрытых слоев вычислительных нейронов;
3. одного выходного слоя нейронов.
Многослойный персептрон представляет собой обобщение однослойного персептрона Розенблатта. Примером многослойного персептрона является следующая модель нейронной сети:
Рисунок 1 - Пример двухслойного персептрона
Количество входных и выходных элементов в многослойном персептроне определяется условиями задачи. Сомнения могут возникнуть в отношении того, какие входные значения использовать, а какие нет. Вопрос о том, сколько использовать промежуточных слоев и элементов в них, пока совершенно неясен. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нем положить равным полусумме числа входных и выходных элементов. Многослойные персептроны успешно применяются для решения разнообразных сложных задач и имеют следующих три отличительных признака.
Свойство 1. Каждый нейрон сети имеет нелинейную функцию активации
Важно подчеркнуть, что такая нелинейная функция должна быть гладкой (т.е. всюду дифференцируемой), в отличие от жесткой пороговой функции, используемой в персептроне Розенблатта. Самой популярной формой функции, удовлетворяющей этому требованию, является сигмоидальная. Примером сигмоидальной функции может служить логистическая функция, задаваемая следующим выражением:
где - параметр наклона сигмоидальной функции. Изменяя этот параметр, можно построить функции с различной крутизной.
Рисунок 2 - Сигмоидальная функция
Наличие нелинейности играет очень важную роль, так как в противном случае отображение «вход-выход» сети можно свести к обычному однослойному персептрону.
Свойство 2. Несколько скрытых слоев
Многослойный персептрон содержит один или несколько слоев скрытых нейронов, не являющихся частью входа или выхода сети. Эти нейроны позволяют сети обучаться решению сложных задач, последовательно извлекая наиболее важные признаки из входного образа.
Свойство 3. Высокая связность
Многослойный персептрон обладает высокой степенью связности, реализуемой посредством синаптических соединений. Изменение уровня связности сети требует изменения множества синаптических соединений или их весовых коэффициентов.
Комбинация всех этих свойств наряду со способностью к обучению на собственном опыте обеспечивает вычислительную мощность многослойного персептрона. Однако эти же качества являются причиной неполноты современных знаний о поведении такого рода сетей: распределенная форма нелинейности и высокая связность сети существенно усложняют теоретический анализ многослойного персептрона. [4]
В нейросети содержатся слои с нейронами:
- выходные - осуществляют взвешенное суммирование входных сигналов и вычисление функции активации.
Нейроны связаны друг с другом через аттрибуты:
нейроны предыдущего слоя
нейроны следующего слоя
2.2 Выбор алгоритма обучения
Нейронные сети относятся к классу аппроксиматоров и «черных ящиков», аппроксимирующих некоторые функции вида
Y = F(X),
где Y - вектор выходных переменных,
Х - вектор входных процессов аппроксимации заключается в подборе весовых коэффициентов wij и называется обучением НС.
То есть НС может функционировать в двух режимах.
1. Эксплуатации, когда на вход подаются сигналы, а на выходе снимаются результаты вычислений.
2. Обучения, когда происходит корректировка весов таким образом, чтобы выходные сигналы наиболее точно соответствовали желаемым.
От качества обучения НС зависит точность ее работы в режиме эксплуатации. Структура процесса обучения представлена на рисунке 3, где обозначены:
Yжел - желаемые значения выходных сигналов,
Е - ошибка обучения (Е = Yжел- Y),
К - корректирующие воздействия (обычно изменения весов wij).
Размещено на http://www.allbest.ru/
Рисунок 3 - Процесс обучения нейронной сети
Для обучения НС составляется обучающая выборка входных сигналов и соответствующих им выходных. Выборка может быть разделена на две части: рабочую выборку (на основе которой производится собственно обучение) и тестирующую выборку (для проверки качества обучения).
Весам синапсов не обученной НС изначально присваиваются произвольные значения. Далее на вход НС подается первый вектор Х из рабочей выборки, определяется вектор Y и ошибка обучения Е. Исходя из значений вектора Е, корректируются веса синапсов. Затем подается следующий вектор Х из выборки и т.д. Циклы обучения повторяются многократно, пока качество обучения не станет удовлетворительным (это можно проверить по тестирующей выборке).
Существует несколько методов обучения, которые можно классифицировать по способам использования учителя:
1. обучение с учителем (коррекция весов производится исходя из сравнения текущего и желаемого выходных векторов);
2. обучение с последовательным подкреплением знаний (сети не даются желаемые значения выходов, а ставится оценка «хорошо» или «плохо»);
3. обучение без учителя (сеть сама вырабатывает правила обучения путем выделения особенностей из набора входных данных).
По использованию элементов случайности методы обучения подразделяются на:
4. детерминистские (коррекция на основе анализа входных и выходных сигналов, а также дополнительной информации, например, желаемых выходов);
5. стохастические (случайное изменение весов в ходе обучения - Больцмановское обучение).
Выбираем для обучения метод обучения с учителем - метод обратного распространения ошибки. Для обучения обычно используется НС с функциями активации сигмоидного типа. Целью обучения по правилу обратного распространения является минимизация ошибки обучения, которая определяется как
Для уменьшения ошибки веса изменяются по правилу
,
где - константа, характеризующая скорость обучения. Данная формула описывает процесс градиентного спуска в пространстве весов.
Алгоритм обратного распространением состоит из следующих шагов.
Шаг 1. На вход НС подается вектор Х из обучающей выборки и вычисляются выходы всех нейронов Yij.
Шаг 2. Определяется величина градиента ошибки EI для каждого нейрона выходного слоя:
,
где Yj - выход j-го нейрона выходного слоя.
Шаг 3. Двигаясь от последнего слоя к первому определяются градиенты EIij для каждого j-го нейрона каждого i-го слоя:
,
где k - номер синапса, соединяющего нейрон Нijc нейроном Нi+1следующего слоя.
Шаг 4. Коррекция весов синапсов:
Коррекция весов для входного слоя не производится.
Шаг 5. Если обучающая выборка не закончилась, то шаги 1-5 повторяются.
Шаг 6. Определяется величина ошибки Е. Если она не удовлетворительна, то шаги 1 - 6 повторяются.
Из описанного алгоритма видно, что процесс обучения НС включает два вложенных цикла обучения: внутренний цикл (шаги 1-5) повторяется соответственно количеству примеров из обучающей выборки, внешний (шаги 1-6) - до тех пор, пока не будет достигнуто удовлетворительное (с точки зрения ошибки Е) качество обучения.
После успешного обучения НС может быть протестирована на тестовой выборке. Если ошибка обучения на каждом примере из тестовой выборки удовлетворительна, то НС можно считать обученной и приступать к ее эксплуатации.
Пример одного цикла обучения НС. В качестве примера можно взять обучающую выборку:
Таблица 3
Обучающая выборка
X1 |
X2 |
Y |
|
1 |
0 |
2 |
|
2 |
1 |
6 |
|
4 |
2 |
16 |
Здесь х1 и х2 - входные параметры НС, у - желаемый выходной параметр.
Поскольку у аппроксимируемой функции два входных параметра и один выходной, то выбирается НС с двумя нейронами во входном слое и одним в выходном. Количество нейронов скрытого слоя примем равным двум. То есть формируется сеть вида 2-2-1 (см. рисунок 4).
Размещено на http://www.allbest.ru/
Рисунок 4 - Пример нейронной сети (2-2-1)
В качестве функции активации выбирается сигмоидная функция с коэффициентом = 1. Начальные значения весов синаптических связей принимаются равными 0,5:
w211 = w221 = w212 = w222 = w311 = w312 = 0,5.
Поскольку исходные значения х1, х2 и у не лежат в пределах [0, 1], их необходимо пронормировать, поделив, например, х1 на 4, х2 на 2, а у на 16. В результате получена нормированная выборка:
Таблица 3
Нормированная выборка
X1 |
X2 |
Y |
|
0,25 |
0 |
0,125 |
|
0,5 |
0,5 |
0,375 |
|
1 |
1 |
1 |
Скорость обучения принимается равной = 0,2.
После подготовки можно приступать к обучению.
Шаг 1. На входы НС подается первый вектор входных параметров: х1 = 0,25 и х2 = 0. При этом Ужел= 0,125.
Выходы нейронов входного слоя: Y11 = 0,25, Y12 = 0.
Для скрытого слоя:
U21 = w211*Y11 + w212*Y12 = 0,5*0,25 + 0,5*0 = 0,125;
U22 = w221*Y11 + w222*Y12 = 0,5*0,25 + 0,5*0 = 0,125;
Y21 = 1 / (1 + exp(-*U21)) = 1 / (1 + exp(-0,125)) = 0,5312;
Y22 = 1 / (1 + exp(-*U22)) = 1 / (1 + exp(-0,125)) = 0,5312.
Для выходного слоя:
U31 = w311*Y21 + w312*Y22 = 0,5*0б5312 + 0,5*0б5312 = 0,5312;
Y31 = 1 / (1 + exp(-*U31)) = 1 / (1 + exp(-0,5312)) = 0,6298.
Шаг 2. Величина градиента для выходного нейрона:
EI31 = (Y31-Ужел)*Y31*(1 - Y31) = (0,6298 - 0,125)*0,6298*(1 - 0,6298) =
0,1177.
Шаг 3. Величины градиентов для скрытого слоя:
EI21 = Y21*(1 - Y21)*[EI31*w311] = 0,5312*(1 - 0,5312)*0,1177*0,5 =
0,01466,
EI22 = Y22*(1 - Y22)*[EI31*w312] = 0,5312*(1 - 0,5312)*0,1177*0,5 =
0,01466.
Шаг 4. Коррекция весов синапсов:
w211 = w211 - *Y11*EI21 = 0,5 - 0,2*0,25*0,01466 = 0,4993,
w221 = w221 - *Y11*EI22 = 0,5 - 0,2*0,25*0,01466 = 0,4993,
w212 = w212 - *Y12*EI21 = 0,5 - 0,2*0*0,01466 = 0,5,
w222 = w222 - *Y12*EI22 = 0,5 - 0,2*0*0,01466 = 0,5,
w311 = w311 - *Y21*EI31 = 0,5 - 0,2*0,5312*0,1177 = 0,4875,
w312 = w312 - *Y22*EI31 = 0,5 - 0,2*0,5312*0,1177 = 0,4875.
Если при полученных весах на вход НС подать тот же вектор входных параметров, то на выходе будет у = 0,6267, что уже ближе к желаемому Ужел = 0,125. То есть данный цикл обучения приблизил ответ НС к желаемому на величину у = 0,6298 - 0,6267 = 0,0031.
Поскольку обучающая выборка не закончилась, то шаги 1-4 повторяются аналогично для следующего вектора входных параметров.[3]
Функция создает учителей для нейронов, обучает сеть, затем удаляет учителей.
2.3 Расчет количества нейронов во внутренних слоях
Оценим количество весов:
m = 1, n =4, N = 20
Рассчитаем количество нейронов в скрытых слоях
Принимаем N=40
2.4 Результат работы нейросети
Создаём сеть
Рисунок 5 - Создание сети
Для обучения сети использовался набор параметров, приведенный в таблице 1. Используем обучение данным из базы данных (Рисунок 6).
Рисунок 6 - Обучение сети
Значимость входов представлена на рисунке 7
Рисунок 7 - Значимость входов
Результат работы программы для трехслойной сети представлен на рисунке 8.
Рисунок 8 - Результат работы программы
Результат работы программы для четырехслойной сети представлен на рисунке 9.
Рисунок 9 - Результат работы программы
Выводы
В рамках данной курсовой работы была программно реализована нейронная сеть типа «многослойный персептрон», была разработана топология нейронной сети для прогнозирования выбора токарных станков. В качестве входных параметров использовались:
- диаметр над суппортом;
- диаметр над станиной;
- длина изделия.
Для обучения использовался метод обратного распространения ошибки.
Список использованных источников
1. Киреева И.Г. Искусственная нейронная сеть, 2009.
2. В.И. Юдин, О.А. Лябик Системы искусственного интеллекта. - Краматорск: ДГМА, 2011.- 108 с.
3. www.AIportal.ru. Портал искусственного интеллекта. [Электронный ресурс]: Многослойный персептрон. - Электрон дан.
Размещено на Allbest.ru
Подобные документы
Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Аппаратные и программные средства, на базе которых возможно построение локальной сети. Локальные и глобальные сети. Одноранговые и многоранговые сети. Топологии объединения группы компьютеров в локальную сеть. Используемые технологии локальных сетей.
курсовая работа [587,7 K], добавлен 12.05.2008Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Обзор программных продуктов для анализа изображений: ABBYY FineReader и OCR CuneiForm. Понятие и виды нейронных сетей. Алгоритм обучения персептрона. Результаты исследований и описание интерфейса программы. Расчет себестоимости программного обеспечения.
дипломная работа [590,7 K], добавлен 17.08.2011