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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.03.2013
Размер файла 5,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

РЕФЕРАТ

Пояснительная записка 80 с., 45 рис., 18 источников.

НЕРАЗРУШАЮЩИЙ КОНТРОЛЬ МАТЕРИАЛОВ, ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ, АЛГОРИТМ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ, ЭЛЕКТРОМАГНИТНЫЕ ИЗМЕРЕНИЯ, ВОЛНОВОД, ЭЛЕКТРОМАГНИТНОЕ ПОЛЕ

Объектом исследования являются однородные диэлектрики с локальными неоднородностями.

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

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

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

Содержание

  • ВВЕДЕНИЕ
  • 1. Неразрушающий контроль. Реконструкция параметров неоднородностей в материале
    • 1.1 Описание предметной области
      • 1.1.1 Введение в предметную область
      • 1.1.2 Общие представления о системе
      • 1.1.3 Практическое применение
    • 1.2 Задача неразрушающего контроля
    • 1.3 Искусственные нейронные сети
      • 1.3.1 Общие понятия. Биологический нейрон
      • 1.3.2 Математическая модель нейронной сети. Виды нейронных сетей
    • 1.4 Обоснование выбора метода
  • 2. Программное обеспечение для определения параметров неоднородности в материале
    • 2.1 Постановка задачи
    • 2.2 Анализ существующих решений. Выбор программной платформы
    • 2.3 Описание объектной модели
      • 2.3.1 Общая структура приложения
      • 2.3.2 Описание структуры модулей расширения
    • 2.4 Основные алгоритмы и оптимизации
      • 2.4.1 Сигмоидальный нейрон. Концепция управления потоками
      • 2.4.2 Улучшение сходимости и ускорение обучения нейронной сети
      • 2.4.3 Радиальные нейронные сети. Распараллеливание вычислений
    • 2.5 Основные виды отчетов и графиков
  • 3. Результаты работы программы
    • 3.1 Эксперименты с персептроном и выбор оптимальных коэффициентов
    • 3.2 Сравнение результатов работы РБФ и Персептрона
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • Приложение 1. Руководство пользователя

ВВЕДЕНИЕ

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

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

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

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

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

1 . Неразрушающий контроль. Реконструкция параметров неоднородностей в материале

1.1 Описание предметной области

1.1.1 Введение в предметную область

Задача неразрушающего контроля имеет важное прикладное значение при разработке технологий получения новых материалов с нано-структурой [1]. Задача заключается в определении внутренней структуры материалов по результатам измерений в резонаторной или волноводной системе, и относится к классу обратных задач электродинамики.

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

1.1.2 Общие представления о системе

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

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

неразрушающий контроль нейронный персептрон

Рисунок 1 - Волноводная система

Цель неразрушающего контроля состоит в определении параметров неоднородности. Параметрами неоднородности являются: положения этой неоднородности в образце, координаты x, y, z, а так же размер самой неоднородности, т.е. ее радиус r. Данные параметры восстанавливаются по результатам СВЧ измерений. В качестве измеряемых параметров выступает матрица рассеяния или S-параметры. Матрица рассеяния - матрица, элементы которой описывают физические параметры рассеяния. В технике СВЧ матрица рассеяния связывает линейной зависимостью падающую и отражённую волны на входах многополюсника. В отличие от матриц сопротивлений (проводимостей), а также матриц передачи, матрица рассеяния определена для всех устройств СВЧ. Кроме того, с инженерной точки зрения процесс измерения S-параметров возможен для любых устройств СВЧ, так как он сводится к измерению параметров падающей и отражённой волны на входах устройства.

Так как S-параметры в такой системе чувствительны к профилю диэлектрической проницаемости образца только в направлении распространения электромагнитной волны (вдоль оси ОХ), а образец и неоднородность трехмерны, то для получения полной информации необходимо измерять S-параметры для трех положений образца, повернутых друг относительно друга на 90 градусов. Так же можно применять волновод более сложной формы, но так как используется упрощенная модель, то остановимся на первом способе измерения параметров [2].

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

Решение данной задачи имеет большой прикладное значение. На текущий момент, СВЧ печи применяются во многих технологических процессах и часто при этом необходим контроль качества. Рассмотрим некоторые из сфер применения метода:

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

· Разморозка материалов. При разморозке материалов, а чаще всего это продукты питания, например, мороженое мясо или рыба, применяют СВЧ печи. Вследствие неоднородности таких материалов, прогрев идет не равномерно и возможен перегрев отдельных участков, т.е. порча материала. Для борьбы с этим явлением СВЧ излучение делают маломощным и не продолжительным, соответственно возможно, либо перегреть и испортить некоторые участки материала или не до конца разморозить материал и продолжить разморозку вне СВЧ печи. Если же иметь возможность мониторинга неоднородностей, то таких проблем можно избежать.

· Cушка материалов. Задача аналогична предыдущей.

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

1.2 Задача неразрушающего контроля

Указанная задача относится к классу обратных задач, представляющих повышенную сложность при их решении.

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

Мы хотим определить причины, если известны полученные в результате экспериментов или наблюдений следствия. С точки зрения соотношения «причина-следствие» все задачи математического моделирования можно условно разделить на два больших класса: прямые задачи (известны причины, необходимо найти следствия) и обратные (известны следствия, нужно найти причины). К прямым задачам относятся, например, задачи расчета механических, тепловых, электромагнитных полей для тел, свойства которых и конфигурация известны. Эти задачи к настоящему времени достаточно хорошо изучены и составляют сущность одного из важнейших разделов современной математики - уравнений математической физики или уравнений в частных производных. Первые работы в этой области были написаны более 200 лет назад, и с тех пор накоплено немало результатов, позволяющих, например, исследовать свойства решений, не решая самих уравнений, исследовать вопросы существования и единственности решений, сходимости различных приближенных методов.

Обратные задачи обладают рядом неприятных с математической точки зрения особенностей:

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

во-вторых, решения обратных задач обычно не единственны. Для обеспечения единственности часто необходимо требовать избыточности экспериментальной информации [4].

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

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

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

1.3 Искусственные нейронные сети

1.3.1 Общие понятия. Биологический нейрон

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

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

Как и у любой другой клетки, у нейрона имеется тело со стандартным набором органелл, называемое сомой, внутри которого располагается ядро. Из сомы нейрона выходят многочисленные отростки, играющие ключевую роль в его взаимодействии с другими нервными клетками. Можно выделить два типа отростков: многочисленные тонкие, густо ветвящиеся дендриты и более толстый, расщепляющийся на конце аксон (рисунок 2).

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

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

Рисунок 2 - Схема биологического нейрона

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

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

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

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

Рисунок 3 - Типичная форма нервного импульса

Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов. Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей.

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

Нейроны взаимодействуют посредством короткой серии импульсов, как правило, продолжительностью несколько миллисекунд. Сообщение передается посредством частотно-импульсной модуляции. Частота может изменяться от нескольких единиц до сотен герц, что в миллион раз медленнее, чем самые быстродействующие переключательные электронные схемы. Тем не менее, сложные решения по восприятию информации, как, например, распознавание лица, человек принимает за несколько сотен мс. Эти решения контролируются сетью нейронов, которые имеют скорость выполнения операций всего несколько мс. Это означает, что вычисления требуют не более 100 последовательных стадий. Другими словами, для таких сложных задач мозг "запускает" параллельные программы, содержащие около 100 шагов. Это известно, как правило ста шагов [5]. Рассуждая аналогичным образом, можно обнаружить, что количество информации, посылаемое от одного нейрона другому, должно быть очень маленьким (несколько бит). Отсюда следует, что основная информация не передается непосредственно, а захватывается и распределяется в связях между нейронами. Этим объясняется такое название, как коннекционистская модель, применяемое к ИНС.

1.3.2 Математическая модель нейронной сети. Виды нейронных сетей

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

При обучении с учителем предполагается, что, помимо входных сигналов, составляющих вектор x, известны также и ожидаемые выходные сигналы нейрона di, составляющие вектор d (от англ. destination). В подобной ситуации подбор весовых коэффициентов должен быть организован так, чтобы фактические выходные сигналы нейрона yi принимали бы значения, как можно более близкие к ожидаемым значениями di. Ключевым элементом процесса обучения с учителем является знание ожидаемых значений di выходного сигнала нейрона.

Если такой подход невозможен, остается выбрать стратегию обучения без учителя. Подбор весовых коэффициентов в этом случае проводится на основании либо конкуренции нейронов между собой (стратегии «Winner Takes All - WTA» (Победитель получает все) или «Winner Takes Most - WTM» (Победитель получает больше), либо с учетом корреляции обучающих и выходных сигналов (обучение по Хеббу)). При обучении без учителя на этапе адаптации нейрона мы не можем прогнозировать его выходные сигналы, тогда как при обучении с учителем результат обучения предопределен заранее благодаря априори заданным обучающим выборкам [6].

Из приведенных выше рассуждений следует, что каждый нейрон можно считать своеобразным процессором: он суммирует с соответствующими весами сигналы, приходящие от других нейронов, выполняет нелинейную (например, пороговую) решающую функцию и передает результирующее значение связанным с ним нейронам. В соответствии с действующим правилом "все или ничего" в простейших моделях нейронов выходной сигнал принимает двоичные значения: 0 или 1. Значение 1 соответствует превышению порога возбуждения нейрона, а значение 0 - возбуждению ниже порогового уровня.

В одной из первых моделей нейрона, называемой моделью МакКаллока-Питса (предложенной в 1943 г.), нейрон считается бинарным элементом [7]. Структурная схема этой модели представлена на рисунке 4. Входные сигналы xj (j = 1, 2, , …, N) суммируются с учетом соответствующих весов wij (сигнал поступает в направлении от узла i к узлу j) в сумматоре, после чего результат сравнивается с пороговым значением wi0. Выходной сигнал нейрона уi определяется при этом зависимостью

. (1)

Рисунок 4 - Модель МакКаллока-Питса

Персептрон. Простой персептрон - это обычная модель МакКаллока-Питса с соответствующей стратегией обучения [8]. Структурная схема и обозначения элементов i-го персептрона представлены на рисунке 4. Весовые коэффициенты входов сумматора, на которые поступают входные сигналы xj, обозначаются wij, а пороговое значение, поступающее с так называемого поляризатора, - wi0. Нелинейная функция активации персептрона представляет собой дискретную функцию ступенчатого типа, вследствие чего выходной сигнал нейрона может принимать только два значения - 0 или 1 в соответствии с правилом:

для , (2)

для , где ui обозначен выходной сигнал сумматора

(3)

В приведенной формуле подразумевается, что имеющий длину N вектор x дополнен нулевым членом x0 = 1, формирующим сигнал поляризации, x = [x0, x1, …, xN]. Обучение персептрона требует наличия учителя и состоит в таком подборе весов wij, чтобы выходной сигнал yi был наиболее близок к заданному значению di. Это обучение гетероассоциативного типа, при котором каждой обучающей выборке, представляемой вектором x, априори поставлено в соответствие ожидаемое значение di на выходе i-го нейрона.

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

- при первоначально выбранных (как правило, случайным образом) значениях весов wij на вход нейрона подеется обучающий вектор x и рассчитывается значение выходного сигнала yi. По результатам сравнения фактически полученного значения yi с заданным значением di уточняются значения весов;

- если значение yi совпадает с ожидаемым значением di, то весовые коэффициенты wij не изменяются;

- если yi = 0, а соответствующее заданное значение di = 1, то значения весов уточняются в соответствии с формулой wij(t+1) = wij(t) + xj, где t обозначает номер предыдущего цикла, а (t+1) - номер текущего ц икла;

- если yi = 1, а соответствующее заданное значение di = 0, то значения весов уточняются в соответствии с формулой wij(t+1) = wij(t) - xj, где t обозначает номер предыдущего цикла, а (t+1) - номер текущего цикла.

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

Следует отметить, что правило персептрона представляет собой частный случай предложенного гораздо позже правила Видроу-Хоффа [10]. В соответствии с этим правилом подбор весовых коэффициентов нейрона (необязательно персептронного типа) проводится по формулам:

(4)

. (5)

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

. (6)

Легко заметить, что если сигналы yi и di принимают только двоичные значения 0 и 1, то правило Видроу-Хоффа превращается в правило персептрона.

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

, (7)

где p означает количество предъявляемых обучающих выборок. Такая минимизация при использовании правила персептрона производится по методу безградиентной оптимизации. Эффективность метода при большом количестве обучающих выборок относительно невелика, а количество циклов обучения и его длительность возрастают очень быстро, причем без всякой гарантии достижения минимума целевой функции. Устранить эти недостатки можно только в случае применения непрерывной функции активации, при которой целевая функция Е также становится непрерывной, что дает возможность использовать в процессе обучения информацию о величине градиента [9].

Сигмоидальный нейрон.

Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции [11]. Униполярная функция, как правило, представляется формулой

(8)

тогда как биполярная функция задается в виде:

(9)

Рисунок 5 - Модель сигмоидального нейрона

В этих формулах параметр в подбирается пользователем. Его значение влияет на форму функции активации. На рисунке 6 представлены графики сигмоидальной функции от переменной х для различных значений в, причем на рисунке 6 показана униполярная, а на рисунке 7 - биполярная функция. Графики обеих функций сильно зависят от значения в. При малых величинах в график функции достаточно пологий, но по мере роста значения в крутизна графика увеличивается. При в>? сигмоидальная функция превращается в функцию ступенчатого типа, идентичную функции активации персептрона. На практике чаще всего для упрощения используется значение в = 1.

Рисунок 6 - График униполярной сигмоидальной функции

Рисунок 7 - График биполярной сигмоидальной функции при различных значениях коэффициента в

Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем:

(9)

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

. (10)

И в первом, и во втором случае график изменения производной относительно переменной х имеет колоколообразную форму, а его максимум соответствует значению х = 0 (рисунок 8).

Рисунок 8 - График производной от сигмоидальной функции при различных значениях коэффициента в

Сигмоидальный нейрон, как правило, обучается с учителем по принципу минимизации целевой функции, которая для единичного обучающего кортежа <x,d> i-го нейрона определяется в виде

(11)

где . (12)

Функция f(ui) является сигмоидальной, x - это входной вектор, x=[x0, x1, …, xN]T со значением х0 = 1 при наличии поляризации и х0 = 0 при ее отсутствии, а di - соответствующее ему ожидаемое значение на выходе i-го нейрона. Применение непрерывной функции активации позволяет использовать при обучении градиентные методы. Проще всего реализовать метод наискорейшего спуска, в соответствии с которым уточнение вектора весов w = [w10, w11, …, wiN]T проводится в направлении отрицательного градиента целевой функции.

Если эта функция определена выражением (11), j-я составляющая градиента имеет вид:

, (13)

где ei = (yi - di) означает разницу между фактическим и ожидаемым значением выходного сигнала нейрона. Если ввести обозначение то можно получить выражение, определяющее j-ю составляющую градиента в виде

(14)

Значения весовых коэффициентов также могут уточняться дискретным способом:

(15)

где - это коэффициент обучения, значение которого, как правило, выбирают либо эмпирически из интервала (0,1), либо решением разностного уравнения

(16)

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

Радиальные нейронные сети.

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

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

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

Сети радиального типа представляют собой естественное дополнение сигмоидальных сетей. Сигмоидальный нейрон представляется в многомерном пространстве гиперплоскостью, которая разделяет это пространство на две категории (два класса), в которых выполняется одно из двух условий: либо либо Такой подход продемонстрирован на рисунке 9. В свою очередь радиальный нейрон представляет собой гиперсферу, которая осуществляет шаровое разделение пространства вокруг центральной точки (рисунок 9). Именно с этой точки зрения он _вляяется естественным дополнением сигмоидального нейрона, поскольку в случае круговой симметрии данных позволяет заметно уменьшить количество нейронов, необходимых для разделения различных классов.

Рисунок 9 - Иллюстрация способов разделения пространства данных:

а) сигмоидальным нейроном; б) радиальным нейроном

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

Математические основы

Математическую основу функционирования радиальных сетей составляет теорема Т. Ковера [13] о распознаваемости образов, в соответствии с которой нелинейные проекции образов в некоторое многомерное пространство могут быть линейно разделены с большей вероятностью, чем при их проекции в пространство с меньшей размерностью.

Если вектор радиальных функций ц(х)= [ц1(х), ц2(х),…, цК(х)]Т в N-мерном входном пространстве обозначить ц(х), то это пространство является нелинейно ц-разделяемым на два пространственных класса Х+ и Х ? тогда, когда существует такой вектор весов w, что

wT ц(х)>0 x Х+, (17)

wT ц(х)<0 x Х ?. (18)

Граница между этими классами определяется уравнением wT ц(х)=0. В [13] доказано, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является ц--разделяемым с вероятностью 1 при условии соответственно большой размерности К этого пространства. На практике это означает, что применение достаточно большого количества скрытых нейронов, реализующих радиальные функции ц(х), гарантирует решение задачи классификации при построении всего лишь двухслойной сети: скрытый слой должен реализовать вектор ц(х), а выходной слой может состоять из единственного линейного нейрона, выполняющего суммирование выходных сигналов от скрытых нейронов с весовыми коэффициентами, заданными вектором w.

Простейшая нейронная сеть радиального типа функционирует по принципу многомерной интерполяции, состоящей в отображении p различных входных векторов xi (I = 1, 2, …, p) из входного N-мерного пространства во множество из p рациональных чисел di (I = 1, 2, …, p). Для реализации этого процесса необходимо использовать р скрытых нейронов радиального типа и задать такую функцию отображения F(x), для которой выполняется условие интерполяции

F(x)= di. (19)

Использование р скрытых нейронов, соединяемых связями с весами wi с выходными линейными нейронами, означает формирование выходных сигналов сети путем суммирования взвешенных значений соответствующих базисных функций. Рассмотрим радиальную сеть с одним выходом и р обучающими парами <xi,di>. Примем, что координаты каждого из р центров узлов сети определяются одним из векторов xi, т.е. ci = xi. В этом случае взаимосвязь между входными и выходными сигналами сети может быть определена системой уравнений, линейных относительно весов wi, которая в матричной форме имеет вид:

, (20)

где цji = (¦хj - xi¦) определяет радиальную функцию с центром в точке xi с вынужденным вектором хj. Если обозначить матрицу из элементов цji как Ф и ввести обозначения векторов w = [w1, w2, …, wp]T, d = [d1, d2, …, dp]T, система уравнений (20) может быть представлена в редуцированной матричной форме:

Фw = d. (21)

В доказано, что для ряда радиальных функций в случае х12?…?хр квадратная интерполяционная матрица Ф является несобственной и при этом неотрицательно определенной. Поэтому существует решение уравнения (21) в виде

w = Ф-1d, (22)

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

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

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

Генетические алгоритмы

Еще одним способом обучения ИНС сети являются генетические алгоритмы. Генетические Алгоритмы - адаптивные методы поиска, которые в последнее время часто используются для решения задач функциональной оптимизации. Они основаны на генетических процессах биологических организмов: биологические популяции развиваются в течении нескольких поколений, подчиняясь законам естественного отбора и по принципу "выживает наиболее приспособленный" (survival of the fittest), открытому Чарльзом Дарвином. Подражая этому процессу генетические алгоритмы способны "развивать" решения реальных задач, если те соответствующим образом закодированы. ГА работают с совокупностью "особей" - популяцией, каждая из которых представляет возможное решение данной проблемы. Каждая особь оценивается мерой ее "приспособленности" согласно тому, насколько "хорошо" соответствующее ей решение задачи. В природе это эквивалентно оценке того, насколько эффективен организм при конкуренции за ресурсы. Наиболее приспособленные особи получают возможность "воспроизводить" потомство с помощью "перекрестного скрещивания" с другими особями популяции. Это приводит к появлению новых особей, которые сочетают в себе некоторые характеристики, наследуемые ими от родителей. Наименее приспособленные особи с меньшей вероятностью смогут воспроизвести потомков, так что те свойства, которыми они обладали, будут постепенно исчезать из популяции в процессе эволюции. Иногда происходят мутации, или спонтанные изменения в генах.

Таким образом, из поколения в поколение, хорошие характеристики распространяются по всей популяции. Скрещивание наиболее приспособленных особей приводит к тому, что исследуются наиболее перспективные участки пространства поиска. В конечном итоге популяция будет сходиться к оптимальному решению задачи. Преимущество ГА состоит в том, что он находит приблизительные оптимальные решения за относительно короткое время. [14]

ГА состоит из следующих компонент:

· хромосома. Решение рассматриваемой проблемы. Состоит из генов;

· начальная популяция хромосом;

· набор операторов для генерации новых решений из предыдущей популяции;

· целевая функция для оценки приспособленности (fitness) решений.

Операторы ГА

Стандартные операторы для всех типов генетических алгоритмов это: селекция, скрещивание и мутация.

Селекция

Оператор селекции (reproduction, selection) осуществляет отбор хромосом в соответствии со значениями их функции приспособленности. Существуют как минимум два популярных типа оператора селекции: рулетка и турнир.

Метод рулетки (roulette-wheel selection) - отбирает особей с помощью n "запусков" рулетки. Колесо рулетки содержит по одному сектору для каждого члена популяции.

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

Рисунок 10 - Оператор селекции типа колеса рулетки с пропорциональными функции приспособленности секторами

Турнирный отбор (tournament selection) реализует n турниров, чтобы выбрать n особей. Каждый турнир построен на выборке k элементов из популяции, и выбора лучшей особи среди них. Наиболее распространен турнирный отбор с k=2.

Скрещивание

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

Рисунок 11 - Одноточечный оператор скрещивания (точка разрыва равна трем)

Мутация

Мутация (mutation) - стохастическое изменение части хромосом. Строке, которая подвергается мутации, каждый бит с вероятностью Pmut (обычно очень маленькой) меняется на другой.

Рисунок 12 - Оператор мутации (четвертый ген мутировал)

Алгоритм работы ГА

Работа ГА представляет собой итерационный процесс, который продолжается до тех пор, пока не выполнятся заданное число поколений или какой-либо иной критерий останова. На каждом поколении ГА реализуется отбор пропорционально приспособленности, кроссовер и мутация.

Алгоритм работы простого ГА выглядит следующим образом:

Рисунок 13 - Алгоритм работы классического ГА

1.4 Обоснование выбора метода

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

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

2.1 Постановка задачи

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

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

Исходя из выше изложенного, выделим основные свойства ПО:

1. Простота загрузки и манипуляции с данными.

2. Простая возможность расширения функциональности ПО, возможность добавление новых видов ИНС.

3. Наглядная демонстрация результатов обучения.

Программное обеспечение написано на языке C# .Net из пакета Microsoft Visual Studio 2008.

2.2 Анализ существующих решений. Выбор программной платформы

Для решения подобной задачи не существует специализированного программного обеспечения. Возможно применение таких универсальных средств, как MatLab, NeuroShell 2. Но подобные программы обладают большой сложностью в освоении для пользователя и в стандартной поставке не обладают достаточной гибкостью для экспериментов. В результате чего приходится производить свои разработки на данных платформах, что в конечном итоге очень неудобно. Так как исследователям приходится вначале покупать ПО, а потом дописывать недостающие модули. Т.е. по сути приобретается среда для разработки, а не конечный продукт.

В качестве платформы для разрабатываемого приложения была выбрана .NET 2.0 и язык C#.

Язык С# -- это очередная ступень бесконечной эволюции языков программирования. Его создание вызвано процессом усовершенствования и адаптации, который определял разработку компьютерных языков в течение последних лет. Подобно всем другим наиболее известным языкам, С# опирается на прошлые достижения постоянно развивающегося искусства программирования.

В языке С# (созданном компанией Microsoft для поддержки среды .NET Framework) проверенные временем средства усовершенствованы с помощью самых современных технологий. С# предоставляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet-компоненты и пр.

Несмотря на то что С# -- самодостаточный компьютерный язык, но он тесно связан со средой .NET Framework. И на это есть две причины. Во-первых, С# изначально разработан компанией Microsoft для создания кода, выполняющегося в среде .NET Framework. Во-вторых, в этой среде определены библиотеки, используемые языком С#.

Оболочка .NET Framework определяет среду для разработки и выполнения сильно распределенных приложений, основанных на использовании компонентных объектов.

Она позволяет "мирно сосуществовать" различным языкам программирования и обеспечивает безопасность, переносимость программ и общую модель программирования для платформы Windows. Что особенно актуально для решения нашей задачи, т.к. позволяет разрабатывать отдельные модули программы на любом языке входящим в поставку .NET. Важно при этом понимать, что .NET Framework по своему существу не ограничена применением в Windows, т.е. программы, написанные для нее, можно затем переносить в среды, отличные от Windows. Особенно это актуально с развитием платформы MONO, которая позволяет запускать приложения на UNIX системах.

Связь среды .NET Framework с С# обусловлена наличием двух очень важных средств. Одно из них, Common Language Runtime (CLR), представляет собой систему, которая управляет выполнением пользовательских программ. CLR - это составная часть .NET Framework, которая делает программы переносимыми, поддерживает многоязыковое программирование и обеспечивает безопасность.


Подобные документы

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

    контрольная работа [22,9 K], добавлен 10.06.2010

  • Разработка программного обеспечения, которое позволит автоматизировать работу менеджера с клиентами и поставщиками. Определение требований, тестирование, описание программы. Руководство системного программиста. Создание СУБД в DELPHI для менеджера.

    дипломная работа [775,0 K], добавлен 16.06.2014

  • Сетевая система контроля знаний студентов на основе объектно-ориентированного подхода. Выбор программно-технических средств для реализации проекта. Алгоритмическое и программное обеспечение, интерфейс пользователя. Разработка элементов базы данных.

    дипломная работа [1,3 M], добавлен 04.02.2013

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

    курсовая работа [405,4 K], добавлен 08.02.2016

  • Принцип построения и описание прибора. Назначение и область применения спектрометра космических излучений на алмазных детекторах. Аппроксимация степенным многочленом. Математическая модель нейронной сети. Описание интерфейса программного комплекса.

    дипломная работа [591,1 K], добавлен 03.09.2017

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

    курсовая работа [1,7 M], добавлен 06.01.2013

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

    дипломная работа [2,6 M], добавлен 23.09.2013

  • Классификация программного обеспечения, его особенности, назначение. Программное обеспечение для работы с текстом, изображением, прикладное, офисное, для работы в Интернете. Системы программирования, специфика программного обеспечения, что такое вирусы.

    презентация [1,2 M], добавлен 25.02.2010

  • Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.

    курсовая работа [30,4 K], добавлен 29.06.2010

  • Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.

    дипломная работа [1,5 M], добавлен 17.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.